Технология алгоритмического программирования. В начало




Как это ни покажется банальным, но технология алгоритмического программирования, а Pascal использует именно такие технологии, базируется на методе последовательной детализации алгоритмов. (Не пугайтесь этой умной фразы). Это, всего-навсего, означает, что большой и сложный алгоритм, (другими словами порядок выполнения программы), разбивается на отдельные простые блоки, которые должны представлять собой стандартные алгоритмические структуры:

Линейную

2. Ветвление

3. Циклическую

Их, для наглядности, представляют в виде блок-схем. Рассмотрим их и примеры самых простых программ, которые эти структуры используют.

  Алгоритмическая структура ЛИНЕЙНАЯ (СЛЕДОВАНИЕ)   Program Date; {Показ сегодняшней даты и времени} Uses Dos; {Объявление модуля, возможности которого мы хотим использовать в нашей программе<}> Var Year,Month, Day, DayOfWeek: Word; Hour, Minute, Second, Hund: Word; Begin GetDate(Year,Month,Day,DayOfWeek); { определение даты } Writeln('Сегодня - ', Day, '.', < Month,<'.',Year); {вывод даты } GetTime(Hour,Minute,Second,Hund); { определение времени } Write('Сейчас - '); WriteLn(Hour,':',Minute,':',Second,'.',Hund); { вывод времени } End. Внимание: Write - после вывода не переводит курсор на следующую строку, a Writeln - переводит.
  Алгоритмическая структура ВЕТВЛЕНИЕ Program VETVLENIE; {Программа тестирования знания дат} Var God: Integer; Begin Write('Введите год начала Великой Отечественной войны - '); Readln(God); If God = 1941 then Writeln('Ответ верный') else Writeln('Вы ошиблись'); Readln; End.
  Алгоритмическая структура ЦИКЛ Program Tumn; {Таблица умножения} Var P1, I: Integer; Begin Write('Введи первый сомножитель: '); Readln(P1); For I:=1 to 10 do {Организация цикла со счетчиком} Begin Writeln(P1,' x ',I, ' = ', P1*I); end; Readln; end. Внимание: Внутрь операторных скобок Begin - end; можно помещать несколько выражений, В этом случае все они будут считаться единым блоком. В данном случае тело цикла Writeln(P1,' x ',I, ' = ', P1*I); окружено Begin и end; - для демонстрации.

Ветвление в программах

Формат условного оператора на языке Паскаль:

If <условие> Then <оператор 1> Else <оператор 2>;

При выполнении условия программа обрабатывает первую группу операторов, при невыполнении вторую

If <условие> Then Begin <группа операторов 1> end {Внимание! Перед Else точка с запятой не ставятся}
Else Begin < группа операторов 2> end;

Рассмотрим пример
Из двух чисел выбрать наибольшее.

Program Example;
Var A,B,C: Real; {A,B - для хранения аргументов, C - результат}

Begin
Writeln('Введите два числа');
Readln(A,B); {Вводим аргументы с клавиатуры}

If A>B Then C:=A Else C:=B; {Если A>B, то результат - A, иначе результат - B}

Writeln('Наибольшее = ',C); {Выводим результат на экран}
End.

Циклические алгоритмы в программах

  Описание конструкции   Пример
  Цикл с параметром (со счетчиком) FOR FOR n:=1 TO 10 DO BEGIN ПРЫЖОК (10 РАЗ) END; Телом цикла называется последовательность операторов, которая может выполняться многократно (ПРЫЖОК).   Var n,x,y: longint; {Десять четных чисел и их квадраты} Begin x:=2; FOR n:=1 to 10 do Begin y:= x*x; writeln (‘x и y = ’, x, ’ – ‘, y); x:= x+2; End<; Readln; End.
  Цикл с предусловием WHILE WHILE силы есть? DO BEGIN ПРЫЖОК END; Если условие истинно, то выполняются операторы циклической части. (Прыгаем пока есть силы)   Var x,y: longint; {Десять четных чисел и их квадраты} Begin x:=2; WHILE x<=10 do Begin y:= x*x; writeln (‘x и y = ’, x, ’ – ‘, y); x:= x+2 end; Readln; end.
  Цикл с постусловием REPEAT REPEAT ПРЫЖОК UNTIL УСТАЛ? Выполняются до тех пор, пока условие ложно. Как только условие становиться истинным, цикл прекращается. (Прыгаем пока не устанем)   Var x,y: longint; {Десять четных чисел и их квадраты} Begin x:=2; REPEAT y:= x*x; writeln (‘x и y = ’, x, ’ – ‘, y); x:= x+2 UNTIL x>10; Readln; end.

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



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2018-01-08 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: