Меню
Разработки
Разработки  /  Информатика  /  Презентации  /  10 класс  /  Операторы цикла в языке Pascal

Операторы цикла в языке Pascal

Разбираются типовые задачи по разработке циклических программ. При решении большинства задач используются блок-схемы. Ко всем программам прилагаются скриншоты окна вывода при тестовом запуске программы.
05.04.2020

Содержимое разработки

Язык программирования Паскаль  (версия PascalABC.NET) Операторы цикла в языке Pascal

Язык программирования Паскаль (версия PascalABC.NET)

Операторы цикла в языке Pascal

Операторы цикла    Цикл с предусловием  (с заданным условием продолжения работы, цикл «ПОКА») условие нет While   do   ; да тело цикла Используется тогда, когда количество повторов заранее неизвестно .  Выполнение оператора тела цикла повторяется, пока условие истинно .  Если условие ложно , то управление передается следующему оператору.  Если в теле цикла более одного оператора, то необходимо использовать составной оператор  begin . . . end .

Операторы цикла Цикл с предусловием (с заданным условием продолжения работы, цикл «ПОКА»)

условие

нет

While do ;

да

тело цикла

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

=y do begin r:=r-y; q:=q+ 1 end ; writeln ( 'q=' , q, ' r=' , r) End . ввод x,y r := x q := 0 нет r ≥ y да r := r-y q := q+1 вывод q,r конец " width="640"

Трассировка программы с циклом «ПОКА»

Для данного алгоритма составьте таблицу значений переменных при указанных значениях x и y. Что появится на экране?

начало

Program cikl_while;

Var x, y, q, r: integer ;

Begin

write ( 'Введите x, y: ' );

readln (x, y);

r:=x;

q:= 0 ;

while r=y do

begin

r:=r-y;

q:=q+ 1

end ;

writeln ( 'q=' , q, ' r=' , r)

End .

ввод x,y

r := x

q := 0

нет

r ≥ y

да

r := r-y

q := q+1

вывод q,r

конец

= y Program cikl_while; Var x, y, q, r: integer ; Begin write ( 'Введите x, y: ' ); readln (x, y); r:=x; q:= 0 ; while r=y do begin r:=r-y; q:=q+ 1 end ; writeln ( 'q=' , q, ' r=' , r) End . 17 5 - - 17 0 17 ≥5 (да) 12 1 Щелчок – шаг программы " width="640"

Трассировка программы с циклом «ПОКА»

Для данного алгоритма составьте таблицу значений переменных при указанных значениях x и y. Что появится на экране?

При x=17, y=5

Переменные

x

y

r

Условие

q

-

-

r = y

Program cikl_while;

Var x, y, q, r: integer ;

Begin

write ( 'Введите x, y: ' );

readln (x, y);

r:=x;

q:= 0 ;

while r=y do

begin

r:=r-y;

q:=q+ 1

end ;

writeln ( 'q=' , q, ' r=' , r)

End .

17

5

-

-

17

0

17 ≥5 (да)

12

1

Щелчок – шаг программы

= y Program cikl_while; Var x, y, q, r: integer ; Begin write ( 'Введите x, y: ' ); readln (x, y); r:=x; q:= 0 ; while r=y do begin r:=r-y; q:=q+ 1 end ; writeln ( 'q=' , q, ' r=' , r) End . 17 5 17 0 17 ≥5 (да) 12 1 12 ≥5 (да) 7 2 Щелчок – шаг программы " width="640"

Трассировка программы с циклом «ПОКА»

Для данного алгоритма составьте таблицу значений переменных при указанных значениях x и y. Что появится на экране?

При x=17, y=5

Переменные

x

y

r

Условие

q

-

-

r = y

Program cikl_while;

Var x, y, q, r: integer ;

Begin

write ( 'Введите x, y: ' );

readln (x, y);

r:=x;

q:= 0 ;

while r=y do

begin

r:=r-y;

q:=q+ 1

end ;

writeln ( 'q=' , q, ' r=' , r)

End .

17

5

17

0

17 ≥5 (да)

12

1

12 ≥5 (да)

7

2

Щелчок – шаг программы

= y Program cikl_while; Var x, y, q, r: integer ; Begin write ( 'Введите x, y: ' ); readln (x, y); r:=x; q:= 0 ; while r=y do begin r:=r-y; q:=q+ 1 end ; writeln ( 'q=' , q, ' r=' , r) End . 17 5 17 0 17 ≥5 (да) 12 1 12 ≥5 (да) 7 2 7≥5 (да) 2 3 Щелчок – шаг программы " width="640"

Трассировка программы с циклом «ПОКА»

Для данного алгоритма составьте таблицу значений переменных при указанных значениях x и y. Что появится на экране?

При x=17, y=5

Переменные

x

y

r

Условие

-

q

-

r = y

Program cikl_while;

Var x, y, q, r: integer ;

Begin

