Простые задачи с циклом for в паскале

Простые задачи с циклом for в паскале thumbnail

Решенные задачи 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 15var 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 5P:=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 5S:=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 14var 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 15var 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 17var 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 17var 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 12var 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 11var 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 9var 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 18var 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.

Источник

Простейшие алгоритмы

№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.

© Буцев Виктор, Белоусько Тихон, Зуев Семен, Гончаров Владислав, Батраков Михаил, Гаджиев Казанфар, Пак Владислав

Источник

Переменной factorial сначала присваивается значение 1.

0! = 1 и 1! = 1.

Если вы ввели число больше единицы, то выполняется цикл, в теле которого на каждой итерации значение переменной factorial умножается на следующее натуральное число (переменную i).

Задача №2

Найти сумму n-го количества элементов ряда 1, -0.5, 0.25, -0.125, …

1.Откройте программу Free Pascal,Turbo Pascal и т.д. Создайте новый документ.

Сохраните под именем summa.pas

2. Сумма ряда,как вы заметили уменьшается на -1/2.

Переменной а сначала присваивается значение 1.

Переменной sum (сумма) присваиваем значение ноль.

for i:=1 to n do4.После записи цикла, мы в перемееную sum вносим переменную a, и потом переменную a будем делить на -1/2

и опять вносить в sum.

Задача №3

Составить программу, позволяющую напечатать квадраты натуральных чисел от 1 до n.

1.Откройте программу Free Pascal,Turbo Pascal и т.д. Создайте новый документ.Сохраните под именем kvadrat.pas

Читайте также:  Можно ли бегать во время менструационного цикла

2. Квадрат числа- возведение натуральных чисел от 1 до n включительно во 2-ю степень.

Например, квадрат числа 7 выглядит так:

7^2=49

3. Алгоритм решения задачи:

Переменной k сначала присваивается значение 1.

i это число, которое будет возводиться в квадрат, а s это квадрат числа.

for i := 1 to n do

Задача №4

Составить программу, позволяющую напечатать кубы натуральных чисел от 1 до n.

1.Откройте программу Free Pascal,Turbo Pascal и т.д. Создайте новый документ.Сохраните под именем kub.pas

2. Куб числа- возведение натуральных чисел от 1 до n включительно во 3-ю степень.

Например, куб числа 5 выглядит так:

5^3=125

3.Переменные i и j нужны в качестве переменных первого – внешнего и второго – внутреннего циклов. Переменная k для нечетных чисел (k:=1), а s для суммы чисел.

Тип этих переменных целый, но longint, так как могут быть достаточно большие целые числа, большие 32767.

4. Алгоритм решения задачи:

for i := 1 to n do

…………………….

for j := 1 to i do

Задача №5

Напечатать все четырехзначные числа, в десятичной записи которых нет двух одинаковых цифр.

1.Откройте программу Free Pascal,Turbo Pascal и т.д. Создайте новый документ.Сохраните под именем desytzap.pas

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

Например: 1023;1320,2130 и т.д.

3.Организовать цикл по числу тысяч, t от 1 до 9, а затем внутренние циклы: по числу сотен, s от 0 до 9; по числу десятков, d от 0 до 9; по числу единиц, e от 0 до 9; проверка условия: если цифры различны, тогда составленное из них четырехзначное число выдавать на экран.

4. Алгоритм решения задачи:

for t := 1 to 9 do

for s := 0 to 9 do

for d := 0 to 9 do

for e := 0 to 9 do

Задача №6

Двузначное десятичное число в сумме с числом, записанным теми же цифрами, но в обратном порядке, дает полный квадрат. Найти все такие числа.

1.Откройте программу Free Pascal,Turbo Pascal и т.д. Создайте новый документ.Сохраните под именем polnkvadr.pas

2. Сумма чисел должна давать полный квадрат.

Например: 29+92=121 и sqrt(121)=11.

3. Функция round(x) округляет вещественное число x до целого.

Извлечь квадратный корень из суммы это стандартная функция sqrt(x).

4. Алгоритм решения задачи:

for d := 1 to 9 do

for e := 1 to 9 do

Источник

6 820

Сборник примеров задач с решениями при использовании команды цикла 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.

Источник

for1-15

Приветствуем читателей нашего сайта! Сегодня мы с вами решим for1-15 из вот этого задачника.

For1. Даны целые числа K и N (N > 0). Вывести N раз число K.

Организовываем простой цикл от 1 до требуемого числа.

program for1; var K, N, i: integer; begin read(K, N); for i := 1 to N do write(K, ‘ ‘); {Пишем К через пробел } end.

For2. Даны два целых числа A и B (A < B). Вывести в порядке возрастания все целые числа, расположенные между A и B (включая сами числа A и B), а также количество N этих чисел.

Так как A < B, то цикл должен будет выводить все числа от А до B. Чтобы сосчитать количество чисел, используем формулу: <конечное_значение> – <начальное_значение> + 1.

program for2; var A, B, i, count: integer; begin read(A, B); for i := A to B do write(i, ‘ ‘); {выписываем числа от меньшего к большему} count := B – A + 1; {считаем количество чисел} writeln; write( ‘Количество чисел – ‘, count); end.

For3. Даны два целых числа A и B (A < B). Вывести в порядке убывания все целые числа, расположенные между A и B (не включая числа A и B), а также количество N этих чисел.

