Оператор выбора в сокращенной форме



case <переключатель> of

<константа 1>:<оператор 1>;

<константа 2>:<оператор 2>;

<константа N>:<оператор N>;

end;

 

Задача 2 1. Определить является ли введенное число положительным или отрицательным.

Задача 2 2. Составить программу, которая вводит номер месяца и определяет к какому времен года он относится.

Задача 2 3. Определить является ли год високосным.

Год является високосным если он делится на 4 и не делится на 100. Если число делится на сто, то год високосный только в том случае, если число делится еще и на 400.

Задача 21 Задача 22 Задача 23
program chislo; uses crt; var x:real; begin clrscr; writeln('Zadacha o chisle'); writeln; write('Vvedite chislo '); readln(x); if x>0 then writeln('Eto poloshitelnoe chislo')        else if x<0 then writeln('Eto otricatelnoe chislo')                    else writeln('Vveden 0'); readln; end. program seasons; uses crt; var m:integer; begin clrscr; write('Input the number of month '); readln(m); case m of      12,1,2: write('Winter');      3..5: write('Spring');      6,7,8: write('Summer');      9..11: write('Autumn') else write('Incorrect input of month'); end; readln; end. program god; uses crt; var a:integer; begin  clrscr; writeln ('Zadaсha o visokosnom gode'); writeln; write ('Vvedite god '); readln(a); if (a mod 4=0) and (a mod 100<>0) then writeln ('Eto visokosnui god')                                   else if a mod 400=0 then writeln ('Eto visocosnui god')                                                       else writeln ('Eto ne visocosnui god'); readln; end.

 

К практике.

Задача 21. Составить программу решения квадратного уравнения.

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

Задача 23. Составить программу, которая вводит текущую дату (число, номер месяца, год) и выводит следующую дату.


ЛЕКЦИЯ 3.

Циклические программы.

Цикл – многократное повторение некоторого выбора действий. Эти повторяющиеся действия называются телом цикла. Программа, содержащая цикл, называется циклической.

В языке Паскаль существуют три оператора для организации циклов трех разных видов.

 

Цикл с предусловием.

while <условие> do

<тело цикла>;

 

где <условие> - логическое выражение,

<тело цикла> - простой или составной оператор.

 

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

 

Цикл с постусловием.

repeat

<тело цикла>

until <условие>;

 

где <условие> - логическое выражение,

<тело цикла> - простой или составной оператор.

 

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

 

 

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

for i:=A to B do

<тело цикла>;

где i – счетчик (переменная перечисляемого типа, в ней хранится количество повторов тела цикла);

А – начальное значение счетчика;

В – конечное значение счетчика;

<тело цикла> - простой или составной оператор.

Шаг изменения счетчика +1.

Если A>B, то тело цикла не выполнится ни разу.

for i:=A downto B do

<тело цикла>;

где A>B. Шаг счетчика -1.

 

Если алгоритм требует другого шага изменения счетчика, необходимо использовать операторы цикла while или repeat.

 

Задача 31. Составить программу, которая выведет на экран числа от 1 до N.

Задача 32. Составить программу, которая выведет на экран все положительные члены убывающей арифметической прогрессии с разностью d=1,5 и первым членом а.

Задача 33. Составить программу, которая будет запрашивать пароль до тех пор, пока не будет введен верный.

 

Задача 31 Задача 32 Задача 33
program chislo; uses crt; var k,n:integer; begin clrscr; writeln ('Zadacha o chislah'); writeln; write('Vvedite N '); readln(n); writeln('Cicl while'); writeln; k:=1; while k<=n do              begin                   writeln(k);                   k:=k+1;              end; readln; writeln('Cikl repeat'); k:=1; repeat       writeln(k);       k:=k+1; until k=n+1; readln; writeln('Cilk for'); for k:=1 to n do writeln(k); readln; end. program progressia; uses crt; const d=-1.5; var a:real; begin clrscr; writeln('Zadacha o progressii'); writeln; write ('Vvedite a='); readln(a); while a>0 do             begin                  write (a:8:2);                  a:=a+d;             end; readln; end. program password; uses crt; const pass='123'; var a:string; begin clrscr;  repeat       write('Vvedite parol ');       readln(a);       if a<>pass then writeln ('Neverno'); until pass=a; write('Verno'); readln; end.

 

 

К практике.

Задача 31. Составить программу, которая выведет на экран все положительные члены арифметической прогрессии с разностью D и первым членом А, подсчитает их количество, и вычислит их сумму.

Задача 32. Составить программу, которая будет запрашивать пароль до тех пор, пока не будет введен верный или количество попыток не превысит 5. С каждым вводом пароля, выводится количество оставшихся попыток.

Задача 33.Составить программу, которая вычислит сумму N вводимых чисел и их среднее арифметическое.

Задача 34. Составить программу, которая определит наибольшее из N вводимых чисел.

 

 


ЛЕКЦИЯ 4

Циклические программы (продолжение)

 


Дата добавления: 2022-01-22; просмотров: 19; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!