write ( 'Введите x, y: ' );

readln (x, y);

r:=x;

q:= 0 ;

while r=y do

begin

r:=r-y;

q:=q+ 1

end ;

writeln ( 'q=' , q, ' r=' , r)

End .

17

5

17

0

17 ≥5 (да)

12

1

12 ≥5 (да)

7

2

7≥5 (да)

2

3

Щелчок – шаг программы

= y Program cikl_while; Var x, y, q, r: integer ; Begin write ( 'Введите x, y: ' ); readln (x, y); r:=x; q:= 0 ; while r=y do begin r:=r-y; q:=q+ 1 end ; writeln ( 'q=' , q, ' r=' , r) End . 17 5 17 0 17 ≥5 (да) 12 1 12 ≥5 (да) 7 2 7≥5 (да) 2 3 2≥5 (нет) Щелчок – шаг программы " width="640"

Трассировка программы с циклом «ПОКА»

Для данного алгоритма составьте таблицу значений переменных при указанных значениях x и y. Что появится на экране?

При x=17, y=5

Переменные

x

y

r

Условие

-

q

-

r = y

Program cikl_while;

Var x, y, q, r: integer ;

Begin

write ( 'Введите x, y: ' );

readln (x, y);

r:=x;

q:= 0 ;

while r=y do

begin

r:=r-y;

q:=q+ 1

end ;

writeln ( 'q=' , q, ' r=' , r)

End .

17

5

17

0

17 ≥5 (да)

12

1

12 ≥5 (да)

7

2

7≥5 (да)

2

3

2≥5 (нет)

Щелчок – шаг программы

Задача 1 Лыжник в первый день тренировок пробежал 10 км.  Каждый следующий день он увеличивал пройденное расстояние  на 10% от пройденного в предыдущий день. В какой день он пробежит больше 20 км? начало Program Trenirovka; Var n: integer ; x: real ; Begin n:= 1 ; //день номер 1 x:= 10 ; //расстояние в 1 день while xdo //пока x begin  n:=n+ 1 ; //номер следующего дня  x:=x+ 0.1 *x; //расст. в след. день  writeln (n: 3 , x: 6 : 1 ); //вывод на экран  end ; End . n := 1 x := 10 нет x ≤ 20 да n := n+1 x := x+0,1 ∙x вывод  n,x конец

Задача 1

Лыжник в первый день тренировок пробежал 10 км. Каждый следующий день он увеличивал пройденное расстояние на 10% от пройденного в предыдущий день. В какой день он пробежит больше 20 км?

начало

Program Trenirovka;

Var n: integer ; x: real ;

Begin

n:= 1 ; //день номер 1

x:= 10 ; //расстояние в 1 день

while xdo //пока x

begin

n:=n+ 1 ; //номер следующего дня

x:=x+ 0.1 *x; //расст. в след. день

writeln (n: 3 , x: 6 : 1 ); //вывод на экран

end ;

End .

n := 1

x := 10

нет

x ≤ 20

да

n := n+1

x := x+0,1 ∙x

вывод n,x

конец

Задача 2 Получить таблицу значений функции y=x 2 для x=1; 2; 3; …; 10 . начало Program Kvadraty; Var x, y: integer ; Begin writeln ( 'Квадраты чисел:' ); x := 1 ; //начальное значение x while x do //пока x begin //нц  y := x*x; //вычисление функции  writeln (x: 5 , y: 5 ); //вывод на экран  x := x+ 1 //следующее значение x  end ; //кц End . x := 1 нет x ≤ 10 да y := x 2 вывод  x,y x := x+1 конец

Задача 2

Получить таблицу значений функции y=x 2 для x=1; 2; 3; …; 10 .

начало

Program Kvadraty;

Var x, y: integer ;

Begin

writeln ( 'Квадраты чисел:' );

x := 1 ; //начальное значение x

while x do //пока x

begin //нц

y := x*x; //вычисление функции

writeln (x: 5 , y: 5 ); //вывод на экран

x := x+ 1 //следующее значение x

end ; //кц

End .

x := 1

нет

x ≤ 10

да

y := x 2

вывод x,y

x := x+1

конец

Задача 3а Вычислить значение суммы s = 1+2+3+…+n для заданного n . Program Summa_natur; Var x, n, s: integer ; Begin writeln ( 's=1+2+3+...+n' ); write ( 'Введите n: ' ); readln (n); s:= 0 ; //начальное знач. суммы x:= 1 ; //нач. знач. слагаемого while xdo //пока x begin  s:=s+x; //добавить к сумме слаг.  x:=x+ 1 ; //следующ. знач. слаг.  end ; writeln ( 's=' , s); End . начало ввод  n s := 0 x := 1 нет x ≤ n да s := s+x x := x+1 вывод  s конец

Задача 3а

Вычислить значение суммы s = 1+2+3+…+n для заданного n .

Program Summa_natur;

Var x, n, s: integer ;

