Материал: Лекции по информатике учебнометодическое пособие

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Вопросы для самопроверки по теме 6


Задание 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. Укажите вариант описания, соответствующий циклу с постусловием:

  1. пока условие истинно, выполнять оператор;

  2. выполнять оператор, пока условие ложно;

  3. выполнять оператор заданное число раз;

  4. если условие истинно, выполнять оператор, иначе остано- виться.

Задание 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

7. ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ


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

При разработке компьютерных моделей для задач, решаемых по сложным и громоздким алгоритмам, получаются длинные про- граммы, которые очень сложно отлаживать и тестировать. Для облег- чения этих работ были разработаны разные технологии программи- рования, которые упрощают структуру программы и ее отладку. Ос- новные из них:
  • модульное программирование;


программирование «снизу вверх» (восходящее программи-рование);

– программирование «сверху вниз» (нисходящее программи- рование).


Согласно этим технологиям в алгоритме задачи выделяются модули. Модуль – это либо логически законченный фрагмент общей задачи, либо часто повторяющийся блок расчѐтов.

Каждый модуль оформляется по определѐнным правилам в виде подпрограммы, и в текст основного алгоритма вместо него вставляется короткая инструкция вызова подпрограммы. Когда вы- полнение программы доходит до этой инструкции, выполняется фрагмент, заложенный в тело подпрограммы, после чего управление передаѐтся на команду, следующую за инструкцией вызова подпро- граммы.

Различают подпрограммыфункции(используются как опе- ранды в выражениях) и процедуры (используются как операторы). Общую структуру подпрограмм можно
представить следующим об-





разом:

Телоподпрограммы это операторы, которые программируют

ту часть алгоритма, которая выделена в данный модуль. Формальныепараметры – это те переменные в теле подпрограммы, значения ко- торых надо будет перед началом работы этого модуля получить из основной программы.

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

Пример. Дан массив целых чисел {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. 1   ...   29   30   31   32   33   34   35   36   ...   45
Источник: https://files.student-it.ru/previewfile/157483