Электронная версия курса лекций по дисциплине "Информатика", страница 11

program casep;

const c=10;

var n1,n2:integer;

begin  

   write('Введите n1,n2:');  readln(n1,n2);

   writeln('Исходные данные: n1=',n1,'  n2=',n2,'  c=',c);

   writeln('n1+n2=',n1+n2);

   write('Результат: ');

   case n1+n2 of

     2:                   writeln('n1+n2=2');

     1,3:                writeln('n1+n2=1 OR 3');

     4..9:               writeln('4<=n1+n2<=9');

     c:                   writeln('n1+n2=',c);

     -5..0,11..15:   writeln('-5<=n1+n2<=0 OR 11<=n1+n2<=15')

     else writeln('n1+n2<-5 OR 15<n1+n2')

   end{case};

   readln

end.

2  Реализация конструкции Выбор на языке програмирования.

Case выражение  of

   совокупность констант1  : ООС1;

   совокупность констант2   : ООС2;

   совокупность констант … : ООС…;

    else оператор простой или серия операторов

end; {Case}

Комментарий к фрагменту программы реализующему конструкцию Выбор:

а) выполняется только тот оператор одиночный или составной (ООС), константа которого равна значению выражения;

б) в случае, если в указанные совокупности констант не входит ни одна константа равная значению выражения, то выполняется  else часть.

В случае, если в else ÷не входит не один оператор, то else часть может быть опущена, точно также как и в неструктурируемой форме оператора ЕСЛИ - ТО.

в) тип выражения и констант должен совпадать, и не должен быть типа real и string, он может быть, например типа integer;

г) совокупность констант может задаваться в виде одного или нескольких диапазонов.

ä) â else части не требуется использовать операторные скобки, даже в случае необходимости размещения в ней серии операторов (функции операторных скобок выполняют слова else и end).

4  Схема конструкции выбор.

вход
 

Оператор одиночный или серия операторов

 

ООС3

 

ООС2

 

ООС1

 

ООС3

 


да
 


нет
 

да
 


нет
 

да
 


нет
 

выход
 


Вопрос 12

Программирование ветвления на Си++

Лекция 5

СОСТАВЛЕНИЕ И РЕАЛИЗАЦИЯ циклических алгоритмов

Вопрос 1

Варианты конструкции «ПОВТОРЕНИЕ»

При программировании циклических алгоритмов используются три варианта конструкции «ПОВТОРЕНИЕ»: с предварительным условием (предусловием), с последующим условием (постусловием) и с параметром.

Вопрос 2

Конструкция повторение с предусловием (while …do) («ПОКА»)

В этой конструкции используются служебные слова языка Паскаль:

·  While – пока;

·  do – делай

1.  Запись конструкции в виде схемы с использованием блока решение.

2.  Описание работы конструкции.

При входе в конструкцию проверяется  условие выполнения цикла.  Если оно сразу не выполняется, то тело цикла также не выполняется ни разу. Если же условие выполнения цикла истинно, то тело цикла выполняется. Затем опять проверяется условие выполнения цикла. Если оно истинно, то повторяется выполнение тела цикла. Так продолжается до тех пор, пока не нарушится, т.е. не станет ложным,  условие выполнения цикла. После этого осуществляется выход из цикла.

3.   Запись конструкции на языке Паскаль:

while условие выполнения цикла  do begin серия операторов

                                                               end;

В случае, если серия операторов  состоит из одного оператора, операторные скобки begin – end можно и целесообразно опустить.

4.   Пример решения задачи с использованием конструкции повторение с предусловием (while…do)

4.1  Условие задачи (табулирования заданной функции)

Составить программу для расчета значений функции y=ax+b при изменении х в диапазоне от хн до хк с шагом Dх, где хнк, а Dх>0.

4.2  Список идентификаторов используемых в схеме:

    а, b – параметры заданного выражения функции;

    х, хн, хк, Dх – текущее, начальное и конечное значения аргумента функции, а также шаг его изменения;

    у – текущее значение функции.

4.3  Схема  алгоритма решения  задачи.

4.4  Описание схемы алгоритма решения задачи  в словесной форме.

     Приведенное ниже описание не содержит никакой дополнительной информации по сравнению с рассмотренной схемой алгоритма. Оно приведено для улучшения понимания языка схем алгоритмов и отработки терминологии программирования.

В блоке 1 вводятся значения переменных: а, b, начального хн и конечного хк значений параметра цикла х, а также шаг изменения параметра цикла Dх. В блоке 2 параметру цикла присваивается его начальное значение. В блоке 3 проверяется условие выполнения цикла: параметр цикла меньше или равен конечному значению параметра цикла? В случае невыполнения этого условия осуществляется выход из цикла и прекращение работы алгоритма. Если условие выполняется, то осуществляются следующие действия: в блоке 4 переменной у присваивается значение выражения ах+b; в блоке 5 производится вывод значений переменных х и у; в блоке 6 значение параметра цикла увеличивается на величину значения шага параметра цикла. Таким образом, в случае истинности логического выражения х£ хк, выполняется тело цикла, включающее в себя блоки 4, 5 и 6.

Вместо термина параметр цикла часто используют эквивалентный ему термин – переменная цикла.