Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Контрольная работа 1 2 вариант

.doc
Скачиваний:
28
Добавлен:
01.04.2014
Размер:
57.86 Кб
Скачать

БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ

Кафедра программного обеспечения информационных технологий

 

 

 

 

 

 

Факультет НиДО

Специальность ПОИТ

 

 

 

 

 

 

 

Контрольная работа № 1

по дисциплине «Основы алгоритмизации и программирования»

часть 1

Вариант № 2

 

 

 

 

 

Выполнил студент:

группа

Зачетная книжка № 

 

 

 

 

 

 

 

 

Минск 2011

1). Задание

Найти совершенные числа на отрезке [М, N]. (Число называется совершенным, если оно равно сумме своих делителей, включая 1, но не включая самое себя).

2). Схема алгоритма.

На рис. 1, 2, 3 приведены три способа графического представления алгоритма.

I:=M;

I:=I+1

J:=J+1

K:=0; J:=1;

K:=K+J

Нет

Нет

Нет

Нет

Рис. 1. Схема алгоритма по ГОСТ 19. 701-90

Да

Да

Рис. 2. Схема алгоритма, представленная методом Дамке

Ввод отрезка [M,N]

I:=M

I<=N

K:=0; J:=1;

Нет K = I Да

J<=I-1

Нет ImodJ=0 Да

ImodJ=0

K:=K+J

J:=J+1

Вывод K

I:=I+1

Рис. 3. Диаграмма Насси-Шнейдермана

4). Описание схем алгоритмов.

Описание схемы алгоритма. См. рис. 1.

  1. Вводим M и N.

  2. Присваиваем начальное значение параметру внешнего цикла I=M.

  3. Если I<=M, то переходим к пункту 4, иначе завершаем программу.

  4. Присваиваем начальное значение параметрам внутреннего цикла J=1; K=0.

  5. Если I делится J без остатка, то находим сумму K и J.

  6. Увеличиваем параметр внутреннего цикла J на 1.

  7. Если J<=I-1, то переходим к пункту 5, иначе выходим из цикла.

  8. Если K=I, то выводим значение К.

  9. Увеличиваем параметр внешнего цикла I на 1.

  10. Переходим к пункту 3.

Описание схемы алгоритма. См. рис. 2.

  1. Вводим M и N.

  2. Производим инициализацию.

    1. I присваиваем значение M.

  3. Определяем значение K.

    1. Входим в цикл с предусловием While I<=N.

    2. Присваиваем начальное значение К.

    3. Входим в цикл с параметром For J:=1 to I-1.

    4. Если I делится на J, то находим сумму K и J.

    5. При К равном I выводим К.

4.Завершаем программу.

Описание схемы алгоритма. См. рис. 3

  1. Ввод отрезка [M, N].

  2. Присвоение переменной I значения М.

  3. Вход в цикл с предусловием: Пока I<=N алгоритм продолжает работу.

  4. Присвоение начальных значений сумме К и вспомогательной переменной J.

  5. Если I делится на J бес остатка, то находим сумму К и J.

  6. Увеличиваем J на 1.

  7. Вход в цикл с постусловием: если J<=I-1, то переходим к пункту 5, иначе выходим из цикла.

  8. Если К равно I, то выводим К.

  9. Увеличиваем I на 1.

  10. Переходим к пункту 3.