Рассмотрим еще один вид цикла оператор for to do на Паскале — цикл с параметром. Часто его называют циклом со счетчиком, его команды выполняются заданное число раз.
Pascal операторы цикла — Repeat
Repeat 1: Даны положительные числа A и B (A>B). На отрезке длины A размещено максимально возможное количество отрезков длины B (без наложений). Не используя операции умножения и деления, найти количество отрезков B, размещенных на отрезке A.
123456789101112131415 | vara,b,temp,c:integer;flag: boolean;beginwriteln(‘A=’);readln(a);writeln(‘B=’);readln(b);temp:=a;repeat temp:=temp—b; inc(c);until temp—b>=0;writeln(‘result: ‘,c);end. |
vara,b,temp,c:integer;flag: boolean;beginwriteln(‘A=’);readln(a);writeln(‘B=’);readln(b);temp:=a;repeat temp:=temp-b; inc(c);until temp-b>=0;writeln(‘result: ‘,c);end.
Источник: http://labs-org.ru/pascal-3_check/
Простейшие алгоритмы
№1. Сумма вводимых целых чисел
В алгоритме используются интерполированные строки вида $’Сумма равна {s}’.Они начинаются с $. Выражение в фигурных скобках, расположенное в такой строке, заменяется на его значение.
№2. Произведение целых чисел
№3. Двойной факториал n!!=n*(n-2)*(n-4)*…*2 (или 1)
№4. Сколько нечетных среди n введенных
№5. Защита от неверного ввода
№6. Табулирование функции f(x) на отрезке в точках, разбивающих отрезок на N частей
Дан отрезок [a,b]
№6a. Решение, использующее while. Погрешность округления и вычислительная погрешность
Источник: http://pascalabc.net/wiki/index.php?title=Стандартные_задачи_на_циклы
Цикл For — схема работы
Цикл For также называют циклом с известным числом повторений.
Он обладает следующей структурой (изобразим её на блок-схеме):
Как видим на схеме, в цикле for имеются:
- Заголовок цикла (шестиугольный блок на схеме выше) — а котором описывается как именно будет изменяться счётчик цикла (на схеме выше это переменная $i$).
Счетчик цикла — это специальная переменная (типа integer), для которой на основании правой и левой границы цикл for определяет ряд значений, которые она «проходит» при выполнении цикла.
В примере на схеме в качестве левой и правой границы указаны числа $1$ и $10$, то есть переменная $i$ должна будет «пробежать» по ряду значений:1, 2, 3, 4, 5, 6, 7, 8, 9, 10
— для каждого из этих значений тело цикла будет повторяться (в данном случае 10 раз). Правая и левая границы всегда должны обладать типом integer.
- Тело цикла — набор программных действий для, которых заголовок цикла определяет число повторений.
Сразу же приведём пример кода программы, цикл в которой соответствует блок схеме на рисунке выше:
var i, a:integer;begin for i:=1 to 10 do begin // начало тела цикла (у нас в нём будет 3 операции, как на блок-схеме выше) a := i; // получаем очередное значение счётчика (первый раз оно будет равно 1, а последний раз = 10) a := a + 2; // прибавляем к значению 2 write(a, ‘ ‘); // выводим с пробелом после значения end; // конец тела цикла readln();end.
— здесь в теле программы тоже три операции (но уже конкретные) и тот же диапазон значений счетчика, что и на блок-схеме. Запустите программу и посмотрите на результат.
Далее рассмотрим примеры решения задач, чтобы лучше понять как работает цикл for.
Источник: http://fkn.ktu10.com/?q=node/8612
Оператор for to do — цикл со счётчиком
В сегодняшней статье разберем самый популярный вид цикла в языках программирования. Это цикл с параметром. У него есть и другие названия: цикл-для, цикл со счетчиком (оператор for to do, оператор цикла с параметром). Особенность данного цикла заключается в том, что использовать его нужно когда заранее известно количество повторений команд.
Посмотрите на рисунок ниже. Там представлена блок схема for (блок-схема цикла с параметром) и его запись на языке программирования Паскаль.
Параметр это целая величина, которая обозначается любой латинской буквой. Чаще всего используют символ — i. Начальные и конечные значения параметра тоже целые числа. Счетчик цикла может работать в двух направлениях: увеличение или уменьшение значения параметра.
Как работает цикл с параметром ?
Разберемся, как работает for в паскале. Выполнение начинается с получения переменной i начального значения а. Затем проверяется это значение с конечным значением n. Выполнение операторов цикла происходит в случае, когда i меньше или равно n (при положительном шаге счетчика) или i больше или равно n (при отрицательном шаге счетчика).
Источник: http://infouch.ru/tsikl-s-parametrom-v-pascal/
Электронное приложение к уроку
Презентация «Программирование циклических алгоритмов»
Презентация «Программирование циклических алгоритмов» (Open Document Format)
Свободное программное обеспечение:
- PascalABC
http://pascalabc.net/
Cкачать материалы урока
Источник: http://infoplaneta.ucoz.net/index/urok_34_prakticheskaja_rabota_9_reshenie_zadach_po_razrabotke_i_vypolneniju_programm_v_paskal/0-223
Глава Башкирии подписал указ о выплатах стобалльникам по ЕГЭ
Глава Башкирии Радий Хабиров подписал указ о единовременных выплатах для выпускников башкирских школ, набравших 100 баллов по ЕГЭ и поступивших в местные вузы, пишет Коммерсантъ.
Источник: http://4ege.ru/informatika/55949-sbornik-zadach-po-programmirovaniyu-na-paskale.html
Pascal операторы цикла — While
Определите значение переменной
P
после выполнения следующего фрагмента программы:
12345 | P:=1; i:=3;while i <= 9 do begin P := P * (i div 3); i := i + 1;end; |
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
Проверить:
Определите значение переменной S после выполнения следующего фрагмента программы:
12345 | S:=0; i:=7;while i > 1 do begin S := S + i div 2; i := i — 1;end; |
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.
1234567891011121314 | varnumber:integer;flag: boolean;beginwriteln(‘введите целое число (number>0) number=’);readln(number);flag:=false;while (number div 10)>0 dobegin if (number mod 10) = 2 then flag:=true; number:=number div 10;end;writeln(flag);end. |
varnumber:integer;flag: boolean;beginwriteln(‘введите целое число (number>0) number=’);readln(number);flag:=false;while (number div 10)>0 dobegin 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)
123456789101112131415 | 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. |
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)
1234567891011121314151617 | var i,R,K:Longint;beginwrite(‘Введите 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. |
var i,R,K:Longint;beginwrite(‘Введите 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)
1234567891011121314151617 | 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. |
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.
Источник: http://labs-org.ru/pascal-3_check/
Если правая граница счётчика меньше левой — downto
Если правая граница для счётчика цикла меньше чем левая то необходимо использовать вместо конструкции:
for i:=<леваяГраница> to <праваяГраница> do
конструкцию:
for i:=<леваяГраница> downto <праваяГраница> do
Источник: http://fkn.ktu10.com/?q=node/8612
Задачи на циклы в паскале с решением
Задание 1. Напишите программу, которая выводит на экран 10 строк следующего содержания: «**++==++**»
Решение:
Задание 2. Напишите программу, которая выводит значения функции y=kx+b на интервале [2,8] с шагом 1.
Решение:
В результате выполнения программы получим следующий вывод на экране
Задание for12 (электронный задачник). Дано целое число N (> 0). Найти произведение 1.1 · 1.2 · 1.3 · . . .(N сомножителей).
Решение:
Задание for13 (электронный задачник). Дано целое число N (> 0). Найти значение выражения 1.1 + 1.2 — 1.3 + . . .(N слагаемых, знаки чередуются). Условный оператор не использовать.
Решение:
Вот так используется оператор цикла с параметром при решении задач.
Если у вас возникли трудности с пониманием решения, приведенных здесь задач, спрашивайте в комментариях.
Рекомендуем ознакомиться с темой Текстовые файлы в Pascal
Источник: http://infouch.ru/tsikl-s-parametrom-v-pascal/
Вариант ОГЭ по математике. Практика
Экзаменационная работа состоит из двух частей, включающих в себя 25 заданий. Часть 1 содержит 19 заданий, часть 2 содержит 6 заданий с развёрнутым ответом.
Источник: http://4ege.ru/informatika/55949-sbornik-zadach-po-programmirovaniyu-na-paskale.html
Поиск значения
№14. Есть ли среди введенных число k?
№14b. Есть ли среди введенных число k? (то же с использованием while)
№15. Является ли число N>1 простым?
Источник: http://pascalabc.net/wiki/index.php?title=Стандартные_задачи_на_циклы