Как сделать счетчик в паскале
Pascal: Занятие №3. Часть 3: Паскаль цикл for
Цикл со счетчиком в Паскаль (цикл for)
Цикл со счетчиком или, как он еще называется — цикл с параметром в Паскале служит для организации повторений (итераций) с заранее известным их количеством, т.е. когда точно известно, сколько раз должны выполниться операторы тела цикла.
Блок-схема, соответствующая циклу For:
Ну или если на простом примере:
Паскаль цикл For: синтаксис:
Прямое направление цикла (от меньшего значения к большему):
Обратное направление (от большего к меньшему):
Решение на Паскале:
Оператор в теле конструкции может быть одиночным или составным оператором.
Счетчик цикла или параметр цикла — это обычная переменная, которая может быть только порядкового (целочисленного, символьного, логического) или перечислимого типа.
При прямом направлении цикла счетчик в каждой итерации увеличивается на единицу, при обратном направлении — уменьшается на единицу.
Рассмотрим на решенном примере, как используется в Паскаль цикл for:
var i,n:integer; begin write (‘количество раз’); readln(n); for i:=1 to n do write(0); end.
Более детально цикл со счетчиком в Паскале рассмотрен в видеоуроке:
Решение в виде блок-схемы:
Решение на Паскале:
Вариант 1 | Вариант 2 |
Решение:
Вариант 1 неэффективное решение | Вариант 2 эффективное решение | |||||||||||||||||||||
Вариант 3 эффективное решение | ||||||||||||||||||||||
1) for i := 1 to ListSize do begin readln (Number): S := S +Number; end; |
2) for Dlina := 15 downto 1 do writeln (Sqr(Dlina)); |
3) for x := 1 to 10 do for y := 1 to 10 do writeln (x,’*’,y,’=’,x*y); |
4) for Range := Number+1 to Multi*3 do writeln (Sqrt(Range)); |
При использовании цикла for компьютер выполняет за программиста черновую работу по инициализации управляющей переменной и по ее увеличению (уменьшению) при каждом повторении цикла. Единственное ограничение заключается в том, что тип управляющей переменной не должен быть real. Переменная цикла не должна изменяться какими-либо операторами внутри цикла. К ней можно обращаться и использовать в вычислениях, но нельзя присваивать новое значение. Присваивания могут выполняться только механизмом самого цикла. Таким образом, следующий цикл является некорректным:
Управляющая переменная должна описываться, как и любая другая переменная. Обычно переменная цикла имеет тип integer, но позднее Вы рассмотрите другие типы данных, которые могут указываться в качестве типа управляющей переменной.
Внимание! Следует помнить, что управляющая переменная не может быть типа real.
for j := 1 to 0 do writeln (j); |
Однако цикл, представленный в такой форме, распечатает целые числа от единицы до десяти:
for j := 1 to 10 do writeln (j); |
Как можно догадаться, следующий цикл выполняет счет в обратном порядке:
for j := 10 downto 1 do writeln (j); |
Часто тело цикла For содержит еще один оператор цикла For. Структуры такого рода называются вложенными циклами. При завершении внутреннего цикла управляющая переменная внешнего цикла увеличивается. Повторение этих действий будет продолжаться до завершения внешнего цикла. Приведенный ниже вложенный цикл печатает пары чисел, начиная от (1,1), (1,2). и кончая (10,10):
for х:= 1 to 10 do for у:= 1 to 10 do writeln (‘(‘,х,’,’,y,’), ‘); |
Задание. Выполните две задачи, уже решенные Вами задачи с помощью других видов цикла, с помощью со счетчиком.
Цикл со счетчиком в языке программирования Паскаль
«Цикл со счетчиком в языке программирования Paskal »
Овладение различными способами организации циклов.
Продолжить развитие навыков работы по программированию алгоритмов.
Способствовать развитию умения использовать знания, полученные на предыдущих занятиях.
Выработать способность к дифференциации циклической конструкции от остальных конструкций в языке программирования
Развитие познавательного интереса и предмету информатика
Побуждение к самостоятельному принятию решений.
Привитие информационной культуры.
Тип урока: открытие новых знаний, обретения новых умений и навыков
Методы обучения: объяснительно-иллюстративный, исследовательский, практический.
Актуализация прежних знаний учащихся.
Изучение нового материала.
Подведение итогов урока. Домашнее задание
— Приветствие учащихся, сообщение плана урока
2. Актуализация прежних знаний учащихся
— Устная работа (фронтальное решение тестов, предложенных каждому на карточках).
Ответ 2
Ответ. 1
3. Изучение нового материала
Если данная сумма содержит два-три слагаемых, то задача решается путем применения операции вычисления суммы несколько раз. А как быть в случае, когда количество членов прогрессии велико, например, 20 000? Программа будет громоздкой и содержать в своем теле она будет 20 000 операторов присваивания. Конечно, данный способ решения этой задачи не приемлем. Как быть? Внимательно присмотримся к данной сумме. Можно увидеть, что каждое последующее слагаемое на единицу больше предыдущего, и к сумме, полученной на предыдущем шаге, прибавляется очередное слагаемое. А это ни что иное, как цикл.
Циклы предназначены для многократного выполнения одной или нескольких команд, при этом, в программе отсутствует необходимость записывать данные команды многократно. Тело цикла – это повторяющаяся группа команд.
В языке программирования PASCAL выделяют три вида циклов:
Цикл с параметром FOR
Логический цикл с предусловием WHILE
Логический цикл с постусловием REPEAT
Сегодня мы с вами более подробно познакомимся с циклом с параметром, или, как его еще называют, с циклом со счетчиком. Выделяют цикл с прямым и обратным отсчетом. Рассмотрим их.
Порядок выполнения цикла со счетчиком
Отличительными чертами цикла со счетчиком являются следующие:
Число повторений тела цикла известно заранее. Вопрос о выполнении или невыполнении в очередной раз тела цикла принимается до его начала, значит, существуют случаи не выполнения цикла ни разу.
Если тело цикла содержит несколько операторов, то они заключаются в операторные скобки
writeln (‘Введите количество слагаемых прогрессии’);
1. Совместное решение задач (учитель составляет программу, комментирует ход составления, дети работают на своих рабочих местах).
writeln (‘ факториал числа ‘,n,’=’, f);
C оставить программу, которая запрашивает с клавиатуры N произвольных целых чисел и вычисляет их сумму . Количество слагаемых вводится с клавиатуры.
writeln(‘ ведите ‘,i,’ число ‘);
Самостоятельное решение задач: решение задач разного уровня сложности
1 уровень сложности (решение двух задач – оценка «3», решение трех задач – оценка «4»)
Количество слагаемых ввести с клавиатуры
cos x + cos 2x+cos3x+…cos N*X
Язык паскаль онлайн
Цикл со счетчиком – Счетчик цикла
§ 62. Цикл со счетчиком
Изучив этот пункт, мы:
Познакомимся с циклами, которые предупреждаются заданное количество раз; узнаем, как выполняются команда повторения Для И оператор цикла For; выясним, что такое датчик случайных чисел и Как Его используют; узнаем, как создаются программы-тренажеры.
==== 62.1.Повторение заданное количество раз. Счетчик цикла =====================
В алгоритмах с циклами, которые мы рассматривали ранее, количество повторений цикла до начала его исполнения не была известной. Цикл завершал свою работу по результатам проверки условия цикла. Однако существует много задач, где повторение определенных действий должны проходить заданное количество раз. Например, для вычисления таблицы значений функции на промежутке от A до B с шагом H цикл должно повторяться 1+ (ba) / H раз.
В циклах с заданным количеством повторений используют специальную переменную целого типа
— Счетчик цикла. Для счетчика цикла устанавливается перечень его значений. Цикл выполняется столько раз, сколько значений содержится в перечне. Каждое последующее прохождение цикла происходит с очередным значением счетчика. Так, для расчета таблицы кубов всех целых чисел от 1 до 30 цикл должна повториться 30 раз, счетчик цикла приобретать значений: 1, 2, …, 30, и для каждого значения будет исчисляться его куб.
Перечень значений счетчика задается его первоначальным значением, шагом изменения и конечным значением, за черту которого выходить нельзя. Например, если задано начальное значение счетчика 2, пункт 4, конечное 12, то счетчик будет приобретать значений 2, 6, 10.
Цикл со счетчиком можно реализовать с помощью команды повторения Пока (или оператора цикла While):
Счетчик = начальное_значение | Счетчик = начальное_значение; |
Пока Счетчик | |
Счетчик = счетчик + шаг | Счетчик = счетчик + шаг; |
Кс | End; |
Для образования цикла со счетчиком в НАМ существует специальная команда, которая называется
Команда Для образуется с использованием служебных слов Для того, От, До, Шаг:
Для счетчик От начальное_значение К кинцеве_значення Шаг шаг
Если тело цикла состоит из более чем одной команды, то они объединяются в одну сложенную команду, то есть размещаются между служебными словами Пс и Кс.
Счетчик является обязательно переменной целого типа, ее начальное и конечное значение, а также
Шаг задаются целыми значениями или выражениями, приводят к целых значений.
Если значение счетчика цикла Увеличиваются с шагом 1, то слова Шаг 1 можно пропустить.
Аналогом команды Для в языке Паскаль является Оператор цикла со счетчиком, или Оператор For, который образуется с применением служебных слов For (для), To (до) или Downto (вниз к), Do (делать) и знака присвоение (вместо слова «От»).
Для растущих значений счетчика (шаг 1) в операторе цикла For используется служебное слово To:
For счетчик = начальное_значение To кинцеве_значення Do
For счетчик = начальное_значение Downto кинцеве_значення Do
Если тело цикла состоит из более чем одного оператора, их объединяют в один составной оператор, то есть размещают между служебными словами Begin и End.
Рассмотрим примеры применения оператора for.
Оператор | Значения, выводимые на экран |
For n = 1 To 4 Do write (2 * n: 3); | 2 4 6 8 |
For n = 4 Downto 1 Do write (2 * n: 3); | 8 6 4 2 |
M = 2; For n = m-1 To sqr (m) Do write (2 * n: 3); | 2 4 6 8 |
Тело цикла со счетчиком может содержать другой цикл со счетчиком. Внутренний цикл имеет полностью размещаться во внешнем. Имена переменных-счетчиков внутреннего и внешнего циклов должны быть Разными.
Разработаем программу для вывода на экран таблицы значений кубов целых чисел от 1 до
20. Обозначим числа через x, а их кубы через y. Цикл должно выполняться 20 раз — для каждого значения x. Итак, переменную x используем как счетчик цикла.
Будем выводить значение x и y в таблицу с заголовком «Таблица значений кубов чисел», которая содержит два столбца, помеченные как x и y. Запишем программу.
Writeln ( ‘Таблица значений кубов цифр ‘);
For x = 1 To 20 Do begin
Нашу программу легко модифицировать для любой другой функции с целочисленными значениями аргумента.
Для вычисления таблицы значений функции y (x) с шагом h, где h ≠ 1, для x от x0 до xk
Цикл можно организовать следующим образом:
N = 1 + Trunc (xk-x0) / h; x = x0;
Y = …; Writeln (x, y) x = x + h;
==== 62.4.Датчик случайных чисел. Функция random и ее использование ===============
В Паскале можно использовать встроенный Датчик случайных чисел — программу, которая генерирует один за другим числа случайным образом. На самом деле последовательность чисел соответствует определенной закономерности, но она задана таким образом, что почти не отличается от случайной.
Чтобы воспользоваться датчиком случайных чисел, его нужно запустить оператором Randomize (от англ. Random — случайный, выбранный наугад).В таком случае дальше в программе можно получать случайные числа с помощью Функции random (n), где n является целым положительным числом. Эта функция возвращает целое число, случайным образом выбранное из диапазона чисел от 0 в n-1.
Например, в результате выполнения оператора y = Random (5); переменная y может получить одно из значений: 0, 1, 2, 3, 4.Какое именно — будет выбрано случайным образом.
Для того чтобы переменная y приобрела случайного значения из диапазона от n1 до n2 включительно, нужно воспользоваться оператором:
Y = n1 + Random (n2-n1 + 1);
Так, если мы хотим выводить на экран разноцветные символы, то аргумента n
Оператора Textcolor (n) можно придавать значения, выбранные из диапазона от 1 до 15:
Приведенная ниже программа демонстрирует работу датчика случайных чисел. Программа подсчитывает и выводит на экран количество единиц (n1), двоек (n2) и троек (n3), полученных с помощью многократного использования функции Random.
Var i, x, n1, n2, n3: Integer;
X = 1+ Random (3); <Достаем число 1, 2Или 3> If x = 1 Then n1 = n1 + 1; If x = 2 Then n2 = n2 + 1; If x = 3 Then n3 = n3 + 1; Gotoxy (1, 5); <Выходим в первую позицию5-й строки> Writeln ( ‘Количество единиц: «, n1: 8);
Writeln ( ‘Количество двоек: «, n2: 8); <в одно и тоИменно>
Writeln ( ‘Количество троек: «, n3: 8); <место наЭкране>
Мы воспользовались оператором Delay для задержки выполнения программы на 100 миллисекунд, чтобы можно было наблюдать за изменением значений, выводимых на экран.
Разработаем программу вывода на экран блуждающей звезды. Звездочка появляется в произвольном месте экрана, гаснет, появляется в другом и т. Д. Цвет звездочки и позиция, где она возникает, задаются датчиком случайных чисел. Для того чтобы «гасить» звездочку, будем повторно выводить ее в то самое место экрана цветом фона.
Приведем текст программы.
End; Writeln ( ‘Спокойной ночи!’); Readln;
Оператор Delay (n) создает паузу в выполнении программы на заданное целое число миллисекунд. Ведь компьютер так быстро выполняет все действия, без введения задержки мы увидим на экране только конечный результат.
Обратите внимание: в нашей программе счетчик цикла в теле цикла никак не используется, он просто считает количество запусков цикла.
Функция Random (n) позволяет создавать программы-тренажеры, которые предлагают пользователю один за другим задачи определенного типа, проверяют правильность предоставленных им ответов и выводят на экран сообщение о результатах работы пользователя.
Разработаем программу-тренажер на примере таблицы умножения. Обозначим через x и y числа, нужно перемножить, через z — результат умножения, введенный пользователем, через pv — количество правильных ответов пользователя. Количество заданий обозначим через k. Все перечисленные переменные являются переменными целого типа.
Var i, x, y, z, pv: Integer; Begin
Writeln ( ‘Вы помните таблицу умножения?’);
- Как сделать счетчик в майнкрафт
- Как сделать счетчик витков