Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практические работы для ИС-271.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
3.07 Mб
Скачать

Лабораторная работа № 10. Разработка программ для реализации простых циклических алгоритмов средствами языка Pascal.

Цель работы:

  • создавать символьные схемы простых циклических алгоритмов

  • научиться разрабатывать программы, реализующие циклический процесс

  • получение дальнейших навыков по отладке и тестированию программ

Оборудование:

  • программная часть – интегрированная среда Turbo Pascal 7.0

  • аппаратная часть - ПЭВМ IBM PC/XT

  • задание на выполнение работы в электронном варианте

Теоретическая часть

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

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

Циклы со счетчиком используют, когда заранее известно какое число повторений тела цикла необходимо выполнить. Для счетчика от начального значения до конечного значения выполнить действие. Этот вид оператора цикла циклом с параметром. В нем важную роль играет переменная-параметр, которая на каждом шаге цикла автоматически изменяет свое значение ровно на единицу — поэтому ее и называют счетчиком.

Инструкцию for можно реализовать двумя способами.

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

for Счетчик := НачальноеЗначение to КонечноеЗначение do

begin

{ Инструкции }

end;

Ключевые слова for, dо обозначают "для", "выполняй" соответственно. Строка, содержащая for ... do, называется заголовком цикла, оператор, стоящий после do образует его тело. Очень часто тело цикла — составной оператор. Если тело цикла представлено одиночным оператором, то begin и end не пишутся.

На блок-схеме алгоритма цикл с параметром удобно обозначать следующим образом :

Условное обозначение на схемах алгоритмов цикла с параметром

Инструкции между begin и end, выполняются столько раз, сколько определяет выражение [(КонечноеЗначение — НачальноеЗначение) + I].

Это соответствует всем значениям счетчика от начального до конечного включительно.

Если НачальноеЗначение больше, чем КонечноеЗначение, то инструкции между begin и end не выполняются ни разу.

Например, выполнение цикла — фрагмента программы:

For i:=10 to 14 do write (i:3);

выведет на экран последовательность цифр в виде:

10 11 12 13 14

Вариант 2 (с уменьшением счетчика).

for Счетчик := НачальноеЗначение downto КонечноеЗначение do

begin

{ Инструкции }

end;

Инструкции между begin и end, выполняются столько раз, сколько определяет выражение [(НачальноеЗначение — КонечноеЗначение) + I].

Если НачальноеЗначение меньше, чем КонечноеЗначение, то инструкции между begin и end не выполняются ни разу.

Например, выполнение цикла — фрагмента программы:

For i:=14 downto 10 do write (i:3);

выведет на экран последовательность цифр в виде:

14 13 12 11 10

Если переменная-счетчик имеет символьный char тип, то оператор:

For ch:=’a’ to ‘e’ do write (ch:2);

выведет на экран последовательность букв в виде:

а b с d е

Оператор:

For ch:=’e’ downto ‘a’ do write (ch:2);

выведет на экран последовательность букв в виде:

е d с b а

Цикл for удобно использовать для организации вывода данных программы. Вместе с оператором if и функцией readln он позволяет выполнить постраничный вывод.

Например, при выполнении следующего цикла программа будет приостанавливать вывод после заполнения экрана столбцом цифр до нажатия клавиши <Еnter>.

for i:=1 to 50 do begin

writeln (i);

if i mod 24 = 23 then readln;

end;

Ооператор (инструкция) for используется для организации циклов с фиксированным, заранее известным или определяемым во время выполнения программы числом повторений. Количество повторений цикла определяется начальным и конечным значениями переменной-счетчика. Оператор for обеспечивает выполнение тела цикла до тех пор, пока не будут перебраны все значения параметра цикла: от начального до конечного. Переменная-счетчик должна быть порядкового типа: чаще — integer, реже — char, boolean или одного из пользовательских типов. Использование вещественного типа недопустимо!

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

После нормального завершения оператора for значение параметра цикла равно конечному значению. Если оператор for не выполнялся, значение параметра цикла не определено.

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

Практическая часть

Пример:

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

y=

program Ex;

uses crt;

const n = 1;

var

y, S:real;

P, I, R: integer;

Begin

Clrscr;

R:=1; S:=0;

For i:=1 to 25*n do begin

R:=i*R; {подсчет факториала}

S:=S+ 5*i/R; end;

P:=1;

For i:=1 to 25 do

P:=P*sqr(i);

y:=S+P;

Write(‘y =’,y);

Readln

End.

Задания для самостоятельного выполнения

  1. Изучить теоретические сведения по теме «Операторы цикла».

  2. Составить блок-схему решения задачи по своему варианту.

  3. Разработать программу в среде Turbo Pascal 7.0.

  4. Составить систему тестов и проверить работу программу на всех возможных значениях исходных данных.

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

  6. Результаты выполнения лабораторной работы оформить в виде отчета.

Индивидуальные задания:

№ варианта

Задание

Вычислить сумму и произведение: z= z1=

Вычислить сумму и произведение: z= z1=

Вычислить сумму и произведение: z= z1=

Вычислить сумму и произведение: z= z1=

Вычислить сумму и произведение: z= z1=

Вычислить сумму и произведение: z= z1=

Вычислить сумму и произведение: z= z1=

Вычислить сумму и произведение: z= z1=

Вычислить сумму и произведение: z= z1=

Вычислить сумму и произведение: z= z1=

Вычислить сумму и произведение: z= z1=

Вычислить сумму и произведение: z= z1=

Вычислить сумму и произведение: z= z1=

Вычислить сумму и произведение: z= z1=

Вычислить сумму и произведение: z= - π z1=

Вычислить сумму и произведение: z= z1=

Вычислить сумму и произведение: z= z1=

Вычислить сумму и произведение: z= z1=

Вычислить сумму и произведение: z= z1=

Вычислить сумму и произведение: z= z1=

Вычислить сумму и произведение: z= z1=

Вычислить сумму и произведение: z= z1=

Вычислить сумму и произведение: z= z1=

Вычислить сумму и произведение: z= z1=

Вычислить сумму и произведение: z= z1=

Вычислить сумму и произведение: z= z1=

Контрольные вопросы

  1. В каких случаях используется цикл с параметром?

  2. Почему параметр цикла еще называют «управляющая переменная цикла»?

  3. Какой тип НЕ может быть задан для параметра цикла For?

  4. Какие допустимые значения может принимать параметр цикла в For?

  5. Каково значение параметра цикла после его завершения?

  6. Почему параметр цикла For называют «счетчиком»?

  7. Объясните механизм формирования суммы и произведения в цикле For.