Стандартные задачи на циклы

Простейшие алгоритмы
№1. Сумма вводимых целых чисел
begin var n := ReadInteger(‘Введите число слагаемых:’); var s := 0.0; for var i:=1 to n do begin var x := ReadReal($’Введите слагаемое №{i}:’); s += x; end; ln($’Сумма равна {s}’); end.
В алгоритме используются интерполированные строки вида $’Сумма равна {s}’. Они начинаются с $. Выражение в фигурных скобках, расположенное в такой строке, заменяется на его значение.
№2. Произведение целых чисел
begin var n := ReadInteger(‘Введите число множителей: ‘); var p := 1.0; for var i:=1 to n do begin var x := ReadReal(‘Введите множитель: ‘); p *= x; end; ln($’Произведение равно {p}’); end.
№3. Двойной факториал n!!=n*(n-2)*(n-4)*…*2 (или 1)
begin var x := ReadInteger(‘Введите x: ‘); var p := 1; while x>=2 do begin p *= x; x -= 2; end; ln($’Двойной факториал равен {p}’); end.
№4. Сколько нечетных среди n введенных
begin var n := ReadInteger(‘Введите n: ‘); var c := 0; for var i:=1 to n do begin var x := ReadInteger(‘Введите целое число: ‘); if x mod 2 <> 0 then c += 1; end; ln($’Количество нечетных равно {c}’); end.
№5. Защита от неверного ввода
begin var x: real; repeat x := ReadReal(‘Введите x>0: ‘); if x<=0 then ln(‘Неверный ввод’); until x>0; end.
№6. Табулирование функции f(x) на отрезке в точках, разбивающих отрезок на N частей
Дан отрезок [a,b]
f(x: real) := sin(x)*x; begin var N := ReadInteger(‘Введите N: ‘); Assert(N>0); var (a,b) := ReadReal2(‘Введите a и b: ‘); var h := (b-a)/N; var x := a; loop N+1 do begin Writeln(x:5:2,f(x):10:4); x += h; end; end.
№6a. Решение, использующее while. Погрешность округления и вычислительная погрешность
f(x: real): real:= sin(x)*x; begin var N:=ReadInteger(‘Введите N: ‘); Assert(N>0); var (a,b):=ReadReal2(‘Введите a и b: ‘); var h := (b-a)/N; var x := a; while x <= b+h/2 do begin writeln(x:5:2,f(x):10:4); x += h; end; end.
Рекуррентные соотношения
№7. Вывод 10 первых степеней двойки
begin var x := 2; for var i := 1 to 10 do begin writeln(i:2,x:5); x *= 2; end; end.
№8. Вывод всех двухзначных чисел, кратных 5
begin var x := 10; while x < 100 do begin writeln(x:3); x += 5; end; end.
№9. Вывод n первых чисел Фибоначчи
begin var n := ReadInteger(‘Введите целое число n (n > 1): ‘); Assert(n>1); var (a,b) := (1,1); (a,b); loop n-2 do begin (a,b):=(b,a+b); (b); end; end.
В алгоритме используются кортежи. В момент переприсваивания в цикле создаются буферные переменные, что позволяет нам избежать их объявления вручную.
№10. Найти НОД(A,B), используя алгоритм Евклида:
НОД(A,B) = НОД(B,A mod B); НОД(A,0) = A
begin var (a,b):=ReadInteger2(‘Введите целые числа A и B: ‘); while b<>0 do (A,B):=(B,A mod B); ln($’НОД(A,B) = {A}’); end.
№11. Найти сумму цифр целого числа m
begin var m := ReadInteger(‘Введите целое число m: ‘); var (s,m1) := (0,abs(m)); while m1 > 0 do begin s += m1 mod 10; m1 := m1 div 10; end; ln($’Сумма цифр числа {m} равна {s}’); end.
Для работы с отрицательными числами в алгоритме используется стандартная функция abs(x) возвращающая модуль от x.
Максимумы и минимумы
№12. Найти max из введенных чисел
begin var n := ReadInteger(‘Введите целое число n (n>0): ‘); assert(n>0); var x := ReadReal(‘Введите 1 число: ‘); var max := x; for var i := 2 to n do begin x := ReadReal($’Введите {i} число: ‘); if max < x then max := x; end; ln($’Максимальное из введенных чисел: {max}’); end.
№12a. Найти min, удовлетворяющее условию p(x)
// Условие взятое как пример (Если число положительное, то условие p(x) возвращает true, иначе false) p(x: real): boolean:=x > 0; begin var n := ReadInteger(‘Введите целое число n (n>0): ‘); assert(n>0); var min := real.MaxValue; for var i := 1 to n do begin var x := ReadReal($’Введите {i} число: ‘); if (x < min) and p(x) then min := x; end; if min = real.MaxValue then ln(‘Нет чисел, удовлетворяющих условию’) else ln($’Минимальное из введенных чисел, удовлетворяющее условию: {min}’); end.
Суммирование рядов (конечных и бесконечных)
№13. Вычислить Σ(i=1..n) a^i/i!
begin var a:=ReadReal(‘Введите a: ‘); var n:=ReadInteger(‘Введите n (n>0): ‘); assert(n>0); var x := a; var s := x; for var i := 2 to n do begin x *= a / i; s += x; end; ln($’Сумма = {s}’); end.
№13a. Вычислить Σ(i=1..∞) (-1)^i * a^i/i!
begin var a:=ReadReal(‘Введите a (0 < a < 1): ‘); assert((a>0) and (a<1)); var eps := 0.0001; var i := 1; var s := 0.0; var y := -a; repeat s += y / i; i += 1; y *= -a; until abs(y/i) < eps; ln($’Сумма = {s}’); end.
Поиск значения
№14. Есть ли среди введенных число k?
var n,k: integer; begin write(‘Введите целые числа n (n>0) и k: ‘); readln(n,k); assert(n>0); var Exists := false; for var i := 1 to n do begin write(‘Введите ‘, i, ‘ целое число: ‘); var x := ReadInteger; if x = k then begin Exists := true; break; end; end; if Exists then writeln(‘Число ‘, k, ‘ было введено’) else writeln(‘Число ‘, k, ‘ не было введено’); end.
№14b. Есть ли среди введенных число k? (то же с использованием while)
var n,k: integer; begin write(‘Введите целые числа n (n>0) и k: ‘); readln(n,k); assert(n>0); var Exists := false; var i := 1; while (i <= n) and not Exists do begin write(‘Введите ‘, i, ‘ целое число: ‘); var x := ReadInteger; i += 1; if x = k then Exists := true; end; if Exists then writeln(‘Число ‘, k, ‘ было введено’) else writeln(‘Число ‘, k, ‘ не было введено’); end.
№15. Является ли число N>1 простым?
begin write(‘Введите целое число N (N>1): ‘); var N := ReadInteger; assert(N>1); var IsPrime := True; for var i := 2 to round(sqrt(N)) do if N mod i = 0 then begin IsPrime := False; break; end; if IsPrime then writeln(‘Число ‘, N, ‘ является простым’) else writeln(‘Число ‘, N, ‘ является составным’); end.
Другие алгоритмы
№16. Разложение числа на простые множители
begin var x := ReadInteger(‘Введите целое число x (x>1): ‘); assert(x>1); var i := 2; write(x, ‘ = 1’); repeat if x mod i = 0 then begin (‘*’, i); x := x div i; end else i += 1; until x = 1; end.
№17. Вычисление значения многочлена в точке x по схеме Горнера
var x,a: real; n: integer; begin write(‘Введите x: ‘); readln(x); write(‘Введите степень многочлена n (n>0): ‘); readln(n); assert(n>=0); write(‘Введите коэффициенты: ‘); readln(a); var s := a; for var i := 1 to n do begin write(‘Введите a_{‘, i+1,’}: ‘); readln(a); s := s*x + a; end; writeln(‘Значение многочлена p(x) = a_{1}*x^n + a_{2}*x^(n-1) + … + a_{n}*x + a_{n+1} в точке x = ‘, x, ‘ равно ‘, s); end.
№18. Дана непрерывная на отрезке функция f(x), имеющая на отрезке ровно один корень. Найти его методом половинного деления
Дан отрезок [a,b] (f(a)*f(b)<=0)
// В качестве примера взяты eps = 0.0001 и функция f(x) = sin(x) const eps = 0.0001; const f = sin; var a,b: real; begin write(‘Введите числа a и b (a<b): ‘); readln(a,b); assert(a<b); var fa := f(a); var fb := f(b); assert(fb*fa<0); while (b-a) > eps do begin var x := (b+a)/2; var fx := f(x); if fa*fx <= 0 then b := x; else begin a := x; fa := fx; end; end; writeln(‘Корень функции на [a,b] равен ‘,(b+a)/2); end.
© Буцев Виктор, Белоусько Тихон, Зуев Семен, Гончаров Владислав, Батраков Михаил, Гаджиев Казанфар, Пак Владислав
Источник
Решенные задачи Pascal: операторы цикла
Pascal операторы цикла – Repeat
Repeat 1: Даны положительные числа A и B (A>B). На отрезке длины A размещено максимально возможное количество отрезков длины B (без наложений). Не используя операции умножения и деления, найти количество отрезков B, размещенных на отрезке A.
Проверить:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | var a,b,temp,c:integer; flag: boolean; begin writeln(‘A=’); readln(a); writeln(‘B=’); readln(b); temp:=a; repeat temp:=temp-b; inc(c); until temp-b>=0; writeln(‘result: ‘,c); end. |
Pascal операторы цикла – While
While 1: Определите значение переменной P после выполнения следующего фрагмента программы:
1 2 3 4 5 | P:=1; i:=3; while i <= 9 do begin P := P * (i div 3); i := i + 1; end; |
Варианты:
1) 1
2) 3
3) 9
4) 24
Проверить:
While 2: Определите значение переменной S после выполнения следующего фрагмента программы:
1 2 3 4 5 | S:=0; i:=7; while i > 1 do begin S := S + i div 2; i := i – 1; end; |
Варианты:
1) S = 0
2) S = 7
3) S = 12
4) S = 24
Проверить:
While 3: Даны целые положительные числа N и K. Используя только операции сложения и вычитания, найти частное от деления нацело N на K, а также остаток от этого деления.
Решение данного задания смотрите в видео уроке по Паскалю:
While 4: Дано целое число N (> 0). С помощью операций деления нацело и взятия остатка от деления определить, имеется ли в записи числа N цифра «2». Если имеется, то вывести TRUE, если нет – вывести FALSE.
Проверить:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | var number:integer; flag: boolean; begin writeln(‘введите целое число (number>0) number=’); readln(number); flag:=false; while (number div 10)>0 do begin if (number mod 10) = 2 then flag:=true; number:=number div 10; end; writeln(flag); end. |
While 5:
Дано целое число N (>1). Найти наибольшее целое число K, при котором выполняется неравенство 3K<N
* Из задачника М. Э. Абрамян (While10)
Предлагаем посмотреть разбор задачи на видео:
While 6:
Дано число A (>1). Вывести наибольшее из целых чисел K, для которых сумма 1+1/2+…+1/K будет меньше A, и саму эту сумму
* Из задачника М. Э. Абрамян (While14)
Проверить:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | var Temp:Real; A,K :Integer; begin Write(‘Введите A: ‘); Readln(A); K:=0; Temp:=0; while Temp<=A do begin inc(K,1); Temp:=Temp+1/K; end; Writeln(K-1,’ ‘,Temp-1/K); end. |
While 7:
Дано целое число K и набор ненулевых целых чисел; признак его завершения – число 0. Вывести количество чисел в наборе, меньших K
* Из задачника М. Э. Абрамян (Series14)
Проверить:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | var i,R,K:Longint; begin write(‘Введите K : ‘); readln(K); R:=1; i:=0; while(R<>0) do begin write(‘Введите число из набора: ‘); Readln(R); if R<K then i:=i+1; end; i:=i-1; Writeln(i); readln; end. |
While 8:
Спортсмен-лыжник начал тренировки, пробежав в первый день 10 км. Каждый следующий день он увеличивал длину пробега на P процентов от пробега предыдущего дня (P – вещественное, 0<P<50). По данному P определить, после какого дня суммарный пробег лыжника за все дни превысит 200 км, и вывести найденное количество дней K (целое) и суммарный пробег S (вещественное число).
* Из задачника М. Э. Абрамян (While16)
Проверить:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | var P, S, D:Real; K :Integer; begin Write(‘Введите процент: ‘); Readln(P); K:=1; D:=10; S:=10; while S<=200 do begin inc(K,1); D:=D+D*P/100; S:=S+D; end; Writeln(K,’ ‘,S); end. |
Pascal операторы цикла – For
For 1: Дано вещественное число – цена 1 кг конфет. Вывести стоимость 0.1, 0.2, …, 1 кг конфет.
* Из задачника М. Э. Абрамян
Проверить:
1 2 3 4 5 6 7 8 9 10 11 12 | var c,m:real; i:integer; begin writeln(‘Цена?’); readln(c); m:=0.1; for i := 1 to 10 do begin writeln(‘ price of ‘,m, ‘ kg = ‘,c*m); m:=m+0.1; end; end. |
For 2: Даны два целых числа A и B ( A<B ). Вывести в порядке убывания все целые числа, расположенные между A и B (не включая числа A и B), а также количество N этих чисел.
* Из задачника М. Э. Абрамян
Проверить:
1 2 3 4 5 6 7 8 9 10 11 | var a, b, i: integer; begin writeln(‘A:’); readln(a); writeln(‘B:’); readln(b); for i:= b-1 downto a+1 do write(i:3 ); writeln; writeln(‘kolvo: ‘,b-a-1); end. |
For 3:
Дано целое число N>0. Найти сумму
* Из задачника М. Э. Абрамян (For11)
Проверить:
1 2 3 4 5 6 7 8 9 | var N, Rez,i :Integer; begin Write(‘Введите N: ‘); Readln(N); rez:=0; For i:=0 to N do Rez:=Rez+sqr(N+i); Writeln(Rez); end. |
Сейчас предлагаем решить сложную олимпиадную задачу на Паскале:
Пять делителей: Найти сумму всех чисел от 1 до заданного n, имеющих ровно пять делителей. Единица и само число входят в число его делителей
Проверить:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | var c,n,s,k,i:integer; begin c:=0; s:=0; readln(n); for i:=2 to n do begin k:=i; while k>0 do begin if i mod k = 0 then c:=c+1; k:=k-1; end; if c= 5 then s:=s+i; c:=0; end; writeln(s); end. |
Источник
Оператор цикла WHILE
Задача 1. Дано целое число а и натуральное (целое неотрицательное) число n. Вычислить а в степени n. {Введем целую переменную k, которая меняется от 0 до n, причем поддерживается такое свойство: b = (a в степени k).}
USES Crt;
VAR
A, N, B, K : INTEGER;
BEGIN
ClrScr;
Write(‘ Введите два значения ‘); ReadLn(A,N);
K := 0; B := 1;
While K <> N DO Begin
K := K + 1; B := B * A;
End;
Write(‘ A в степени N = ‘,B);
END.
Другое решение той же задачи:
USES Crt;
VAR
A, N, B, K : INTEGER;
BEGIN
ClrScr; { Чистка экрана }
Write(‘ Введите два значения ‘); ReadLn(A,N);
K := N; B := 1;
{A в степени N = B * (A в степени K)}
While K <> 0 DO Begin
K := K – 1; B := B * A;
End;
Write(‘ A в степени N = ‘,B);
END.
Задача 2. Даны натуральные числа а, b. Вычислить произведение а*b, используя в программе лишь операции +, -, =, <>.
USES Crt;
VAR
A, B, C, K : INTEGER;
BEGIN
Write(‘ Введите два значения ‘); ReadLn(A,B);
K := 0; C := 0;
While K <> B DO Begin
K := K + 1; C := C + A;
End;
{C = A * K и K = B, следовательно, C = A * B}
Write(‘ A*B= ‘,C);
END.
Задача 3. Дано натуральное (целое неотрицательное) число A и целое положительное число D. Вычислить частное Q и остаток R при делении A на D, не используя операций DIV и MOD. (Согласно определению, А = Q * D + R, 0 <= R < D.)
USES Crt;
VAR
A, D, R, Q : INTEGER;
BEGIN
ClrScr;
Write(‘ Введите два значения ‘); ReadLn(a,d);
R := A; Q := 0;
While Not (R < D) DO Begin
R := R – D; {R >= 0}
Q := Q + 1;
End;
WriteLn(‘ Частное = ‘,Q);
WriteLn(‘ Остаток = ‘,R);
END.
Задача 4. Каждый год урожайность повышается на 5%. Через сколько лет урожай удвоится?
USES Crt;
VAR
YR, KL: BYTE; YRG: REAL;
Begin
ClrScr;
Write(‘Введите урожайность ‘); ReadLn(YR);
YRG:=YR;
While (YRG <2*YR) Do Begin
YRG:=YRG+0.05*YRG;
KL:=KL+1;
End;
WriteLn(‘Новый урожай ‘,YRG:5:0);
Write(‘Через ‘,KL,’ лет урожай удвоится’);
END.
Задача 5. Деду M лет, а внуку N лет. Через сколько лет дед станет вдвое старше внука. И сколько при этом лет будет деду и внуку.
USES Crt;
VAR
M,N: BYTE; Kl: BYTE;
BEGIN
ClrScr;
Write(‘Введите количество лет деда ‘); ReadLn(m);
Write(‘Введите количество лет внука ‘); ReadLn(n);
KL:=0;
While (M>2*N) DO Begin
M:=M+1; N:=N+1; KL:=KL+1;
End;
WriteLn(M,’ лет деду’);
WriteLn(N,’ лет внуку’);
WriteLn(‘Через ‘,KL,’ лет дед вдвое станет старше внука’);
END.
Задача 6. Поле засеяли цветами двух сортов на площади S1 и S2. Каждый год площадь цветов первого сорта увеличивается вдвое, а площадь второго сорта увеличивается втрое. Через сколько лет площадь первых сортов будет составлять меньше 10% от площади вторых сортов.
USES Crt;
VAR
S1,S2:WORD; KL:BYTE;
BEGIN
ClrScr;
Write(‘Введите площадь, которую засеяли цветами 1-го сорта ‘); ReadLn(S1);
Write(‘Введите площадь, которую засеяли цветами 2-го сорта ‘); ReadLn(S2);
KL:=1;
While (S1>0.1*S2) DO Begin
S1:=S1*2; S2:=S2*3; KL:=KL+1;
End;
WriteLn(‘Площадь, которую засеяли цветами 1-го сорта ‘,S1);
WriteLn(‘Площадь, которую засеяли цветами 2-го сорта ‘,S2);
WriteLn(‘Через ‘, kl,’ лет’);
END.
Задача 7. Составить программу перевода числа из 10 системы счисления в 2 систему счисления.
Для этой задачи представлено два решения.
a)
USES Crt;
VAR
DES, OST, I, DW:INTEGER;
BEGIN
ClrScr;
Write(‘Введите десятичное число ‘); ReadLn(DES);
I:=1;
While (DES>=2) DO Begin
OST:=DES mod 2;
DES:=DES div 2;
DW:=DW+OST*I;
I:=I*10;
End;
DW:=DW+DES*I;
Write(‘Двоичная запись числа ‘,DW);
END.
b)
USES Crt;
Const A=10;
VAR
DES, OST, I:INTEGER;
DW:Array[1..100] OF INTEGER;
BEGIN
ClrScr;
Write(‘Введите десятичное число ‘); ReadLn(des);
I:=1;
While (des>=2) DO Begin
OST:=DES mod 2;
DES:=DES div 2;
DW[I]:=OST;
I:=I+1;
End;
DW[I]:=DES;
FOR I:=I DownTo 1 DO
Write(DW[I]);
END.
…………………………………………………………………………………………………………………….
Практические задания
…………………………………………………………………………………………………………………….
Составить программу, печатающую квадраты всех натуральных чисел от 0 до заданного натурального n.
Дано натуральное n, вычислить n! (0!=1, n! = n * (n-1)!).
Последовательность Фибоначчи определяется так: a(0)= 1, a(1) = 1, a(k) = a(k-1) + a(k-2) при k >= 2. Дано n, вычислить a(n).
К старушке на обед ходят кошки. Каждую неделю две кошки приводят свою подружку. В доме у старушки 100 мисок. Через какое время появятся лишние кошки, и сколько кошек при этом останется голодными.
Известна сумма номеров страниц, определить номер страницы.
Лягушка каждый последующий прыжок делает в два раза короче предыдущего. Достигнет ли она болота и за сколько прыжков. Длину первого прыжка задайте самостоятельно.
Источник
5 987
Сборник примеров задач с решениями при использовании команды цикла For
Вывод на экран
Спросить имя пользователя и вывести его на экран 10 раз.
Спросить имя пользователя и вывести его на экран Р раз, указывая порядковый номер вывода.
Вывести на экран числа от -5 до 15 через пробел
Вывести на экран числа от 1 до А (A>1)
Вывести на экран числа от -A до А
Вывести на экран числа от А до В
Вывести на экран все цифры
Вывести на экран квадратный корень чисел от 1 до А. (A>1)
Вывести на экран квадраты чисел от А до В
Вывести на экран все 2-ух цифровые числа
Вывести на экран все отрицательные цифры
Вывести на экран все отрицательные 2-ух цифровые числа
Вывести на экран 2-ух цифровые числа от А до В по 4 в строке 1 способ (не всегда правильный)
Вывести на экран 2-ух цифровые числа от А до В по 4 в строке (2 способ)
Вывести на экран таблицу умножения на А
Вывод числовых последовательностей
Вывести на экран через пробел нечетные числа от 1 до 50
Вывести на экран четные числа от 2 до 60 по 5 в строке
Вывести на экран 2-ух цифровые числа кратные 5
Вывести на экран 2-ухцифровые числа кратные Н
Вывести на экран 2-ухцифровые числа кратные Н с промежутка (А..В)
Вывести на экран 2-ух цифровые числа у которых сумма цифр равна 9
Вывести на экран 2-ух цифровые числа у которых сумма цифр не равна 5
Вывести на экран 3-ох цифровые числа у которых сумма цифр равна произведению
Нахождение значения функции
Распечатать таблицу значений Y=x*x на промежутке от -10 до 10
Распечатать таблицу значений Y=3*x-5 на промежутке от -A до A
Распечатать таблицу значений Y=3*x-5 на промежутке от A до B
Функция Промежуток [-5;5]
Функция Промежуток [a;b]
Нахождение сумм числовых последовательностей
Найти суму чисел от 1 до 100
Найти суму парных двухцифровых чисел и вывести результаты промежуточных вычислений
Найти суму 2-ух цифровых чисел на промежутке от А до В
Найти суму непарных 3-oх цифровых чисел}
Найти суму чисел не кратных 3 на промежутке от 1 до А
Найти суму чисел кратных Н на промежутке от -А до А
Найти суму чисел не кратных Н на промежутке от А до В
Найти суму корней из чисел от 1 до Н
Найти суму кубов из чисел от A до B
Нахождение колличеств чисел
Найти количество парных двухцифровых чисел
Найти количество непарных 3-oх цифровых чисел
Найти количество цифр не кратных 3 от А до В
Найти количество чисел кратных Н на промежутке от -А до А
Найти количество чисел не кратных Н на промежутке от А до В
Нахождение произведения числовых последовательностей
Найти произведение чисел от 1 до 10
Найти произведение двухцифровых чисел кратных 20
Найти произведение 2-ух цифровых чисел на промежутке от А до В c выводом промежуточных вычислений
Найти произведение цифр не кратных 3
Найти произведение чисел кратных Н на промежутке от -А до А
Найти произведение чисел не кратных Н на промежутке от А до В c промежуточными вычислениями
Среднее арифметическое числовых последовательностей
Найти среднее арифметическое чисел от 1 до 100 c точностью 2 знака после запятой
Найти среднее арифметическое парных 2-ух цифровых чисел
Найти среднее арифметическое 2-ух цифровых чисел на промежутке от А до В (A>10, BB)
Найти среднее арифметическое трёхцифровых чисел кратных 100 с выводом промежуточных результатов
Найти среднее арифметическое цифр не кратных 3
Найти среднее арифметическое чисел не кратных Н на промежутке от -А до А
Найти среднее арифметическое чисел кратных Н на промежутке от А до В
Нахождение сумм и произведений значений функции
Найти суму значений функции на промежутке от А до В
Y=x*x
Функция
Функция
Найти произведение значений функции на промежутке от А до В
Y=x*x
Функция
Функция
Найти среднее арифметическое значений функции на промежутке от А до В
Y=x*x
Функция
Функция
Найти минимальное значение функции на промежутке от А до В
Y=x*x
Функция
Функция
Найти максимальное значение функции на промежутке от А до В
Y=x*x
Функция
Функция
Найти разницу между максимальным и минимальным значением функции на промежутке от А до В
Y=x*x
Функция
Функция
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник
Описание презентации по отдельным слайдам:
1 слайд
2 слайд
Описание слайда:
REPEAT <тело цикла> UNTIL <условие>; Цикл с пост условием WHILE <условие> DO begin <тело цикла> end; Цикл с пред условием for i:= 1 to n do Цикл с параметром Циклы в Паскале
3 слайд
Описание слайда:
Задача №1 program example; var sum:real; n:real; BEGIN sum:=0; n:=1; while n <= 30 do begin sum:=sum+n; n:=n+0.5; end; writeln(‘Сумма равна: ‘,sum); END. Ответ: Задача: вычислить сумму ряда 1+1.5+2+2.5+3+3.5+ .. + 30 Задача №2 Program Summa; Var S:real; N:integer; Begin S:=0;N:=0; repeat N:=n+1; S:=s+1/n Until n>1000; Writeln(s); Readln End. Ответ: Подсчета суммы первых 1000 членов гармонического ряда 1+1/2+1/3+1/4+…1/N
4 слайд
Описание слайда:
Задача №3 Var I, n,x,sum: integer; Begin Write(‘Введите N=’); Readln(n); Sum:=0; For I:=1 to n do Begin Write(‘Введите число’); Readln(x); if x<0 then sum:=sum+x end; writeln(‘сумма =’, sum); End. Ответ: Вводится последовательность из N целых чисел. Найти сумму всех отрицательных чисел.
5 слайд
Описание слайда:
Пример 1. Вычислить наибольший общий делитель двух натуральных чисел А и В. Воспользуемся для этого алгоритмом Евклида: будем уменьшать каждый раз большее из чисел на величину меньшего до тех пор, пока оба числа не станут равны. Program NOD; Var a,b:integer; Begin Write (‘введите два натуральных числа’) Readln(a,b) While a<>b do If a>b then a:=a-b else b:=b-a; Writeln(‘НОД=’,a); End.
6 слайд
Описание слайда:
Пример 2 . Начав тренировки, лыжник в первый день пробегал 10 км. Каждый следующий день он увеличивал длину пробега на 10% от предыдущего дня. Определить в какой день он пробежит больше 20 км, в какой день суммарный пробег за все дни превысит 100км. Program prim_10; Var S:real; N:integer; Begin S:=10;N:=1; While s<20 do Begin N:=n+1; S:=s*0.1 End; Writeln(‘ дневной пробег больше 20 км на ‘,n,’ день’); S:=10;N:=1; While s<100 do Begin N:=n+1; S:=s+s*0.1 {накапливаем суммарный пробег} End; Writeln(‘за ‘,n,’ пробежит больше 100 км’); End.
7 слайд
Описание слайда:
Вывести на экран ряд чисел Фибоначчи, состоящий из n элементов. Числа Фибоначчи – это элементы числовой последовательности 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, …, в которой каждое последующее число равно сумме двух предыдущих. Числа Фибоначчи program fib_01; var i, ch, ch1, ch2, n :integer; {i – счетчик чисел Фибоначчи;n – количество чисел Фибоначчи; ch – число Фибоначчи;ch1, ch2 – вспомогательные переменные алгоритма поиска чисел Фибоначчи} begin write(‘n=’); readln(n); ch:=0; {алгоритм поиска чисел Фибоначчи} ch1:=1; for i:=1 to n do begin ch2:=ch1; ch1:=ch; ch:=ch1+ch2; write (ch:5) {надо вывести на экран все числа Фибоначчи, поэтому оператор вывода находится внутри цикла} end; end.
8 слайд
Описание слайда:
Домашнее задание Дано натуральное число. Вывести на экран все натуральные числа до заданного включительно. 2. Вывести на экран кубы чисел от A до B.
9 слайд
Описание слайда:
№1 program FromOneToN; var i, n: word; begin readln(n); for i := 1 to n do begin write(i, ‘ ‘); end ; end. №2 var a, b: integer; begin write(‘A: ‘); readln(a); write(‘B: ‘); readln(b); if a < b then for a := a to b do writeln (a * a * a); end.
Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.
Пожаловаться на материал
Курс повышения квалификации
Курс профессиональной переподготовки
Учитель математики и информатики
Курс профессиональной переподготовки
Учитель информатики
Найдите материал к любому уроку,
указав свой предмет (категорию), класс, учебник и тему:
также Вы можете выбрать тип материала:
Общая информация
Учебник: «Информатика», Босова Л.Л., Босова А.Ю.
Тема: 3.5.4. Различные варианты программирования циклического алгоритма
Номер материала: ДБ-013608
Вам будут интересны эти курсы:
Оставьте свой комментарий
Источник