Задачи с циклом for в паскале

Циклы в TurboPascal. Решение задач на циклы.

Скачать:

Вложение Размер
cikly_v_turbo_pascal.doc 94.5 КБ

Предварительный просмотр:

МОУ Селятинская средняя общеобразовательная школа №2

Наро — Фоминский район Московской области

«Циклы в Turbo Pascal. Решение задач на циклы.»

Проверил: Кащей Владимир Васильевич

Выполнил: слушатель курсов «Методика преподавания

алгоритмизации и программирования в

средней школе» учитель информатики

В программах, связанных с обработкой данных или вычислениями, часто выполняются циклически повторяющиеся действия.

Цикл представляет собой последовательность операторов, которая выполняется неоднократно. В языке Turbo Pascal различают три вида операторов цикла: цикл с предусловием (while), цикл с постусловием (repeat) и цикл с параметром (for).

  1. подавляющее большинство задач с циклами можно решить разными способами, используя при этом любой из трех операторов цикла;
  2. часто решения, использующие разные операторы цикла, оказываются равноценными;
  3. в некоторых случаях все же предпочтительнее использовать какой-то один из операторов;
  4. самым универсальным из всех операторов цикла считается while, поэтому в случае затруднений с выбором можно отдать предпочтение ему;
  5. цикл repeat имеет очень простой и понятный синтаксис, поэтому с него удобно начинать изучение циклов;
  6. цикл for обеспечивает удобную запись циклов с заранее известным числом повторений;
  7. при неумелом использовании циклов любого типа возможна ситуация, когда компьютер не сможет нормально закончить цикл. При работе в среде Turbo Pascal для выхода из подобной ситуации используется комбинация клавиш +
    .
  8. если это не помогает, есть и крайнее средство — ++ . Одновременное нажатие этих трех клавиш или кнопки Reset, расположенной на системном блоке, позволяет перезагрузить компьютер, при этом данные, относящиеся к работающей программе, будут утеряны.
  9. процедура continue позволяет прервать выполнение тела любого цикла и передает управление на его заголовок, заставляя цикл немедленно перейти

к следующему выполнению.

Циклы с параметром

Если число требуемых повторений заранее известно, то используется оператор, называемый оператором цикла с параметром или циклом со счетчиком.

Оператор цикла с параметром имеет два варианта записи:

1) вариант с увеличением счетчика

2) вариант с уменьшением счетчика

Счетчик — параметр цикла, простая переменная целого типа; — операторы или оператор. Цикл повторяется до тех пор пока значение параметра лежит в интервале между начальным и конечным значениями. В первом варианте при каждом повторении цикла значение параметра увеличивается на 1, во втором — уменьшается на 1.

При первом обращении к оператору for вначале определяются начальное и конечное значения, и присваивается параметру цикла начальное значение. После этого циклически повторяются следующие действия.

1. Проверяется условие: параметр цикла

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

3. Значение параметра изменяется (увеличивается на 1 или уменьшается на 1).

Если в теле цикла располагается более одного оператора, то они заключаются в операторные скобки begin … end;

  1. оператор For используется для организации циклов с фиксированным, заранее известным числом повторений;
  2. количество повторений цикла определяется начальным и конечным значениями переменной-счетчика. Оператор For обеспечивает выполнение тела цикла до тех пор, пока не будут перебраны все значения параметра цикла: от начального до конечного;
  3. переменная счетчик должна быть порядкового типа: чаще integer, реже — char, boolean. Использование вещественного типа недопустимо;
  4. начальное и конечное значения параметра цикла могут быть константами, переменными, выражениями и должны принадлежать к одному и тому же типу данных. Начальное и конечное значение параметра цикла нельзя изменять во время выполнения цикла;
  5. параметр цикла 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/3+. +1/20.

