Учитель информатики "СОШ 6" г. Кирова Захарова Е.В. ЦИКЛЫ В ПАСКАЛЕ
ЦИКЛ СО СЧЕТЧИКОМ Х – управляющая переменная А – начальное значение В – конечное значение Если А < В: ForDownTo оператор; Х:=А B Do Если А > В: For To оператор; Х:=А B Do для X от А до В делай оператор
X= A, B ОПЕРАТОР
Задание 1 Составить программу, которая выводит на экран натуральные числа от 1 до …30 Х – управляющая переменная А = 1 В = 30 Решение:
X= 1, 30 начало X X конец Program z1; Var x:integer; Begin For x:=1 to 30 do WriteLn(x); ReadLn; End.
Задание 2 Составить программу, которая выводит на экран нат. числа от 1 до 30 в обратном порядке 30,29,28 … 1 Самостоятельно
Program z2; Var x:integer; Begin For x:=30 downto 1 do WriteLn(x); ReadLn; End. Проверка
Задание 3 Составить программу, которая выводит на экран четные натуральные числа от 1 до 30 Условие четности числа – остаток от деления на 2 =0 X mod 2=0 Решение:
X= 1, 30 начало X X конец X mod 2=0 данет
Program z3; Var x:integer; Begin For x:=1 to 30 do if x mod 2=0 then WriteLn(x); ReadLn; End.
Задание 4 Составить программу, которая выводит на экран нечетные натуральные числа от 1 до 30 Самостоятельно
Условие нечетности числа – остаток от деления на 2 0 X mod 20 Проверка Program z4; Var x:integer; Begin For x:=1 to 30 do if x mod 20 then WriteLn(x); ReadLn; End.
Задание 5 Составить программу, которая находит сумму четных чисел из промежутка от 1 до 20 S=2+4+…+20
Program z5; Uses Crt; Var x,s:integer; Begin Clrscr; For x:=1 to 20 do if x mod 2=0 then s:=s+x; WriteLn(сумма четных= ',s); ReadLn; End.
Задание 6 Составить программу, которая вычисляет значения функции y=x 2 –1, где x [-2 ;2] c шагом 1 x = -2 y=3 x = -1 y = 0 … x=2 y=3
Задание 7 Составить программу, которая вычисляет значения функции y=x 2 –1, где x [-2 ;2] c шагом 0,5 x = -2 y=3 x =-1,5 y= 1,25 x = -1 y = 0 … x=2 y=3 Эту проблему решит цикл по условию
ЦИКЛ С ПРЕДУСЛОВИЕМ While условие Do оператор; да нет
условие тело цикла нет да
Задание 7 Составить программу, которая вычисляет значения функции y=x 2 –1, где x [-2 ;2] c шагом 0,5 x = -2 y=3 x =-1,5 y= 1,25 x = -1 y = 0 … x=2 y=3
начало x:=-2 x
Program z6; Var x,y:Real; Begin x:=-2; While x
ЦИКЛ С ПОСТУСЛОВИЕМ Repeat ; … Until Until ; нет да
тело цикла условие да нет
Program z7; Var x,y:Real; Begin x:=-2; Repeat y:=sqr(x)-1; WriteLn('x=',x,' y=',y); ReadLn; x:=x+0.5 Until x>2 End.
Задание 8 Составить программу, которая определяет количество цифр в введенном натуральном числе N –натуральное число K – количество цифр в числе n=3 k=1 n=46 k=2 n=2399 k=4…
Чтобы подсчитать количество цифр в числе, необходимо определить, сколько раз заданное число можно разделить на 10 нацело. nk div 10 = div 10 = div 10 = div 10 =14 1 div 10 =05
НАЧАЛО НАЧАЛО n n n:=n div 10 k:=k+1 n=0 k k КОНЕЦ КОНЕЦ да нет
Program z8; Uses crt; Var n,k:integer; BeginClrscr; WriteLn(введите натуральное число'); WriteLn(введите натуральное число'); ReadLn(n); ReadLn(n); Repeat Repeat n:=n div 10; n:=n div 10; k:=k+1; k:=k+1; Until n=0; Until n=0; Write('kol= ',k); Write('kol= ',k); ReadLn; ReadLn; End. End.
Задание 9 Составить программу, которая определяет количество слов во введенном предложении Под словом понимаем набор символов между пробелами Кот и кит 2 пробела 3 слова Количество слов на 1 больше, чем количество пробелов
Кот и кит начало Copy(s,i,1)= d:=length(s) Ввести s нетда i=1,d k:= k+1 Вывести k+1 конец
Кот и кит шагаiCopy(s,i,1)= k:=k+1 11нетк о т 0 44да = 1 55нет и 1 66да = 2 99 нет т 2 Вывод 2+1
Program z9; Uses Crt; Var s:String;{вводимая строка} d,i,k:integer; d,i,k:integer;BeginClrScr; WriteLn('введи строку'); WriteLn('введи строку'); ReadLn(s); ReadLn(s); d:=Length(s); d:=Length(s); for i:=1 to d do if s[i]=' ' then k:=k+1; for i:=1 to d do if s[i]=' ' then k:=k+1; WriteLn('во введенной строке ',k+1,' слов '); WriteLn('во введенной строке ',k+1,' слов '); ReadLn; ReadLn;end.
Задание 10 Составить программу, которая выводит введенное слово назад (ввод – кот вывод – ток) Обозначим S- вводимое слово S1 – выводимое слово (слово s назад) d- длина слова i - счетчик
начало d:=length(s) Ввести s i=d,1 Вывести s1 конец s1:= copy(s,i,1) 1
Кот шагаis1:=copy(s,i,1) 13 т 2 2о 3 1к
Program z10; Uses Crt; Var s,s1:String; d,i,:integer; d,i,:integer;BeginClrScr; WriteLn(введи слово'); WriteLn(введи слово'); ReadLn(s); ReadLn(s); d:=Length(s); d:=Length(s); for i:=d downto 1 do for i:=d downto 1 do Begin Begin s1:=copy(s,i,1); s1:=copy(s,i,1); Write(s1); Write(s1); ReadLn; ReadLn; end; end;end.
Задание 11 Составить программу, которая определяет факториал вводимого числа f = n! f = n! =1*2*3*…*n
начало x:=1 x
Program 11; Uses Crt; Var n,f,x:LongInt; Begin ClrScr; ClrScr; Write('n='); Write('n='); readln(n); readln(n); f:=1; f:=1; x:=1; x:=1; While x