Скачиваний:
20
Добавлен:
30.04.2013
Размер:
103.94 Кб
Скачать

Министерство образования и науки российской федерации

Государственное образовательное учреждение высшего профессионального образования

Московский институт электроники и математики

Кафедра “Вычислительные системы и сети”

Домашнее задание

по дисциплине “Программирование на языке высокого уровня”

Составила:

Ст. преподаватель Беликова М.А.

Москва 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 (целые).

Выходные данные.

Соседние файлы в папке ДЗ1