Begin

writeln ( 's=1+2+3+...+n' );

write ( 'Введите n: ' ); readln (n);

s:= 0 ; //начальное знач. суммы

x:= 1 ; //нач. знач. слагаемого

while xdo //пока x

begin

s:=s+x; //добавить к сумме слаг.

x:=x+ 1 ; //следующ. знач. слаг.

end ;

writeln ( 's=' , s);

End .

начало

ввод n

s := 0

x := 1

нет

x ≤ n

да

s := s+x

x := x+1

вывод s

конец

Задача 3б Вычислить значение суммы s = 1+3+5+7+…+n для заданного  нечётного n . Program Summa_nechet; Var x, n, s: integer ; Begin writeln ( 's=1+3+5+7+...+n' ); write ( 'Введите n: ' ); readln (n); s:= 0 ; //начальное знач. суммы x:= 1 ; //нач. знач. слагаемого while xdo //пока x begin  s:=s+x; //добавить к сумме слаг.  x:=x+ 2 ; //следующ. знач. слаг.  end ; writeln ( 's=' , s); End . начало ввод  n s := 0 x := 1 нет x ≤ n да s := s+x x := x+2 вывод  s конец

Задача 3б

Вычислить значение суммы s = 1+3+5+7+…+n для заданного нечётного n .

Program Summa_nechet;

Var x, n, s: integer ;

Begin

writeln ( 's=1+3+5+7+...+n' );

write ( 'Введите n: ' ); readln (n);

s:= 0 ; //начальное знач. суммы

x:= 1 ; //нач. знач. слагаемого

while xdo //пока x

begin

s:=s+x; //добавить к сумме слаг.

x:=x+ 2 ; //следующ. знач. слаг.

end ;

writeln ( 's=' , s);

End .

начало

ввод n

s := 0

x := 1

нет

x ≤ n

да

s := s+x

x := x+2

вывод s

конец

