Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
циклы.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
162.3 Кб
Скачать

Лабораторная работа

Язык программирования Паскаль

Тема: Реализация алгоритмов c циклами в Паскале.

Порядок выполнения работы

  1. Изучить теоретические сведения по теме “Реализация алгоритмов с циклами в Паскале ”.

  2. Получить индивидуальное задание у преподавателя и разработать программу в соответствии с поставленной задачей.

  3. Показать работающую программу преподавателю.

  4. Ответить на контрольные вопросы.

  5. Подготовить письменный отчет.

Форма представления отчета:

  1. Тема работы.

  2. Условия задания.

  3. Текст программы и исходные данные при вводе.

  4. Результаты выполнения программы.

Краткие теоретические сведения.

Цикл – многократное повторение одних и тех же действий.

1. Цикл с предусловием

Такой цикл называют «пока». Механизм его работы: пока условие истинно, повторять…

Пример. Вывести все «-» члены арифметической прогрессии -11; -7…

Пусть a – очередной член прогрессии.

а:=a+4 – следующий член прогрессии.

Пока a<0, повторять a:=a+4.

Цикл с предусловием может не выполниться ни разу, если условие сразу оказалось ложным.

Пример. Найти сумму первых десяти натуральных чисел.

S=1+2+…+10

S – сумма

а – очередное слагаемое.

S:=S+a

a:=a+1

Выполнять, пока a<=10

2. Цикл с постусловием.

Механизм работы: повторять, пока условие не станет истинным.

Этот цикл всегда выполняется хотя бы 1 раз.

Пример. Найти сумму положительных членов арифметической прогрессии: 17; 11 …

S=a+S

a:=a-6

тело цикла

повторять до тех пор, пока не выполнится условие a<=0

П ример. Вычислить n!

F=F*k

k=k+1

тело цикла

повторять до тех пор, пока не выполнится условие k>N

Циклы в Pascal

Паскаль предусматривает использование трех операторов цикла:

• оператор цикла с параметром for

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

• оператор цикла с постусловием repeat

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

Цикл с параметром используется в тех случаях, когда число повторений заранее известно.

Общий вид: for <параметр>:=<начальное значение> to <конечное значение> do <оператор>;

Значение параметра меняется с шагом 1. Оператор представляет тело цикла, которое может быть простым или составным оператором.

Пример 1. Вывести квадраты первых десяти натуральных чисел.

Program primer;

Var i, x: integer;

begin

for i:=1 to 10 do begin {перебираем натуральные числа от 1 до 10}

x:=sqr(i); {возводим очередное число в квадрат}

write(x, ' '); {выводим полученное значение}

end;

end.

Результат:

1 4 9 16 25 36 49 64 81  100

Если необходимо, чтобы параметр цикла менялся с шагом -1, следует вместо to записать downto.

for i:=1 to 10 do begin

x:=sqr(i);

write(x, ' ');

end;

Результат:

100 81  64 49 36 25 16 9 4 1

Пример 2. Найти сумму 1 + 1/3 + 1/5 +...(N слагаемых).

Program primer;

Var I, N: integer;

S: real;

begin

Write('N='); Readln(N); {вводим количество слагаемых}

S:=0; {обнуляем сумму}

For I:=1 to N do {выполняем цикл N раз, добавляя к сумме по од ному слагаемому}

S:=S+1/(2*I-1);

Writeln('S=',S:5:2); {выводим значение суммы с двумя десятичными знаками}

end.

Пример 3. Подсчитать количество двузначных чисел, кратных 3.

Program primer;

Var i, k: integer;

begin

k:=0; for i:=10 to 99 do begin

if i mod 3=1 then k:=k+1;

end;

writeln ('k=', k);

end.

Пример 4. Найти сумму четных делителей введенного целого числа.

Program primer;

Var i, S, n: integer;

begin

Write (‘n=’); Readln(n);

S:=0;

for i:=2 to (n div 2) do

if (n mod i=0) and (i mod 2=0) then s:=s+i;

writeln('S=', S);

end.