top of page

Урок  21-22

Тема: Операторы цикла на Паскале. Цикл с предусловием.

Цель:  познакомить учащихся с форматом оператора цикла с предусловием, учить составлять программы на использование оператора цикла с предусловием.

 

1.Проверка домашнего задания.

2.Самостоятельная работа.

3.    Новый материал.

Оператор цикла while – цикл с предусловием

Оператор цикла while имеет следующую форму:

 

Тело цикла

Условие повтора

да

нет

while условие do
  оператор

Условие представляет собой выражение логического типа, а оператор после do называется телом цикла. Перед каждой итерацией цикла условие вычисляется, и если оно истинно, то выполняется тело цикла, в противном случае происходит выход из цикла.

Если условие всегда оказывается истинным, то может произойти зацикливание:

while 2>1 do
  write(1);

Чтобы прервать зациклившуюся программу, следует использовать комбинацию клавиш Ctrl-F2

Точка с запятой сразу после do в Pascal ABC считается синтаксической ошибкой.

 

4.Решение задач.

 

Задача 1. Вычислить 12+32+…+252.

program z2;

uses crt;

var i:integer; s: longint;

begin

s:=0; i:=1;

while i<=25 do  begin s:=s+sqr(i); i:=i+2; end;

writeln (s);

end.

 

Задача 2. Найти НОД(а, b).

 

program z1;

uses crt;

var a, b: integer;

begin

read (a, b);

while a<>b do

if a>b then a:=a-b else b:=b-a;

 writeln (a);

end.

 

Задача 3.  Даны натуральные числа a и b, обозначающие соответственно числитель и знаменатель дроби. Сократить дробь, т.е. найти такие натуральные числа p и q, не имеющие общих делителей, что  p / q = a / b.

 

program z1;

uses crt;

var a,b,m,n:integer; p,q: real;

begin

read (a,b);

m:=a; n:=b;

while m<>n do

if m>n then m:=m-n else n:=n-m;

p:= a/m;

q:= b/m;

 writeln(p,'/',q);

end.

 

Задача 4.  Среди чисел 1, 4, 9, 16, 25, … найти первое число, большее n.

 

program z1;

uses crt;

var i, n: integer;

begin

read (n);

i:=1;

while sqr(i)<n do

i:=i+1;

 writeln (sqr(i));

end.

 

 

Задача 5. Определить количество цифр в числе.

program z1;

uses crt;

var n,i: integer;

begin

readln (n);

i:=0;

while n <>0 do

begin

n:= n div 10;

i:=i+1; end;

write (i);

end.

5. Итог урока.

6. Домашнее задание.

Задача 1.   Дано число n.

a) напечатать те натуральные числа, квадрат которых не превышает n.

b) найти первое натуральное число, квадрат которого больше n.

 

 

 

a) program z1;

uses crt;

var i, n: integer;

begin

read (n);

i:=1;

while sqr(i) < n do

  begin writeln (i);  i:=i+1;    end;

end.

 

b)  program z1;

uses crt;

var i,n:integer;

begin

read (n);

i:=1;

while sqr(i)<n do    i:=i+1;

  writeln(i);

end.

bottom of page