Задача решается аналогично предыдущей. Только на этот раз используем downto, так как числа будут двигаться сверху вниз. Чтобы исключить А и В из списка выводимых чисел, от В отнимаем 1, а к А наоборот прибавляем.

program for3; var A, B, i, count: integer; begin read(A, B); for i := B – 1 downto A + 1 do write(i, ‘ ‘); {выписываем числа от большего к меньшему} count := (B – 1) – (A + 1) + 1; {считаем количество чисел} writeln; write( ‘Количество чисел – ‘, count); end.

For4. Дано вещественное число – цена 1 кг конфет. Вывести стоимость 1, 2, …, 10 кг конфет.

Каждую итерацию цикла выводим цену, умноженную на i.

program for4; var i: integer; price_one: real; begin read(price_one); for i := 1 to 10 do writeln(i, ‘ кг. стоит – ‘, price_one * i, ‘ ‘); end.

For5°. Дано вещественное число – цена 1 кг конфет. Вывести стоимость 0.1, 0.2, …, 1 кг конфет.

Такая же программа, как предыдущая, только теперь умножаем на i / 10.

program for5; var i: integer; price_one: real; begin read(price_one); for i := 1 to 10 do writeln(i / 10, ‘ кг. стоит – ‘, price_one * (i / 10), ‘ ‘); end.

For6.Дано вещественное число – цена 1 кг конфет. Вывести стоимость 1.2, 1.4, …, 2 кг конфет.

program for6; var i: integer; price_one: real; begin read(price_one); for i := 1 to 5 do writeln(1 + i / 5, ‘ кг. стоит – ‘, price_one + price_one * (i / 5), ‘ ‘); end.

For7. Даны два целых числа A и B (A < B). Найти сумму всех целых чисел от A до B включительно.

Организовываем цикл и складываем все числа.

program for7; var A, B, i, S: integer; begin read(A, B); S := 0; for i := A to B do S := S + i; write( ‘Сумма – ‘, S); end.

For8. Даны два целых числа A и B (A < B). Найти произведение всех целых чисел от A до B включительно.

Создаем цикл и умножаем все числа.

program for8; var A, B, i, P: integer; begin read(A, B); P := 1; for i := A to B do P := P * i; write( ‘Произведение – ‘, P); end.

For9. Даны два целых числа A и B (A < B). Найти сумму квадратов всех целых чисел от A до B включительно.

Организовываем такой же цикл, как и в предыдущей задаче, но одновременно суммируем квадраты всех чисел. Чтобы высчитать квадрат, используем функцию Sqr.

program for9; var A, B, i, S: integer; begin read(A, B); S := 0; {PascalABC делает это автоматически, но если у вас другой компилятор советуем обнулять переменные вручную} for i := A to B do S := S + Sqr(i); {складываем все квадраты} writeln; write( ‘Сумма квадратов – ‘, S); end.

For10. Дано целое число N (> 0). Найти сумму 1 + 1/2 + 1/3 + … + 1/N (вещественное число).

program for10; var N, i: integer; S : real; begin read(N); S := 0; for i := 1 to N do S := S + 1 / i; write( ‘Сумма – ‘, S:1:2); end.

For11.Дано целое число N (> 0). Найти сумму N2 + (N + 1)2 + (N + 2)2 + … + (2·N)2 (целое число).

program for11; var N, i: integer; S : integer; begin read(N); S := 0; for i := N to 2 * N do S := S + Sqr(i); write( ‘Сумма – ‘, S); end.

For12°.Дано целое число N (> 0). Найти произведение 1.1 · 1.2 · 1.3 · …(N сомножителей).

program for12; var N, i: integer; P: real; begin read(N); P := 1; for i := 1 to N do P := P * (1 + i / 10 ); write( ‘Произведение – ‘, P:1:2); end.

For13°. Дано целое число N (> 0). Найти значение выражения 1.1 – 1.2 + 1.3 – … (N слагаемых, знаки чередуются). Условный оператор не использовать.

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

program for13; var N, A, i: integer; S: real; begin Write(‘N = ‘); readln(N); S := 1.1; A := 1; {Сначала положительное} for i := 2 to N do {первую итерацию цикла мы уже произвели, поэтому начинаем отсчет с 2} begin A := -A; {Теперь отрицательное} S := S + A * (1 + i / 10); {Складываем} end; Writeln(S:5:1); {Отдадим под дробную часть одно знакоместо} end.

For14. Дано целое число N (> 0). Найти квадрат данного числа, используя для его вычисления следующую формулу:

N2 = 1 + 3 + 5 + … + (2·N – 1).

После добавления к сумме каждого слагаемого выводить текущее значение суммы (в результате будут выведены квадраты всех целых чисел от 1 до N).

program for14; var i, N: integer; Pow: real; begin write(‘N = ‘); read(N); Pow := 0; for i := 1 to N do begin Pow := Pow + (2 * i – 1); writeln(Pow); end; end.

For15°. Дано вещественное число A и целое число N (> 0). Найти A в степени N: AN = A·A· … ·A (числа A перемножаются N раз).

program for15; var i, N: integer; A, Pow: real; begin write(‘A = ‘); read(A); write(‘N = ‘); read(N); Pow := 1; for i := 1 to N do Pow := Pow * A; write(Pow:1:2); end.

На сегодня все! Не забывайте кликать по кнопочкам и подписываться на обновления нашего сайта!

Источник