Задание№
1.
Перечислите
основные
свойства
алгоритма.
Задание № 2. Приведѐн алгоритм процедуры «ABCD» в псевдокоде:
Начать
Писать ("Введите "A,B,C,D")
Читать(A,B,C,D)
Если A=B то
Если С<В то
Х:=1
Иначе
Х:=2
Иначе
Х:=3
Конец
Запишите
этот
алгоритм
математическим
языком
на
бумаге.
Задание№
3.
Определите,
какими
будут
значения
Х
и
Y
на выходе
из
этого
алгоритма:
X=0
Задание№
4.
Определите
значение
переменной
D
после
выполнения
алгоритма
(mod(х,у)
–
целый остаток
от деления):
k=70
Выбор
при mod(k,12)=7: D:=k
при mod(k,12)<5: D:=2
при mod(k,12)>9: D:=3
иначе
D:=1
Всѐ
Задание№
5.
При
какой
организации
цикла
может
случиться,
что
те-
ло
цикла
не
выполнится
ни
разу.
Задание № 6. Представлен фрагмент программы:
Y:=X+5;
X:=Y;
Y:=X+Y;
вывод
Y
Определите
значение
переменной
Х
перед
входом
в
этот
фрагмент, если известно, что после выполнения этого фрагмента пе-
ременная
Y
приняла значение
14.
Задание№
6.
Укажите
вариант
описания,
соответствующий
циклу
с
постусловием:
-
пока условие истинно, выполнять оператор;
-
выполнять оператор, пока условие ложно;
-
выполнять оператор заданное число раз;
-
если условие истинно, выполнять оператор, иначе – остано- виться.
Задание№
8.
Определите,
сколько
раз
тело
цикла
выполняется
в
представленном
фрагменте:
B
:=
10; D :=
40
Начало цикла: пока D >= B
D
:= D
–
B
Конец
цикла.
Задание№
9.
Определите
вид
вывода
результатов
в
предложенном
фрагменте
программы:
X:=5
Z:=7
вывод ("X=",X," X=",Z,Z+X)
1.
X=5 X=712
2.
"X=",5,"
X=",7,12
3.
X=5
X=7
12
4.
"X=",X,"
X=",Z,Z+X
-
Основные технологии программирования
При разработке компьютерных моделей для задач, решаемых
по
сложным
и
громоздким алгоритмам, получаются
длинные
про-
граммы, которые очень сложно отлаживать и тестировать. Для облег-
чения этих работ были разработаны разные технологии программи-
рования, которые упрощают структуру программы и ее отладку. Ос-
новные
из
них:
-
модульное программирование;
–
программирование «
снизу вверх» (
восходящее программи-рование);
– программирование «сверху вниз» (нисходящее программи- рование).
Согласно этим технологиям в алгоритме задачи выделяются
модули.
Модуль – это либо логически законченный фрагмент общей
задачи, либо
часто
повторяющийся
блок
расчѐтов.
Каждый
модуль
оформляется
по
определѐнным
правилам
в
виде
подпрограммы,
и
в
текст
основного
алгоритма
вместо
него
вставляется короткая инструкция вызова подпрограммы. Когда вы-
полнение
программы
доходит
до
этой
инструкции,
выполняется
фрагмент, заложенный в тело подпрограммы, после чего управление
передаѐтся на команду, следующую за инструкцией вызова подпро-
граммы.
Различают
подпрограммыфункции(используются
как
опе-
ранды в выражениях) и
процедуры (используются как операторы).
Общую
структуру
подпрограмм
можно
представить
следующим
об-
разом:
Телоподпрограммы –
это
операторы,
которые
программируют
ту часть алгоритма, которая выделена в данный модуль.
Формальныепараметры – это те переменные в теле подпрограммы, значения ко-
торых надо будет перед началом работы этого модуля получить из
основной
программы.
В
инструкции
по
вызову
указывается
имя
подпрограммы
и
фактические параметры, то есть значения формальных параметров,
с
которыми
следует
выполнить
тело
подпрограммы
в
данном
месте.
Пример. Дан массив целых чисел {
ai},i=1, 2, ..., 15. Программа
должна
вычислять
произведение
двух
сумм
некоторых
элементов
массива {
ai}. Так как операции, которые следует выполнить для сум-
мирования, не зависят от конкретных значений используемых чисел,
алгоритм
суммирования,
чтобы
не
повторять
его
дважды,
можно
оформить в виде подпрограммы. Поскольку по условию задачи ко-
нечным результатом должно быть произведение сумм, а не каждая из
них по отдельности, подпрограмму можно оформить по типу подпро-
граммы-функции.
Алгоритм,
по
которому
будет
составляться
про-
грамма,
представляем
в
псевдокоде:
Функция СУММА(
i1,
i2)
начало:
s=
0
начало цикла для
i =
i1 до
i2
s=
s+
a(
i)
конец цикла
СУММА
=
sКонец функцииНачало программывывести на экран("введите значения массива А")
начало
цикла
для
j=
1
до
15
ввести с клавиатуры
а(
j)
конец
цикла
вывести
на
экран
("введите
границы
индексов
первой
суммы") суммы")
ввести с клавиатуры g,w
вывести на экран ("введите границы индексов второй
ввести с клавиатуры t,l
р:= СУММА(g,w) * СУММА(t,l)
вывести на экран ("произведение равно", р)
Конец программы
В программу введены константы: g= 1; w= 12; t= 8; l= 15. Это – фактические параметры, которые надо использовать вместо формальных параметров i1 и i2 при вычислении значения p. В ре- зультате переменная p примет значение произведения сумм элемен- тов с 1 по 12 и с 8 по 15 из массива {ai}.
При использовании технологии «сверху вниз» разработка про- граммы начинается с последовательной детализации алгоритма на
всѐ более мелкие части до тех пор, пока получатся такие модули, для
которых можно написать конкретные команды. Затем составляется
текст основной программы, в которой вместо фрагментов, выделен-
ных в подпрограммы, ставят «
заглушки». Это подпрограммы, в кото-
рых вместо реально нужных операторов ставят сигнальные печати
или ввод результатов, которые должна была сосчитать эта подпро-
грамма. Таким образом проверяют и отлаживают последовательность
действий в основном алгоритме. Затем подпрограммы-заглушки по
очереди
заменяют
на
соответствующие
алгоритму
подпрограммы,
отлаживают и тестируют их. Такая технология облегчает создание
программы, уменьшает количество ошибок и облегчает нахождение
допущенных
ошибок.
Считается,
что
программа
оптимального
по
размерам
модуля
целиком
должна
помещаться
на
экране
дисплея.
При использовании технологии «снизу вверх» в первую оче-
редь определяются и разрабатываются вспомогательные модули, ко-
торые потребуются для проектируемой программы. После того, как
все модули отлажены, из них, как из кубиков, в соответствии с на-
чальным
алгоритмом
собирается
основная
программа.
-
1 ... 29 30 31 32 33 34 35 36 ... 45