SoftCraft
разноликое программирование

Top.Mail.Ru

Яндекс.Метрика

Разработка на языке ассемблера программы для обработки одномерных массивов


Начальная страница курса

Задание для самостоятельной работы

  1. Установить отладчик (OllyDbg) на рабочий компьютер.
      Примечание. По согласованию с преподавателем выполнение самостоятельной работы допускается с использование иных современных архитектур ВС, ОС, а также компиляторов с языка программирования Ассемблер.
  2. В соответствии с вариантом задания разработать программу, осуществляющу обработку одномерных массивов. При создании программы использовать подпрограммы для отдельных подзадач (ввода, вывода массивов, обработки данных).
  3. Выложить программу и скриншоты на Git в качестве отчета о выполненной работе, предоставляемого преподавателю. Сообщить о выполненной работе. Срок выполнения задания: 3 (три) недели с момента выдачи задания на семинаре.
      Примечание. Для второго задания внутри ранее сформированного проекта создать отдельный каталог с названием task02. Размещение данных внутри этого каталога произвольное.
  4. Скриншоты должны продемонстрировать выполнение разработанной программы для различных входных наборов данных, демонстрирующих тестовое покрытие.
  5. В начале разработанной программы необходимо вставить комментарии с номером варианта задания и полным условием задачи.
  6. Оценка за задание снижается при отсутствии подпрограмм, неполном тестовом покрытии (отражается в скриншотах), отсутствии комментария с номером вариант и условием задачи.

Используемые источники информации

  1. Подборка источников информации по отладки программ

Варианты заданий

Разработать программу, которая вводит одномерный массив A[N], формирует из элементов массива A новый массив B по правилам, указанным в таблице, и выводит его. Память под массивы может выделяться как статически, так и динамически по выбору разработчика.

Разбить решение задачи на функции следующим образом:

  1. Ввод и вывод массивов оформить как подпрограммы.
  2. Выполнение задания по варианту оформить как процедуру
  3. Организовать вывод как исходного, так и сформированного массивов

Указанные процедуры могут использовать данные напрямую (имитация процедур без параметров). Имитация работы с параметрами также допустима.

Таблица. Варианты заданий
ВариантМассив B из...
1 положительных элементов A
2 элементов A, значение которых не совпадает с первым и последним элементами A
3 сумм соседних элементов A ({A[0] + A[1], A[1] + A[2], ...}).
4 элементов B[i]=1,1,0,если A[i]>0;если A[i]<0;если A[i]=0
5 элементов A, значение которых не совпадает с введённым числом x
6 элементов A, значение которых кратно введённому числу x
7 индексов положительных элементов A
8 элементов B[i]=A[i]+5,A[i]5,0,если A[i]>5;если A[i]<5;иначе
9 нечётных элементов A
10 элементов A в обратном порядке
11 за исключением первого положительного
12 за исключением последнего отрицательного
13 за исключением элементов, значения которых совпадают с минимальным элементом A
14 с заменой всех отрицательных элементов значением максимального
15 с заменой всех нулевых элементов значением минимального
16 значения которых больше среднего арифметического
17 расположенных после последнего положительного элемента
18 с уменьшением всех элементов до первого положительного на 5
19 с заменой нулевых элементов, предшествующих первому отрицательному, единицей
20 с перестановкой местами минимального и первого элемента

Начальная страница курса