Задача 4 Вычислить факториал числа k  ( k  не более 12 ). k! = 1∙2∙3∙ … ∙k начало Program Faktorial; Var k, i, p: integer ; Begin write( 'Введите k (p:= 1 ; //начальное знач. произведения i:= 1 ; //начальное знач. числа while ido //пока i begin  p:=p*i; //добавить число к произвед.  i:=i+ 1 //следующее число  end ; //конец цикла writeln(k, '!=' , p); //факториал числа End . ввод  k p := 1 i := 1 нет i ≤ k да p := p*i i := i+1 вывод  p конец

Задача 4

Вычислить факториал числа k ( k не более 12 ).

k! = 1∙2∙3∙ … ∙k

начало

Program Faktorial;

Var k, i, p: integer ;

Begin

write( 'Введите k (

p:= 1 ; //начальное знач. произведения

i:= 1 ; //начальное знач. числа

while ido //пока i

begin

p:=p*i; //добавить число к произвед.

i:=i+ 1 //следующее число

end ; //конец цикла

writeln(k, '!=' , p); //факториал числа

End .

ввод k

p := 1

i := 1

нет

i ≤ k

да

p := p*i

i := i+1

вывод p

конец

Задача 5 Вычислить сумму ряда ( n слагаемых). a 1 = 1/2; a 2 = 1/4 = a 1 /2; a 3 = 1/8 = a 2 /2; …; a i = a i-1 /2 начало Program Summa_rjada; Var s, a: real ; i, n: integer ; Begin writeln ( 'S = 1/2+1/4+1/8+1/16+ ... ' ); write ( 'Введите N: ' ); readln (n); s:= 0 ; //начальное значение суммы i:= 1 ; //номер первого слагаемого a:= 1 / 2 ; //первое слагаемое while ido //цикл пока i begin  s:=s+a; //добавление к сумме  i:=i+ 1 ; //следующий номер слагаемого  a:=a/ 2 //следующее слагаемое  end ; writeln ( 'S = ' , s) End . ввод n s := 0 i := 1 a := 1/2 нет i ≤ n да s := s+a i := i+1 a := a/2 вывод  s конец

Задача 5

Вычислить сумму ряда ( n слагаемых).

a 1 = 1/2; a 2 = 1/4 = a 1 /2; a 3 = 1/8 = a 2 /2; …; a i = a i-1 /2

начало

Program Summa_rjada;

Var s, a: real ; i, n: integer ;

Begin

writeln ( 'S = 1/2+1/4+1/8+1/16+ ... ' );

write ( 'Введите N: ' ); readln (n);

s:= 0 ; //начальное значение суммы

i:= 1 ; //номер первого слагаемого

a:= 1 / 2 ; //первое слагаемое

while ido //цикл пока i

begin

s:=s+a; //добавление к сумме

i:=i+ 1 ; //следующий номер слагаемого

a:=a/ 2 //следующее слагаемое

end ;

writeln ( 'S = ' , s)

End .

ввод n

s := 0

i := 1

a := 1/2

нет

i ≤ n

да

s := s+a

i := i+1

a := a/2

вывод s

конец

0 then k1:=k1+ 1 ; //если отрицательное, увеличить k2 на 1 if nthen k2:=k2+ 1 ; end ; //конец цикла writeln ( 'Введено:' ); writeln ( 'положительных: ' , k1); writeln ( 'отрицательных: ' , k2) End . начало k1:=0; k2:=0 n:=1 нет n ≠ 0 да ввод n нет да n 0 k1:=k1+1 нет да n k2:=k2+1 вывод k1, k2 конец " width="640"

Задача 6

Подсчитать количество введённых положительных и отрицательных целых чисел, при вводе 0 программа завершает работу.

Program pol_otr;

Var n, k1, k2: integer ;

Begin

k1:= 0 ; //кол-во положительных

k2:= 0 ; //кол-во отрицательных

n:= 1 ; //любое ненулевое число

writeln ( 'Введите любые целые числа (0 - завершить)' );

while n 0 do //пока число не 0, повторять:

begin

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

readln (n); //ввод n

//если положительное, увеличить k1 на 1

if n 0 then k1:=k1+ 1 ;

//если отрицательное, увеличить k2 на 1

if nthen k2:=k2+ 1 ;

end ; //конец цикла

writeln ( 'Введено:' );

writeln ( 'положительных: ' , k1);

writeln ( 'отрицательных: ' , k2)

End .

начало

k1:=0; k2:=0

n:=1

нет

n ≠ 0

да

ввод n

нет

да

n 0

k1:=k1+1

нет

да

n

k2:=k2+1

вывод k1, k2

конец

Операторы цикла    Цикл с постусловием  (с заданным условием окончания работы, цикл «ДО») Repeat    ;    ;   . . . Until   ;  тело цикла нет условие да Используется тогда, когда количество повторов заранее неизвестно .  Тело цикла выполняется хотя бы один раз .  При ложном условии снова повторяется тело цикла до того момента,  когда условие станет истинным . При этом цикл заканчивается, управление передается следующему оператору.  В теле цикла не требуется использование составного оператора .

Операторы цикла Цикл с постусловием (с заданным условием окончания работы, цикл «ДО»)

Repeat

;

;

. . .

Until ;

тело цикла

нет

условие

да

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

Трассировка программы с циклом «ДО» Для данного алгоритма составьте таблицу значений переменных при указанных значениях x и y. Что появится на экране? начало Program cikl_repeat; Var x, y, q, r: integer ; Begin write ( 'Введите x, y: ' ); readln (x, y); r:=x; q:= 0 ; repeat  r:=r-y;  q:=q+ 1 ; until rwriteln ( 'q=' , q, ' r=' , r) End . ввод  x,y r := x q := 0 r := r-y q := q+1 да r нет вывод  q,r конец

Трассировка программы с циклом «ДО»

Для данного алгоритма составьте таблицу значений переменных при указанных значениях x и y. Что появится на экране?

начало

Program cikl_repeat;

Var x, y, q, r: integer ;

Begin

write ( 'Введите x, y: ' );

readln (x, y);

r:=x;

q:= 0 ;

repeat

r:=r-y;

q:=q+ 1 ;

until r

writeln ( 'q=' , q, ' r=' , r)

End .

ввод x,y

r := x

q := 0

r := r-y

q := q+1

да

r

нет

вывод q,r

конец

= y Program cikl_repeat; Var x, y, q, r: integer ; Begin write ( 'Введите x, y: ' ); readln (x, y); r:=x; q:= 0 ; repeat r:=r-y; q:=q+ 1 ; until rwriteln ( 'q=' , q, ' r=' , r) End . 17 5 - - 17 0 12 1 12Щелчок – шаг программы " width="640"

Трассировка программы с циклом «ДО»

Для данного алгоритма составьте таблицу значений переменных при указанных значениях x и y. Что появится на экране?

При x=17, y=5

Переменные

x

y

r

Условие

q

-

-

r = y

Program cikl_repeat;

Var x, y, q, r: integer ;

Begin

write ( 'Введите x, y: ' );

readln (x, y);

r:=x;

q:= 0 ;

repeat

r:=r-y;

q:=q+ 1 ;

until r

writeln ( 'q=' , q, ' r=' , r)

End .

17

5

-

-

17

0

12

1

12

Щелчок – шаг программы

= y Program cikl_repeat; Var x, y, q, r: integer ; Begin write ( 'Введите x, y: ' ); readln (x, y); r:=x; q:= 0 ; repeat r:=r-y; q:=q+ 1 ; until rwriteln ( 'q=' , q, ' r=' , r) End . 5 17 17 0 12 1 127 2 7Щелчок – шаг программы " width="640"

Трассировка программы с циклом «ДО»

Для данного алгоритма составьте таблицу значений переменных при указанных значениях x и y. Что появится на экране?

При x=17, y=5

Переменные

x

y

r

Условие

q

-

-

r = y

Program cikl_repeat;

Var x, y, q, r: integer ;

Begin

write ( 'Введите x, y: ' );

readln (x, y);

r:=x;

q:= 0 ;

repeat

r:=r-y;

q:=q+ 1 ;

until r

writeln ( 'q=' , q, ' r=' , r)

End .

5

17

17

0

12

1

12

7

2

7

Щелчок – шаг программы

= y Program cikl_repeat; Var x, y, q, r: integer ; Begin write ( 'Введите x, y: ' ); readln (x, y); r:=x; q:= 0 ; repeat r:=r-y; q:=q+ 1 ; until rwriteln ( 'q=' , q, ' r=' , r) End . 17 5 17 0 12 1 127 2 72 3 2Щелчок – шаг программы " width="640"

Трассировка программы с циклом «ДО»

Для данного алгоритма составьте таблицу значений переменных при указанных значениях x и y. Что появится на экране?

При x=17, y=5

Переменные

x

y

r

Условие

q

-

-

r = y

Program cikl_repeat;

Var x, y, q, r: integer ;

Begin

write ( 'Введите x, y: ' );

readln (x, y);

r:=x;

q:= 0 ;

repeat

r:=r-y;

q:=q+ 1 ;

until r

writeln ( 'q=' , q, ' r=' , r)

End .

17

5

17

0

12

1

12

7

2

7

2

3

2

Щелчок – шаг программы

n; //до xn writeln ( 's=' , s); End . ввод n s := 0 x := 1 s := s+x x := x+2 да x n нет вывод s конец " width="640"

Задача 1

Вычислить значение суммы s = 1+3+5+7+…+n для заданного нечётного n .

начало

Program Summa_nechet_2;

Var x, n, s: integer ;

Begin

writeln ( 's=1+3+5+7+...+n' );

write ( 'Введите n: ' ); readln (n);

s:= 0 ; //начальное знач. суммы

x:= 1 ; //нач. знач. слагаемого

repeat //повторять:

s:=s+x; //добавить к сумме слаг.

x:=x+ 2 ; //следующ. знач. слаг.

until xn; //до xn

writeln ( 's=' , s);

End .

ввод n

s := 0

x := 1

s := s+x

x := x+2

да

x n

нет

вывод s

конец

k; //до ik writeln(k, '!=' , p); //факториал числа End . ввод k нет k да p := 1 i := 1 p := p*i i := i+1 да i k нет вывод p конец " width="640"

Задача 2

Вычислить факториал числа k ( k не более 12 ).

k! = 1∙2∙3∙ … ∙k

Проверка корректности данных

начало

Program Faktorial_2;

Var k, i, p: integer ;

Begin

//проверка корректности данных

repeat //повторять:

write( 'Введите k (

readln(k); //ввод k

until k

//вычисление факториала

p:= 1 ; //начальное знач. произведения

i:= 1 ; //начальное знач. числа

repeat //повторять:

p:=p*i; //добавить число к произвед.

i:=i+ 1 //следующее число

until ik; //до ik

writeln(k, '!=' , p); //факториал числа

End .

ввод k

нет

k

да

p := 1

i := 1

p := p*i

i := i+1

да

i k

нет

вывод p

конец

; i := i+1 i – параметр цикла (переменная-счётчик); n – начальное значение счётчика; k – конечное значение счётчика. Тело цикла повторяется фиксированное число раз для переменной i . Переменная i изменяется от n до k , увеличиваясь после каждого выполнения тела цикла на 1 . Цикл завершает работу, когда значение i станет больше k . Если в теле цикла более одного оператора , то необходимо использовать составной оператор begin . . . end . " width="640"

Операторы цикла Цикл с параметром (с заданным числом повторений, цикл «ДЛЯ»)

i := n

i := n, k

нет

i ≤ k

тело цикла

да

тело цикла

For i := n to k do оператор ;

i := i+1

i – параметр цикла (переменная-счётчик);

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

k – конечное значение счётчика.

Тело цикла повторяется фиксированное число раз для переменной i .

Переменная i изменяется от n до k , увеличиваясь после каждого выполнения тела цикла на 1 . Цикл завершает работу, когда значение i станет больше k .

Если в теле цикла более одного оператора , то необходимо использовать составной оператор begin . . . end .

Трассировка программы с циклом «ДЛЯ» Для данного алгоритма составьте таблицу значений переменных при указанных значениях a и n . Что появится на экране? начало Program cikl_for; Var i, n: integer ; a, y: real ; Begin write ( 'Введите a, n: ' ); readln (a, n); y:= 1 ; for i:= 1 to n do  y:=y*a; writeln ( 'y=' , y); End . ввод a , n y := 1 i := 1, n +1 +1 y := y * a вывод  y конец

Трассировка программы с циклом «ДЛЯ»

Для данного алгоритма составьте таблицу значений переменных при указанных значениях a и n . Что появится на экране?

начало

Program cikl_for;

Var i, n: integer ; a, y: real ;

Begin

write ( 'Введите a, n: ' );

readln (a, n);

y:= 1 ;

for i:= 1 to n do

y:=y*a;

writeln ( 'y=' , y);

End .

ввод a , n

y := 1

i := 1, n

+1

+1

y := y * a

вывод y

конец

Трассировка программы с циклом «ДЛЯ» Для данного алгоритма составьте таблицу значений переменных при указанных значениях a и n . Что появится на экране? При a=4, n=3 Переменные a n y Условие i - - i  Program cikl_for; Var i, n: integer ; a, y: real ; Begin write ( 'Введите a, n: ' ); readln (a, n); y:= 1 ; for i:= 1 to n do  y:=y*a; writeln ( 'y=' , y); End . 4 3 - - 1 1 1 ≤3 (да) 4 Щелчок – шаг программы

Трассировка программы с циклом «ДЛЯ»

Для данного алгоритма составьте таблицу значений переменных при указанных значениях a и n . Что появится на экране?

При a=4, n=3

Переменные

a

n

y

Условие

i

-

-

i

Program cikl_for;

Var i, n: integer ; a, y: real ;

Begin

write ( 'Введите a, n: ' );

readln (a, n);

y:= 1 ;

for i:= 1 to n do

y:=y*a;

writeln ( 'y=' , y);

End .

4

3

-

-

1

1

1 ≤3 (да)

4

Щелчок – шаг программы

Трассировка программы с циклом «ДЛЯ» Для данного алгоритма составьте таблицу значений переменных при указанных значениях a и n . Что появится на экране? При a=4, n=3 Переменные a n y - i Условие - i  Program cikl_for; Var i, n: integer ; a, y: real ; Begin write ( 'Введите a, n: ' ); readln (a, n); y:= 1 ; for i:= 1 to n do  y:=y*a; writeln ( 'y=' , y); End . 3 4 1 1 1 ≤3 (да) 4 2 2≤3 (да) 16 Щелчок – шаг программы

Трассировка программы с циклом «ДЛЯ»

Для данного алгоритма составьте таблицу значений переменных при указанных значениях a и n . Что появится на экране?

При a=4, n=3

Переменные

a

n

y

-

i

Условие

-

i

Program cikl_for;

Var i, n: integer ; a, y: real ;

Begin

write ( 'Введите a, n: ' );

readln (a, n);

y:= 1 ;

for i:= 1 to n do

y:=y*a;

writeln ( 'y=' , y);

End .

3

4

1

1

1 ≤3 (да)

4

2

2≤3 (да)

16

Щелчок – шаг программы

Трассировка программы с циклом «ДЛЯ» Для данного алгоритма составьте таблицу значений переменных при указанных значениях a и n . Что появится на экране? При a=4, n=3 Переменные a n y Условие i - - i  Program cikl_for; Var i, n: integer ; a, y: real ; Begin write ( 'Введите a, n: ' ); readln (a, n); y:= 1 ; for i:= 1 to n do  y:=y*a; writeln ( 'y=' , y); End . 3 4 1 1 1 ≤3 (да) 4 2 2≤3 (да) 16 3 3≤3 (да) 64 Щелчок – шаг программы

Трассировка программы с циклом «ДЛЯ»

Для данного алгоритма составьте таблицу значений переменных при указанных значениях a и n . Что появится на экране?

При a=4, n=3

Переменные

a

n

y

Условие

i

-

-

i

Program cikl_for;

Var i, n: integer ; a, y: real ;

Begin

write ( 'Введите a, n: ' );

readln (a, n);

y:= 1 ;

for i:= 1 to n do

y:=y*a;

writeln ( 'y=' , y);

End .

3

4

1

1

1 ≤3 (да)

4

2

2≤3 (да)

16

3

3≤3 (да)

64

Щелчок – шаг программы

Трассировка программы с циклом «ДЛЯ» Для данного алгоритма составьте таблицу значений переменных при указанных значениях a и n . Что появится на экране? При a=4, n=3 Переменные a n y Условие i - - i  Program cikl_for; Var i, n: integer ; a, y: real ; Begin write ( 'Введите a, n: ' ); readln (a, n); y:= 1 ; for i:= 1 to n do  y:=y*a; writeln ( 'y=' , y); End . 4 3 1 1 1 ≤3 (да) 4 2 2≤3 (да) 16 3 3≤3 (да) 64 4 4≤3 (нет) Щелчок – шаг программы

Трассировка программы с циклом «ДЛЯ»

Для данного алгоритма составьте таблицу значений переменных при указанных значениях a и n . Что появится на экране?

При a=4, n=3

Переменные

a

n

y

Условие

i

-

-

i

Program cikl_for;

Var i, n: integer ; a, y: real ;

Begin

write ( 'Введите a, n: ' );

readln (a, n);

y:= 1 ;

for i:= 1 to n do

y:=y*a;

writeln ( 'y=' , y);

End .

4

3

1

1

1 ≤3 (да)

4

2

2≤3 (да)

16

3

3≤3 (да)

64

4

4≤3 (нет)

Щелчок – шаг программы

Задача 1а Вывести на экран последовательность натуральных чисел до N включительно. начало Program Cikl_for_1; Var i, n: integer ; Begin write ( 'Введите n: ' ); readln (n); //для i от 1 до n повторять: for i:= 1 to n do  write (i: 3 ); writeln ( ' Всё!' ); End . ввод  n i := 1, n вывод  i +1

Задача 1а

Вывести на экран последовательность натуральных чисел до N включительно.

начало

Program Cikl_for_1;

Var i, n: integer ;

Begin

write ( 'Введите n: ' ); readln (n);

//для i от 1 до n повторять:

for i:= 1 to n do

write (i: 3 );

writeln ( ' Всё!' );

End .

ввод n

i := 1, n

вывод i

+1

"Всё!"

конец

Задача 1б Вывести на экран последовательность чётных натуральных чисел до N включительно. k i 1 2 2 4 3 6 4 8 5 10 i=2k начало Program Cikl_for_2; Var i, k, n: integer ; Begin write ( 'Введите n: ' ); readln (n); for k:= 1 to (n div 2 ) do  begin  i:= 2 *k;  write (i: 3 )  end ; writeln ( ' Всё!' ); End . ввод  n k := 1, n/2 i:=2k вывод  i

Задача 1б

Вывести на экран последовательность чётных натуральных чисел до N включительно.

k

i

1

2

2

4

3

6

4

8

5

10

i=2k

начало

Program Cikl_for_2;

Var i, k, n: integer ;

Begin

write ( 'Введите n: ' ); readln (n);

for k:= 1 to (n div 2 ) do

begin

i:= 2 *k;

write (i: 3 )

end ;

writeln ( ' Всё!' );

End .

ввод n

k := 1, n/2

i:=2k

вывод i

"Всё!"

конец

Задача 1в Вывести на экран последовательность нечётных натуральных чисел до N включительно. k i 1 1 2 3 3 5 4 7 5 9 i=2k-1 начало Program Cikl_for_3; Var i, k, n: integer ; Begin write ( 'Введите n: ' ); readln (n); for k:= 1 to (n div 2 ) do  begin  i:= 2 *k- 1 ;  write (i: 3 )  end ; writeln ( ' Всё!' ); End . ввод  n k := 1, n/2 i:=2k-1 вывод  i

Задача 1в

Вывести на экран последовательность нечётных натуральных чисел до N включительно.

k

i

1

1

2

3

3

5

4

7

5

9

i=2k-1

начало

Program Cikl_for_3;

Var i, k, n: integer ;

Begin

write ( 'Введите n: ' ); readln (n);

for k:= 1 to (n div 2 ) do

begin

i:= 2 *k- 1 ;

write (i: 3 )

end ;

writeln ( ' Всё!' );

End .

ввод n

k := 1, n/2

i:=2k-1

вывод i

"Всё!"

конец

Задача 2 Получить таблицу значений функции y=x 2 для x=1; 2; 3; …; 10 . Program Kvadraty; Var x, y: integer ; Begin writeln ( 'Квадраты чисел:' ); //для x от 1 до 10 повторять: for x:= 1 to 10 do  begin  y:=x*x; //вычисление функции  writeln (x: 5 , y: 5 ); //вывод на экран  end ; End . начало x := 1, 10 y := x 2 вывод  x,y конец

Задача 2

Получить таблицу значений функции y=x 2 для x=1; 2; 3; …; 10 .

Program Kvadraty;

Var x, y: integer ;

Begin

writeln ( 'Квадраты чисел:' );

//для x от 1 до 10 повторять:

for x:= 1 to 10 do

begin

y:=x*x; //вычисление функции

writeln (x: 5 , y: 5 ); //вывод на экран

end ;

End .

начало

x := 1, 10

y := x 2

вывод x,y

конец

Задача 3 Вычислить значение суммы s = 1+2+3+…+n для заданного n . Program Summa_natur; Var n, x, s: integer ; Begin writeln ( 's=1+2+3+ ... +n' ); write ( 'Введите n : ' ); readln (n); s:= 0 ; //начальное значение суммы for x:= 1 to n do //для x от 1 до n повторять  s:=s+x; //добавл. число к сумме writeln ( 's=' , s); //сумма чисел End . начало ввод  n s := 0 x := 1, n s := s+x вывод  s конец

Задача 3

Вычислить значение суммы s = 1+2+3+…+n для заданного n .

Program Summa_natur;

Var n, x, s: integer ;

Begin

writeln ( 's=1+2+3+ ... +n' );

write ( 'Введите n : ' ); readln (n);

s:= 0 ; //начальное значение суммы

for x:= 1 to n do //для x от 1 до n повторять

s:=s+x; //добавл. число к сумме

writeln ( 's=' , s); //сумма чисел

End .

начало

ввод n

s := 0

x := 1, n

s := s+x

вывод s

конец

Задача 4 Вычислить факториал числа k  ( k  не более 12 ). k! = 1∙2∙3∙ … ∙k Program Faktorial; Var k, i, p: integer ; Begin write ( 'Введите k (p:= 1 ; //нач. знач. произведения for i:= 1 to k do //для i от 1 до k повторять  p:=p*i; //добавл. число к произвед. writeln (k, '!=' , p); //факториал числа End . начало ввод  k p := 1 i := 1, k p := p ∙ i вывод  p конец

Задача 4

Вычислить факториал числа k ( k не более 12 ).

k! = 1∙2∙3∙ … ∙k

Program Faktorial;

Var k, i, p: integer ;

Begin

write ( 'Введите k (

p:= 1 ; //нач. знач. произведения

for i:= 1 to k do //для i от 1 до k повторять

p:=p*i; //добавл. число к произвед.

writeln (k, '!=' , p); //факториал числа

End .

начало

ввод k

p := 1

i := 1, k

p := p ∙ i

вывод p

конец

Задача 5 Банк принимает вклады под 10% годовых. На счет положена сумма 10000 рублей. Какая сумма будет на счету через 5 лет? Program Vklad; Var g: integer ; s: real ; Begin s:= 10000 ; //начальный вклад writeln ( 'Начальная сумма ' , s); //цикл для g от 1 до 5 for g:= 1 to 5 do  begin  s:=s+ 0.1 *s; //добавление 10%  writeln (g, ' год сумма ' , s);  end ; End . начало s := 10000 g := 1, 5 s := s+0,1*s вывод  g, s конец

Задача 5

Банк принимает вклады под 10% годовых. На счет положена сумма 10000 рублей. Какая сумма будет на счету через 5 лет?

Program Vklad;

Var g: integer ; s: real ;

Begin

s:= 10000 ; //начальный вклад

writeln ( 'Начальная сумма ' , s);

//цикл для g от 1 до 5

for g:= 1 to 5 do

begin

s:=s+ 0.1 *s; //добавление 10%

writeln (g, ' год сумма ' , s);

end ;

End .

начало

s := 10000

g := 1, 5

s := s+0,1*s

вывод g, s

конец

9 да i := i+1 нет конец " width="640"

Задача 6

Вывести на экран квадраты и кубы целых чисел от 1 до 9, используя различные типы циклов.

начало

начало

начало

i := 1

i := 1

i := 1, 9

конец

i ≤ 9

i2 := i*i

нет

i3 := i2*i

i2 := i*i

i3 := i2*i

да

конец

i2 := i*i

i3 := i2*i

вывод i, i2, i3

вывод i, i2, i3

i := i+1

вывод i, i2, i3

i 9

да

i := i+1

нет

конец

9 ; end ; End . End . Program Cikl_For; Var i, i2, i3: integer ; Begin For i:= 1 to 9 do begin i2:=i*i; i3:=i2*i; writeln (i: 5 , i2: 5 , i3: 5 ); end ; End . " width="640"

Задача 6

Вывести на экран квадраты и кубы целых чисел от 1 до 9, используя различные типы циклов.

Program Cikl_Repeat;

Program Cikl_While;

Var i, i2, i3: integer ;

Var i, i2, i3: integer ;

Begin

Begin

i:= 1 ;

i:= 1 ;

Repeat

While ido

i2:=i*i;

begin

i2:=i*i;

i3:=i2*i;

i3:=i2*i;

writeln (i: 5 , i2: 5 , i3: 5 );

writeln (i: 5 , i2: 5 , i3: 5 );

i:=i+ 1

i:=i+ 1

Until i 9 ;

end ;

End .

End .

Program Cikl_For;

Var i, i2, i3: integer ;

Begin

For i:= 1 to 9 do

begin

i2:=i*i;

i3:=i2*i;

writeln (i: 5 , i2: 5 , i3: 5 );

end ;

End .

-75%
Курсы профессиональной переподготовке

Учитель, преподаватель физики и информатики

Продолжительность 600 или 1000 часов
Документ: Диплом о профессиональной переподготовке
17800 руб.
от 4450 руб.
Подробнее
Скачать разработку
Сохранить у себя:
Операторы цикла в языке Pascal (955.97 KB)

Комментарии 0

Чтобы добавить комментарий зарегистрируйтесь или на сайт

© 2008-2024, ООО «Мультиурок», ИНН 6732109381, ОГРН 1156733012732

Учителю!
Огромная база учебных материалов на каждый урок с возможностью удаленного управления
Тесты, видеоуроки, электронные тетради