Примеры простейших программ




Ниже приведены примеры 2-х простейших программ. Примеры программ для других разделов приведены в отдельном пособии «Сборник первых программ на PascalABC». Также много различных программ есть в разделе SAMPLES базового комплекта PascalABC. Все они помогают понять принцип решения многих задач. Эти программы рекомендуется ввести, отладить, протестировать и, по возможности, – модифицировать с целью усложнения.

 

Программа 1

{Написать программу, которая запрашивает два числа, находит их сумму и выводит результат.}

Program summa;

 

Var

a,b,s:integer;

 

BEGIN

Cls;

Writeln (‘Введите первое число’);

Readln (a);

Writeln (‘Введите второе число);

Readln (b);

s:=a + b;

Writeln (‘сумма равна ’, s);

END.

Программа 2

{Написать программу, которая вводит два числа, вычисляет остаток от деления первого на второе и выводит результат.}

Program delenie;

 

Var

a,b,q:integer;

BEGIN

Cls;

Writeln (‘Введите первое число’);

Readln (a);

Writeln (‘Введите второе число);

Readln (b);

q:=a mod b;

Writeln (‘Остаток от деления 1-го числа на 2-е ‘ ,q:7);

END.

Структурированные операторы

Условный оператор

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

 

Общий вид условного оператора:

  а) для простого случая   If < условие > then < оператор1 > else < оператор2 >; Если условие истинно, выполняется оператор1,иначе – выполняется оператор2, после чего выполнение переходит к следующему оператору.   б) для сложного случая   If < условие > then begin < оператор1 >; < оператор2 >; end else begin < оператор3 >; < оператор4 >; end;   Если после then или else нужно выполнить группу операторов, то используется составной оператор (операторные скобки) “Begin – End”

В качестве условия применяются операции отношения (сравнения):

=, <>, <=, >=, >, <.

Например:

а) If х>0

then writeln(‘Число ’,Х, ‘больше 0’)

else writeln(‘Число ’,Х, ‘меньше или равно 0’);

 

б) If sum>k then z:=10 else z:=5; Перед else; не ставится!!!!!

 

  Условный оператор можно использовать и в краткой форме:   If < условие > then < оператор >; Например: If x<0 then x:=-x;    

 

Оператор выбора

Если условный оператор напоминает дорожную развилку, то оператор выбора – это разделение пути на множество дорог, по одной из которых пойдет выполнение программы.

Общий вид оператора выбора:

Полная форма Краткая форма
Case < переменная выбора > of <значение1>:<оператор1>; <значение2>:<оператор2>; … <значениеN>:<операторN> else <операторN+1>; end; {Case} Case < переменная выбора > of <значение1>:<оператор1>; <значение2>:<оператор2>; … <значениеN>:<операторN>; end; {Case}

 

Примечание. Оператор Case – единственный, который в своем синтаксисе содержит служебное слово End без парного ему Begin. Поэтому рекомендуется всегда рядом с таким End ставить комментарий принадлежности к Case

 

Пример:

Case N of

1,2,12: writeln(‘Зима’);

3..5: writeln(‘Весна’);

6..8: writeln(‘Лето’);

9..11: writeln(‘Осень’)

Else

writeln(‘Введенное число не является номером месяца’);

end; {Case}

 

Оператор case работает следующим образом. Если в одном из списков выбора найдено текущее значение переключателя, то выполняется оператор, соответствующий данному списку. Если же значение переключателя не найдено ни в одном списке, то выполняется оператор по ветке else или, если ветка else отсутствует, оператор case не выполняет никаких действий.

Переменная выбора может быть любого перечислимого типа (любой целочисленный или тип char).


Цикл с параметром (For)

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

Общий вид:

а) для простого случая   For < переменная >:=< нач.значение > to < кон.значение > do < оператор >;
  б) для сложного случая   For < переменная >:=< нач.значение > to < кон.значение > do begin < оператор1 >; < оператор2 >; … < операторN >; End;

 

Где < переменная> (параметр цикла) – переменная порядкового типа (integer, byte, иногда – char); < начальное значение> и < конечное значение > того же типа, что и < переменная >.

Параметр-Переменная получает начальное значение и делается проверка, не превышает ли значение переменной конечного значения. Если не превышает, выполняется операторы тела цикла, в противном случае цикл не выполняется. После завершения оператора тела цикла параметр - переменная получает следующее по порядку значение и все повторяется, начиная с проверки. Когда значение переменной становится равным конечному значению, оператор выполняется последний раз

 

Например:

For i:= 1 to 80 do

K:=K+3;

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


Возможен вариант оператора For, когда управляющая переменная принимает последовательно убывающие значения.

Общий вид:

а) для простого случая For < переменная >:=< нач.значение > downto < кон.значение > < оператор >;
  б) для сложного случая For < переменная >:=< нач.значение > downto < кон.значение > do begin < оператор1 >; < оператор2 >; End;

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

Например:

For k:=’Z’ downto ‘A’ do

Writeln(k);

 

При решении сложных задач часто встречаются «вложенные » циклы, когда

оператор, выполняемый в теле цикла, сам является циклом.

 

for i:=1 to 10 do for j:=1 to 5 do write(i); При этом в каждом операторе For – свояуправляющая переменная-параметр


Поделиться:




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

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


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