Программирование на языке Turbo Pascal


Возможная форма оператора: if <условие> then


<оператор 1>;

Пример использования оператора:

Вычислите значение функции f(x) в зависимости от значения аргумента x.

if x<0 then y=x;

if x=0 then y=0;

if x<0 then y=sqr(x);

Вложенные операторы if

Возможно использовать в качестве оператор1 или оператор2 других условных операторов:



if <условие1> then if <условие2> then <оператор1> else <оператор2>;

Вложенность операторов if неограниченна.

4.      Ветвление на несколько направлений (оператор – переключатель, или оператор выбора или оператор варианта):

Позволяет выбрать из любого числа возможностей.

case <переменная или выражение> of

                       <список значений выбора1>:<оператор1>;

                       <список значений выбора2>:<оператор2>;

                                          . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .               

                         <список значений выбора N>:<оператор N>;

                                 [else <оператор>]

             end;

Переменная

может быть любого порядкового типа, кроме longint (word, boolean, integer, char… или перечисляемый тип). (см.приложение 1, СТРУКТУРА ТИПОВ ДАННЫХ)

 

Список значений выбора - это значения, которые могут принимать переменная или выражение, перечисленные через запятую или, если значения принадлежат какому-либо интервалу, с использованием лексемы " . . " (1..7 или 'а' ..'м')

Оператор - любой оператор, в том числе составной.

Принцип работы оператора:

¨       Значение переменной или выражения сравнивается с предложенными списками значений

¨       Если найдено нужное значение, выполняется соответствующий оператор

¨       Если нужное значение не найдено в перечисленных списках, выполняется оператор после  else

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


Практические задания:

1.      Отработка навыков использования операторов ветвления

Составить программу движения символа * под управлением клавиш  2,4,6,8. Q – выход из программы.

uses crt;

  label 1;

  var x,y:word;q:char;

begin

  clrscr;

  x:=40;y:=12;

1:textcolor(14);gotoxy(x,y);write('*');

  q:=readkey;

  textcolor(0);gotoxy(x,y);write('*');

    if q='2' then y:=y+1;

    if q='8' then y:=y-1;

    if q='4' then x:=x-1;

    if q='6' then x:=x+1;

    if (q='q') or (q=’Q’) then halt;

  goto 1;

readkey;end.

Составить программу подсчета суммы введенных с клавиатуры чисел. Признак конца ввода – число 0.

program pt1;

 uses crt;

 label 1;

 var x,z:integer;t:char;

begin   clrscr;

writeln ('ПРОГРАММА ПОДСЧЕТА СУММЫ ВВЕДЕНЫХ ЧИСЕЛ.');

gotoxy(50,22);writeln ('Выход из программы - число 0');

1: write('Введите число'); read(x);

if х=0 then goto 2 else begin z:=z+x; goto 1;end;                        

2: writeln('сумма введенных чисел - ',z);

readkey;end.

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

Uses crt;

 Var n:integer;

Begin

 Readln(n);

 Write(‘число’, n,’-‘);

 If n mod 2=0 then writeln(‘четное’)

              else writeln(‘нечетное’);

readkey; End.

Написать программу, которая запрашивает номер месяца и выводит название времени года.

Uses crt;

 Var month: integer;

Begin

 Writeln (‘Введите номер месяца от 1 – 12);

 Readln(month);

   Case month of

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

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

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

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

   else writeln(‘число д.б. от 1 до 12’);

   end;

readkey;end.

2.      Задача. Развивая предельно возможную скорость своего движения, жираф пробегает за 23 с 335,8 м. Заяц пробегает за 55 с 918,5 м. Кому из этих животных вы присвоите звание чемпиона, сопоставляя их скорости?

Алгоритм решения задачи в виде блок-схемы приведен ниже. Программу составить самостоятельно.






Содержание раздела