Из чисел от 10 до 99 вывести те, сумма цифр которых равна S(0

Дано натуральное число n (1000

Оператор цикла с предусловием

Если число повторений заранее неизвестно, а задано лишь условие его повторения (или окончания), то используются операторы while и repeat. Оператор While часто называют оператором цикла с предусловием. Так как проверка условия выполнения цикла производится в самом начале оператора.

Общий вид: While do

Тело цикла — простой или составной оператор или операторы. Если операторов в теле цикла несколько, то тело цикла заключается в операторные скобки begin…end. Ключевые слова While и do означают соответственно «пока» и «выполнять». Когда программа в процессе выполнения впервые достигает оператора while, осуществляется проверка истинности условия. Если условие истинно, то выполняется тело цикла (оператор). После этого происходит возврат к началу фрагмента while do, где проверка условия осуществляется вновь. Цикл будет выполняться до тех пор, пока логическое выражение будет истинным. Как только логическое выражение станет ложным, управление передается следующему за циклом оператору. Если при первом выполнении цикла значение логического оператора будет «ложь», то цикл не станет выполняться, а управление сразу же передается следующему за while оператору.

  1. число повторений операторов цикла while определяется в ходе работы программы и, как правило неизвестно;
  2. после слова while записывается условие продолжения выполнения инструкций цикла;
  3. условие — это выражение логического типа: простое выражение отношения или сложное выражение отношения, которое может принимать одно из двух значений: true или false;
  4. для успешного завершения цикла 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, то цикл активизируется еще раз. Если условие выполнено, то происходит выход из цикла. Использования операторных скобок, в случае, если тело цикла состоит из нескольких операторов, не требуется.

  1. число повторений операторов цикла repeat определяется в ходе работы программы и, как правило неизвестно;
  2. инструкции цикла repeat будут выполняться, пока условие, стоящее после until, будет оставаться ложным;
  3. после слова until записывается условие завершения цикла;
  4. условие — это выражение логического типа: простое выражение отношения или сложное выражение отношения, которое может принимать одно из двух значений: true или false;
  5. для успешного завершения цикла 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.

Список используемой литературы

  1. Г.Г. Рапаков, С.Ю. Ржеуцкая «Turbo Pascal для студентов и школьников», Санкт-Петербург, «БХВ-Петербург», 2011г.
  2. А.И. Гусева « Учимся программировать: Pascal 7.0», Москва, «Диалог-МИФИ», 2011г.
  3. С.В. Вольский, П.А. Дмитриев «Turbo Pascal 7.0 для студентов и школьников», Санкт-Петербург, «Наука и Техника», 2007г.
  4. Д.М. Ушаков, Т.А. Юркова «Паскаль для школьников», Москва-Санкт-Петербург, «ПИТЕР», 2008г.
  5. Е.Р. Алексеев «Турбо Паскаль 7.0», Москва, NT Press, 2006г.

По теме: методические разработки, презентации и конспекты

Урок для учащихся 11 класса по теме «Графика на языке программирования ТР». Содержит теоретический материал, практическую работу и презентацию к уроку. Надеюсь, многим учителям информатики пригодится.

Изучение программирования и языков программирования, таких как Basic, Pascal, C++, Delphi и др. является неотъемлемой частью информатики. С помощью языков программирования можно создавать свои п.

Урок по предметной области «Информатика» для 9−10 класса Данный материал представляет разработку урокапо теме "Реализация циклического алгоритма в среде TurboPascal. Оператор цикла с парам.

Цель использования разработкиПроведение входного, текущих и итоговых контрольных работ в форме тестов по темам:массивы;строковый тип данных;записи;файлы,а также для подготовки к ЕГЭ.

Приводятся тестовые задания с одним правильным вариантом ответа, эталоны ответов.

Приведены 20 вопросов для актуализации опорных знаний при изучении языка программирования Turbo Pascal и эталоны ответов.

Учащимся предлагается сканворд, в котором необходимо найти как изученные операторы языка программирования Turbo Pascal, так и еще неизвестные, и ответить на дополнительные вопросы. Слова в скан.

лабораторные работы и задачи по программированию и информатике, егэ по информатике

Pascal операторы цикла — Repeat

var a,b,temp,c:integer; flag: boolean; begin writeln('A='); readln(a); writeln('B='); readln(b); temp:=a; repeat temp:=temp-b; inc©; until temp-b>=0; writeln('result: ',c); end.

Pascal операторы цикла — While

P:=1; i:=3; while i 1) 1
2) 3
3) 9
4) 24

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

Решение данного задания смотрите в видео уроке по Паскалю:

