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

Лабораторная работа № 3 Программирование алгоритмов циклических процессов в Turbo Pascal

Цель: Изучить возможности языка программирования Turbo Pascal для реализации вычислительных процессов циклической структуры с известным и неизвестным количеством повторений.

Задачи:

  1. Разработать алгоритм решения в соответствии с заданием.

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

  3. Организовать вывод значений аргумента и функции в два столбца.

Перечень оборудования и программного обеспечения: ПК, находящийся в локальной сети, оболочка операционной системы FAR Manager, системе программирования Turbo Pascal 7.0.

Литература: 1, 2, 13, 23, 25, 26, 28, 33, 34, 35.

Краткое изложение основных теоретических и методических аспектов:

1. Операторы циклов.

Для всех операторов цикла характерно:

  1. Повторяющиеся вычисления записываются один раз.

  2. Вход в цикл возможен только через его начало.

  3. Переменные цикла должны быть определены до входа в цикл.

  4. Необходимо предусмотреть выход из цикла.

    1. Оператор цикла со счетчиком служит для организации цикла с известным чис­лом повторений и имеет вид:

FOR I : = N ТО К DO оператор ;

где FOR - для, TO - до, DO – выполнить, I - параметр цикла, N – его начальное значение и К – конечное значение, оператор, выполняющийся в цикле.

Оператором цикла может быть составной оператор. После DO нельзя ставить точку с запятой, т. к. в цикле будет выполняться пустой оператор. I, N, К - целого типа. Начальным и конечным значением могут быть константы или выражения. N<К и шаг изменения параметра 1. Вычисляются выражения N и К или берутся введенные значения. Параметр цикла I принимает начальное значение N и сравнивается с конечным значением К. Если параметр цикла не превышает К, управление переда­ется в тело цикла и выполняются операторы. Затем параметр цикла уве­личивается на 1 и работа повторяется, выход из цикла происходит когда параметр цикла превысит К.

Если N>К, шаг изменения параметра равен -1, тогда оператор имеет вид:

FOR I : = N DOWNТО К DO оператор;

В цикле FOR …DOWNTO если параметр цикла не меньше К, управление переда­ется в тело цикла и выполняются операторы. Затем параметр цикла уменьшается на 1 и работа повторяется, выход из цикла происходит когда параметр цикла станет меньше К. После завершения цикла значение параметра не определено.

Если в цикле FOR ТО начальное значение больше конечного, а в цикле FOR … DOWNTO - меньше, то цикл не выполняется ни разу.

1.2. Оператор цикла с предусловием используется, когда неизвестно количество повторений. Общий вид записи оператора цикла с предусловием:

W HILE условие DO оператор ;

где WHILE - пока, DO - выполнить, условие - условие работы цикла.

В качестве оператора может применяться составной оператор.

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

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

О бщий вид записи оператора цикла с постусловием:

RЕРЕAТ оператор UNTIL условие ;

где RЕРЕAТ - повторить, UNTIL - до тех пор, условие - условие прекращения работы цикла.

Сначала выполняются операторы цикла, затем проверяется условие выхода. Если оно не выполняется, то управление передается в цикл. Если условие истинно, происходит выход из цикла. Особенность цикла - опе­раторы тела цикла выполняются хотя бы раз. Значения переменных, входящих в условие, должны изменяться внутри цикла, иначе цикл никогда не завершится. Если в цикле необходимо выполнить несколько операторов, то слу­жебные слова цикла сами являются как бы операторными скобками и при­менение BEGIN и END не обязательно.

Одну и ту же задачу можно решить при помощи любого из циклов WHILE или REPEAT. При этом условия должны быть прямо противоположными.

Самостоятельно изучить вопросы:

1. Являются итерационные циклы и циклы с параметрами взаимозаменяемыми?

2. Рекурсивный алгоритм. Применение рекурсии.

3. Назовите три основных типа структур данных.

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

1. Привести реальные ситуации, решение которых можно реализовать при помощи алгоритмов циклических процессов.

2. Какие существуют и для чего применяются операторы циклов?

3. Почему будет ошибкой ставить ; в середине операторов?

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

5. Какой цикл может не обрабатываться ни разу, если условие сразу не выполнимо, а какой выполнится хотя бы один раз?

Задания:

Вариант

Функция

Условия

Данные

Изменения аргумента

x < 1,3

х = 1,3

x > 1,3

a = 1,5

x[0,8;2]

x=0,1

x < 1,2

x = 1,2

x > 1,2

a = 2,8

b =-0,3

c = 4

x[1;2]

x=0,1

x < 1,4

x = 1,4

x > 1,4

a=1,65

x[0,7;2]

x=0,1

x < 0,5

x = 0,5

x > 0,5

t = 2,2

x[0,2;2]

x=0,2

t < 0,1

t = 0,1

t > 0,1

a = 2,5

b = 0,4

t[-5;5]

∆t=0,5

x > 1,2

x = 1,2

x < 1,2

z = 1,7

a = 4,3

x[0;1.6]

∆x=0,3

z < 1,5

z = 1,5

z > 1,5

x = /3

z[1;10]

∆z=1

b > 3,7

b = 3,7

b < 3,7

x = 0,5

b[1;5]

∆b=0,7

z > 1

z = 1

z < 1

x = 0,1

z[1,7;3,1]

∆z=0,6

x>/7

x=/7

x</7

Z = 

x[4,5;5]

∆x=0,2

Порядок выполнения:

  1. Открыть Turbo Pascal.

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

  3. Набрать программу, ввести данные и зафиксировать результат.

  4. Составить алгоритм и блок-схему реализации цикла с предусловием.

  5. Набрать программу, ввести данные и зафиксировать результат.

  6. Составить алгоритм и блок-схему реализации цикла с постусловием.

  7. Набрать программу, ввести данные и зафиксировать результат.

  8. По полученным результатам работы трех программ сделать вывод.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]