- •Министерство образования и науки российской федерации
- •Проектирование программы с использование метода пошаговой детализации Постановка задачи
- •Внешняя спецификация
- •1) В массиве a есть элементы, удовлетворяющие условию.
- •2) В массиве a нет элементов, удовлетворяющих условию.
- •Алгоритм решения задачи
- •I: цел.
- •Тестовые примеры
- •Отчет о выполнении домашнего задания
- •Варианты задания
Министерство образования и науки российской федерации
Государственное образовательное учреждение высшего профессионального образования
Московский институт электроники и математики
Кафедра “Вычислительные системы и сети”
Домашнее задание
по дисциплине “Программирование на языке высокого уровня”
Составила:
Ст. преподаватель Беликова М.А.
Москва 2009
Содержание
Проектирование программы с использование метода пошаговой детализации 3
Постановка задачи 3
Связь 3
Внешняя спецификация 3
Алгоритм решения задачи 5
Тестовые примеры 7
Отчет о выполнении домашнего задания 7
Варианты задания 8
Целью выполнения домашнего задания является закрепление и углубление знаний, полученных на лекциях, семинарских занятиях и лабораторных работах. Во втором семестре студенты выполняются домашнее задание по теме: “Проектирование программы с использованием метода пошаговой детализации ”.
В ходе выполнении домашнего задания основное внимание должно быть уделено декомпозиции задачи на несколько более простых задач – на подзадачи.
Проектирование программы с использование метода пошаговой детализации Постановка задачи
Дано. Одномерные массивы A и B.
Требуется. Сформировать одномерный массивC, содержащий элементы массива А, присутствующие в массиве В четное число раз. Элементы в массиве С не должны повторяться. Дополнительный массив не использовать
При: 1) Элементы массивов – целые числа.
2) Количество элементов в исходных массивах не более 20 в каждом.
Связь
Присвоим начальные значения переменным:
I( номер элемента в массивеA) - 1;
Nc( номер элемента в массиве С) – 0.
Для каждого элемента массива Aвыполним следующие действия.
Присвоим начальные значения переменным:
J(номер элемента в массивеB) – 1.
Если J<Nb, то перейдем к следующему элементу массиваBувеличив значение переменнойJ:=J+1.
Если J>Nb, то проверим значение переменнойKol. ЕслиKol– четное, тоA[i] является претендентом для занесения в массивC.
Если в массиве Cеще нет элементов, т.еNc=0, то занесем это значение в массивNc:=Nc+1,C[Nc]:=A[i].
Если в массиве Cуже есть элементы, т.е.Nc>0, то проверим, есть ли в нем значения, равныеA[i]. Для этого присвоим переменнойFlagзначение “истина”, а переменнойJ(номер элемента в массивеC) значение -1. Если С[j]=A[i], то переменнаяFlagстановится равной “ложь” и просмотр массиваCзаканчивается. Если С[j]<>A[i] иJ<Nc, то переходим к следующему элементу массиваJ:=J+1.
После завершения просмотра массива Cпроверим условие. ЕслиFlag=“истина” (в массивеCотсутствует значение, равноеA[i]), то заносим это значение в массивNc:=Nc+1,C[Nc]:=A[i].
Если I<Na(гдеNa- количество элементов массиваA), тоI:=I+1, в противном случае выводим результаты работы программы.
Внешняя спецификация
Назначение. Сформировать одномерный массивC, содержащий элементы массива А, присутствующие в массиве В четное число раз. Элементы в массиве С не должны повторяться.
Входные данные.
na – количество элементов массива A (целое).
A1,…Ana – значения элементов массива A (целые).
nb – количество элементов массива A (целое).
B1,…Anb – значения элементов массива A (целые).
Выходные данные.