var n, k,c: integer; begin writeln('N:'); readln(n); writeln('K:'); readln(k); c:=0; while n>=k do begin n:=n-k; c:=c+1; end; writeln('частное: ',c, 'остаток: ', n); end.

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.

var N,K,Temp :Integer; begin Write('Введите N: '); Readln(N); K:=0; Temp:=3; while Temp

* Из задачника М. Э. Абрамян (While14)

var Temp:Real; A,K :Integer; begin Write('Введите A: '); Readln(A); K:=0; Temp:=0; while Temp Проверить:

var i,R,K:Longint; begin write('Введите K : '); readln(K); R:=1; i:=0; while(R<>0) do begin write('Введите число из набора: '); Readln®; if R Проверить:

var P, S, D:Real; K :Integer; begin Write('Введите процент: '); Readln(P); K:=1; D:=10; S:=10; while S Pascal операторы цикла — For

var c,m:real; i:integer; begin writeln('Цена?'); readln©; m:=0.1; for i := 1 to 10 do begin writeln(' price of ',m, ' kg = ',c*m); m:=m+0.1; end; end.

Читайте также:  Звонит ли будильник при выключенном телефоне

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.

* Из задачника М. Э. Абрамян (For11)

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.

Сейчас предлагаем решить сложную олимпиадную задачу на Паскале:

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.

Добрый вечер. В первом задании у вас не правильный код. Постоянно 1 выдаёт.
У меня получился вот такой:

var a,b,k:integer;
begin
write(‘Введите длину отрезка А (a>b) — ‘);
readln(a);
write(‘Введите длину отрезка Б (b at 19:20

ваш код в задачке while 4 на числа, начинающиеся на двойку(например 233) выдаёт false. я написал так(про булеан ещё не знал, ведь он в следующей главе):
var a,a1,z,i,j,i2:integer;

begin
write(‘vvedite chislo:’);
readln(a);
i:=1;
a1:=a;
z:=0;
while a1>=10 do begin
a1:=a1 div 10;
inc(i);
end;
a1:=a;
while i>0 do begin
i2:=1;j:=1;
while i2

Идёт приём заявок

Подать заявку

Для учеников 1−11 классов и дошкольников

Описание презентации по отдельным слайдам:

REPEAT UNTIL ; Цикл с пост условием WHILE DO begin end; Цикл с пред условием for i:= 1 to n do Цикл с параметром Циклы в Паскале

Задача №1 program example; var sum:real; n:real; BEGIN sum:=0; n:=1; while n 1000; Writeln(s); Readln End. Ответ: Подсчета суммы первых 1000 членов гармонического ряда 1+½+1/3+¼+. 1/N

Задача №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 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.

Пример 2 . Начав тренировки, лыжник в первый день пробегал 10 км. Каждый следующий день он увеличивал длину пробега на 10% от предыдущего дня. Определить в какой день он пробежит больше 20 км, в какой день суммарный пробег за все дни превысит 100км. Program prim_10; Var S:real; N:integer; Begin S:=10;N:=1; While s 7 слайд

Вывести на экран ряд чисел Фибоначчи, состоящий из n элементов. Числа Фибоначчи — это элементы числовой последовательности 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, …, в которой каждое последующее число равно сумме двух предыдущих. Числа Фибоначчи program fib_01; var i, ch, ch1, ch2, n :integer; 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.

Домашнее задание Дано натуральное число. Вывести на экран все натуральные числа до заданного включительно. 2. Вывести на экран кубы чисел от A до B.

№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 300/600 ч.

  • Рожкова Ирина СергеевнаНаписать 9186 06.04.2016

Номер материала: ДБ-013608

    06.04.2016 780
    06.04.2016 1868

Не нашли то что искали?

Вам будут интересны эти курсы:

Все материалы, размещенные на сайте, созданы авторами сайта либо размещены пользователями сайта и представлены на сайте исключительно для ознакомления. Авторские права на материалы принадлежат их законным авторам. Частичное или полное копирование материалов сайта без письменного разрешения администрации сайта запрещено! Мнение редакции может не совпадать с точкой зрения авторов.

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

Оцените статью
Adblock detector