Цель работы: освоение методов составления алгоритмов циклических вычислительных процессов и организации циклических программ сложной структуры.
1. Теоретическая часть
1.1. Циклические алгоритмы.
Цикл – это последовательность действий, которая может выполняться более одного раза.
Циклический алгоритм – это алгоритм, содержащий один или несколько циклов.
Имеется 3 вида циклов:
- цикл с предусловием;
- цикл с постусловием;
- цикл со счетчиком (счетный цикл).
Если выполнение цикла связано с каким-либо логическим условием, то используются циклы с предусловием или с постусловием.
Циклы со счетчиком представляют такой класс, в котором выполнение тела цикла должно повторяться заранее определенное число раз.
Блок-схемы циклических алгоритмов выглядят следующим образом:
1. Цикл со счетчиком.
2. Цикл с предусловием. 3. Цикл с постусловием.
1.2 Операторы цикла в языке программирования Pascal.
В Pascal для каждого вида цикла имеется соответствующий оператор:
Решение задач на Pascal #6 | Цикл While
- цикл типа while (с предусловием);
- цикл типа repeat…until (с постусловием);
- цикл типа for (счетный).
1.Оператор цикла типа while
while do оператор;
где: – логическое выражение;
оператор – выполняемый в цикле оператор или тело цикла.
Если тело цикла представляет собой некоторую последовательность действий (составной оператор), то их надо заключить в операторные скобки begin. end:
Схема работы такого цикла: пока условие является истинным (true), выполняется тело цикла и снова проверяется условие и т.д. Когда условие станет ложным (false) цикл завершает работу.
2. Оператор цикла типа repeat…until
Схема работы такого цикла: сначала выполняется оператор, потом проверяется условие, если условие является ложным, выполняется оператор и снова проверяется условие и т.д. Когда условие станет истинным, цикл завершает работу.
3. Оператор цикла типа for
for i:=A to B do оператор;
for i:=A downto B do оператор;
Здесь переменная i — переменная цикла, или счетчик;
А — начальное значение переменной цикла;
В — конечное значение переменной цикла.
При переходе к обработке оператора цикла for переменной цикла присваивается заданное начальное значение. Затем в цикле выполняется оператор (простой или составной). Если тело цикла представляет собой составной оператор, то его надо заключить в операторные скобки begin. end. Каждый раз при выполнении тела цикла переменная цикла увеличивается на 1 (для for. to) или уменьшается на 1 (для for. downto). Цикл завершается при достижении переменной цикла своего конечного значения.
1.3 Пример составления алгоритма и программы на языке Pascal для циклического вычислительного процесса.
Вычислить значение выражения:
b – исходная величина, ее значение вводятся с клавиатуры и не изменяется;
a – изменяется в диапазоне [0;10] с шагом 1;
Уроки Pascal. Циклические алгоритмы. Вычисление факториала.
y – результат, его значения выводятся на экран.
Исходя из условия задания переменная a является целочисленной, поэтому может быть использована в качестве счетчика в счетном цикле.
1.3.1 Блок-схема алгоритма решения данной задачи с использованием счетного цикла выглядит следующим образом:
Текст программы на языке Pascal, соответствующей данному алгоритму, выглядит следующим образом:
Источник: studfile.net
Циклы в Turbo Pascal
методическая разработка по информатике и икт (10 класс) по теме
В программах, связанных с обработкой данных или вычислениями, часто выполняются циклически повторяющиеся действия.
Цикл представляет собой последовательность операторов, которая выполняется неоднократно. В языке Turbo Pascal различают три вида операторов цикла: цикл с предусловием (while), цикл с постусловием (repeat) и цикл с параметром (for).
- подавляющее большинство задач с циклами можно решить разными способами, используя при этом любой из трех операторов цикла;
- часто решения, использующие разные операторы цикла, оказываются равноценными;
- в некоторых случаях все же предпочтительнее использовать какой-то один из операторов;
- самым универсальным из всех операторов цикла считается while, поэтому в случае затруднений с выбором можно отдать предпочтение ему;
- цикл repeat имеет очень простой и понятный синтаксис, поэтому с него удобно начинать изучение циклов;
- цикл for обеспечивает удобную запись циклов с заранее известным числом повторений;
- при неумелом использовании циклов любого типа возможна ситуация, когда компьютер не сможет нормально закончить цикл. При работе в среде Turbo Pascal для выхода из подобной ситуации используется комбинация клавиш +
. - если это не помогает, есть и крайнее средство – + + . Одновременное нажатие этих трех клавиш или кнопки Reset, расположенной на системном блоке, позволяет перезагрузить компьютер, при этом данные, относящиеся к работающей программе, будут утеряны.
- процедура continue позволяет прервать выполнение тела любого цикла и передает управление на его заголовок, заставляя цикл немедленно перейти
к следующему выполнению.
Циклы с параметром
Если число требуемых повторений заранее известно, то используется оператор, называемый оператором цикла с параметром или циклом со счетчиком.
Оператор цикла с параметром имеет два варианта записи:
1) вариант с увеличением счетчика
2) вариант с уменьшением счетчика
Счетчик – параметр цикла, простая переменная целого типа; — операторы или оператор. Цикл повторяется до тех пор пока значение параметра лежит в интервале между начальным и конечным значениями. В первом варианте при каждом повторении цикла значение параметра увеличивается на 1, во втором — уменьшается на 1.
При первом обращении к оператору for вначале определяются начальное и конечное значения, и присваивается параметру цикла начальное значение. После этого циклически повторяются следующие действия.
1. Проверяется условие: параметр цикла
2. Если условие выполняется, то оператор продолжает работу (выполняется оператор в теле цикла), если условие не выполняется, то оператор завершает работу и управление в программе передается на оператор, следующий за циклом.
3. Значение параметра изменяется (увеличивается на 1 или уменьшается на 1).
Если в теле цикла располагается более одного оператора, то они заключаются в операторные скобки begin … end;
- оператор For используется для организации циклов с фиксированным, заранее известным числом повторений;
- количество повторений цикла определяется начальным и конечным значениями переменной-счетчика. Оператор For обеспечивает выполнение тела цикла до тех пор, пока не будут перебраны все значения параметра цикла: от начального до конечного;
- переменная счетчик должна быть порядкового типа: чаще integer, реже – char, boolean. Использование вещественного типа недопустимо;
- начальное и конечное значения параметра цикла могут быть константами, переменными, выражениями и должны принадлежать к одному и тому же типу данных. Начальное и конечное значение параметра цикла нельзя изменять во время выполнения цикла;
- параметр цикла For может изменяться (увеличиваться или уменьшаться) каждый раз при выполнении тела цикла только на единицу. Если нужен другой шаг, предпочтительнее использовать циклы с предусловием или с постусловием.
Задача 1. Вывести на экран натуральные числа от 1 до 9 в обратном порядке.
For i:=9 downto 1 do
Вычисление р = n! (n факториал).
program z2;
var p, i, n: integer;
begin
write (‘введите целое n = ‘);
readln (n);
p: = 1;
for i: = 1 to n do
p: = p * i;
write (n, ‘! = ‘,p);
readln
end.
Составить программу вычисления значения выражения y=1+1/2+1/3+. +1/20.
Из чисел от 10 до 99 вывести те, сумма цифр которых равна S(0
Дано натуральное число n (1000
Оператор цикла с предусловием
Если число повторений заранее неизвестно, а задано лишь условие его повторения (или окончания), то используются операторы while и repeat. Оператор While часто называют оператором цикла с предусловием. Так как проверка условия выполнения цикла производится в самом начале оператора.
Общий вид: While do
Тело цикла – простой или составной оператор или операторы. Если операторов в теле цикла несколько, то тело цикла заключается в операторные скобки begin…end. Ключевые слова While и do означают соответственно «пока» и «выполнять». Когда программа в процессе выполнения впервые достигает оператора while, осуществляется проверка истинности условия.
Если условие истинно, то выполняется тело цикла (оператор). После этого происходит возврат к началу фрагмента while do, где проверка условия осуществляется вновь. Цикл будет выполняться до тех пор, пока логическое выражение будет истинным. Как только логическое выражение станет ложным, управление передается следующему за циклом оператору. Если при первом выполнении цикла значение логического оператора будет «ложь», то цикл не станет выполняться, а управление сразу же передается следующему за while оператору.
- число повторений операторов цикла while определяется в ходе работы программы и, как правило неизвестно;
- после слова while записывается условие продолжения выполнения инструкций цикла;
- условие – это выражение логического типа: простое выражение отношения или сложное выражение отношения, которое может принимать одно из двух значений: true или false;
- для успешного завершения цикла while в его теле обязательно должны присутствовать инструкции, оказывающие влияние на условие выпонения инструкций цикла.
Задача 1. Найти сумму 10 произвольных чисел.
Var k, x, s: integer;
writeln(‘Сумма чисел равна’, s);
Вычислить наибольший общий делитель двух натуральных чисел А и В.
program z3;
var a, b: integer;
begin
write (‘введите два натуральных числа’);
readln (a, b);
while a<>b do
if a>b then a: = a — b
else b: = b — a;
write (‘НОД = ‘, a);
readln;
end.
Составление таблицы значений функции у = sin х отрезке [0;3.14] с шагом 0,1.
program z4;
var х, у: real;
begin
х: = 0;
writeln (‘x’ : 10,’sinx’ : 10);
while x
Приближенное вычисление суммы бесконечно убывающего ряда 1+x/1!+x 2 /2!+x 3 /3!+ .
Циклы с потусловием
Оператор цикла repeat аналогичен оператору while, но отличается от него, во-первых, тем, что условие проверяется после очередного выполнения операторов тела цикла и таким образом гарантируется хотя бы однократное выполнение цикла. Во-вторых, тем, что критерием прекращения цикла является равенство выражения константе true . За это данный оператор часто называют циклом с постусловием, так как он прекращает выполняться, как только условие, записанное после слова until, выполнится. Оператор цикла repeat состоит из заголовка, тела и условия окончания.
*цикл с постусловием
* конец цикла, если
Общий вид: Repeat
Вначале выполняется тело цикла, затем проверяется условие выхода из цикла. В любом случае этот цикл выполняется хотя бы один раз. Если условие не выполняется, т.е. результатом выражения является False, то цикл активизируется еще раз. Если условие выполнено, то происходит выход из цикла. Использования операторных скобок, в случае, если тело цикла состоит из нескольких операторов, не требуется.
- число повторений операторов цикла repeat определяется в ходе работы программы и, как правило неизвестно;
- инструкции цикла repeat будут выполняться, пока условие, стоящее после until, будет оставаться ложным;
- после слова until записывается условие завершения цикла;
- условие – это выражение логического типа: простое выражение отношения или сложное выражение отношения, которое может принимать одно из двух значений: true или false;
- для успешного завершения цикла repeat в его теле обязательно должны быть инструкции, выполнение которых влияет на условие завершения цикла, иначе цикл будет выполняться бесконечно – программа зациклится. Другими словами, переменная, которая участвует в условии выхода из цикла, обязательно должна изменяться в теле цикла.
Задача 1. Составить программу, которая вводит и суммирует целые числа. Если введено значение 999, то на экран выводится результат суммирования.
If x<>999 then s:=s+x;
Writeln(‘Сумма введенных чисел’, s); End.
Использование цикла repeat для подсчета суммы вводимых чисел до первого отрицательного числа
Составить программу планирования закупки товара в магазине на сумму, не превышающую заданную величину.
Написать программу нахождения наибольшего общего делителя (НОД) двух натуральных чисел.
В теле любого оператора цикла могут находиться другие операторы цикла. При этом цикл, содержащий в себе другой, называют внешним, а цикл, находящийся в теле первого – внутренним (вложенным). Правила организации внешнего и внутреннего циклов такие же, как и для простого цикла.
При программировании вложенных циклов необходимо соблюдать дополнительное условие: все операторы внутреннего цикла должны полностью располагаться в теле внешнего цикла.
Даны натуральные числа n и k. Составить программу вычисления выражения l k +2 k +. +n k .
Вычислить сумму 1 1 +2 2 +. +n n .
Написать программу, которая находит и выводит на печать все четырехзначные abcd, числа а, b, с, d — различные цифры, для которых выполняется: ab-cd=a+b+c+d.
Если мы сложим все цифры какого-либо числа, затем все цифры найденной суммы и будем повторять много раз, мы, наконец, получим однозначное число (цифру), называемое цифровым корнем данного числа. Например, цифровой корень числа 34697 равен 2 (3+4+6+9+7=29; 2+9=11; 1 + 1=2). Составим программу для нахождения цифрового корня натурального числа.
program z4;
uses crt;
var n, k, s: longint;
begin
clrscr;
writeln(‘ число=’); readln(n);
s:=n;
< Пока сумма является двузначным числом. >
while s>9 do
begin
k:=s;s:=0;
< Вычисляем сумму цифр числа. >
repeat
S:=s+k mod 10; k:=k div 10;
until k=0;
end;
writeln(‘ цифр. корень числа ‘,n, ‘ равен ‘,s);
readln;
end.
Список используемой литературы
- Г.Г. Рапаков, С.Ю. Ржеуцкая “Turbo Pascal для студентов и школьников“, Санкт-Петербург, «БХВ-Петербург», 2011г.
- А.И. Гусева “ Учимся программировать: Pascal 7.0”, Москва, «Диалог-МИФИ», 2011г.
- С.В. Вольский, П.А. Дмитриев “Turbo Pascal 7.0 для студентов и школьников“, Санкт-Петербург, «Наука и Техника», 2007г.
- Д.М. Ушаков, Т.А. Юркова “Паскаль для школьников”, Москва-Санкт-Петербург, «ПИТЕР», 2008г.
- Е.Р. Алексеев “Турбо Паскаль 7.0”, Москва, NT Press, 2006г.
По теме: методические разработки, презентации и конспекты
Конспект урока с презентацией «Графика на языке программирования Turbo Pascal»
Урок для учащихся 11 класса по теме «Графика на языке программирования ТР». Содержит теоретический материал, практическую работу и презентацию к уроку. Надеюсь, многим учителям информатики пригодится.
Turbo Pascal. Разработка программ, содержащих оператор ветвления
Изучение программирования и языков программирования, таких как Basic, Pascal, C++, Delphi и др. является неотъемлемой частью информатики. С помощью языков программирования можно создавать свои п.
Реализация циклического алгоритма в среде Turbo Pascal. Оператор цикла с параметром
Урок по предметной области “Информатика” для 9-10 класса Данный материал представляет разработку урокапо теме “Реализация циклического алгоритма в среде TurboPascal. Оператор цикла с парам.
Сборник тестов «Структуры данных в языке Turbo Pascal» к разделу «Алгоритмизация и программирование» курса информатика и ИКТ в профильной классах.
Цель использования разработкиПроведение входного, текущих и итоговых контрольных работ в форме тестов по темам:массивы;строковый тип данных;записи;файлы,а также для подготовки к ЕГЭ.
Тест по теме- Изучение языка Turbo Pascal
Приводятся тестовые задания с одним правильным вариантом ответа, эталоны ответов.
Вопросы для актуализации опрных знаний при изучении языка Turbo Pascal
Приведены 20 вопросов для актуализации опорных знаний при изучении языка программирования Turbo Pascal и эталоны ответов.
Сканворд- операторы языка Turbo Pascal
Учащимся предлагается сканворд, в котором необходимо найти как изученные операторы языка программирования Turbo Pascal, так и еще неизвестные, и ответить на дополнительные вопросы. Слова в скан.
Источник: nsportal.ru