Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Информатика (паскаль) / лаб.5 / Филиал федерального государственного бюджетного образовательного учреждения высшего профессионального образования

.docx
Скачиваний:
30
Добавлен:
31.03.2015
Размер:
627.86 Кб
Скачать

Филиал федерального государственного бюджетного образовательного учреждения высшего профессионального образования

«Национальный исследовательский университет «МЭИ» в г. Смоленске

Кафедра информатики

Отчет

по лабораторной работе

Тема: «Циклы»

по курсу: «Информатика и программирование»

Студент: Лобанева Е.И.

Группа: ПИЭ-12

Преподаватель: Нестеров А.П.

Смоленск, 2012

  1. Теоретическое введение

Цикл — разновидность управляющей конструкции в высокоуровневых языках программирования, предназначенная для организации многократного исполнения набора инструкций. Также циклом может называться любая многократно исполняемая последовательность инструкций, организованная любым способом (например, с помощью условного перехода)

Виды циклов

Цикл for

Часто цикл for называют циклом со счетчиком. Этот цикл используется, когда число повторений не связано с тем, что происходит в теле цикла. Т.е. количество повторений может быть вычислено заранее (хотя оно не вычисляется).

В заголовке цикла указываются два значения. Первое значение присваивается так называемой переменной-счетчику, от этого значения начинается отсчет количества итераций (повторений). Отсчет идет всегда с шагом равным единице. Второе значение указывает, при каком значении счетчика цикл должен остановиться. Другими словами, количество итераций цикла определяется разностью между вторым и первым значением плюс единица. В Pascal тело цикла не должно содержать выражений, изменяющих счетчик.

Цикл for существует в двух формах:

for счетчик:=значение to конечное_значение do

тело_цикла;

for счетчик:=значение downto конечное_значение do

тело_цикла;

Счетчик – это переменная любого из перечисляемых типов (целого, булевого, символьного, диапазонного, перечисления). Начальные и конечные значения могут быть представлены не только значениями, но и выражениями, возвращающими совместимые с типом счетчика типы данных. Если между начальным и конечным выражением указано служебное слово to, то на каждом шаге цикла значение параметра будет увеличиваться на единицу. Если же указано downto, то значение параметра будет уменьшаться на единицу.

Количество итераций цикла for известно именно до его выполнения, но не до выполнения всей программы. Так в примере ниже, количество выполнений цикла определяется пользователем. Значение присваивается переменной, а затем используется в заголовке цикла. Но когда оно используется, циклу уже точно известно, сколько раз надо выполниться.

var

i, n: integer;

begin

write ('Количество знаков: ');

readln (n);

for i := 1 to n do

write ('(*) ');

readln

end.

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

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

while <условие> do

begin

<тело цикла>

end;

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

Цикл с постусловием — цикл, в котором условие проверяется после выполнения тела цикла. Отсюда следует, что тело всегда выполняется хотя бы один раз. В языке Паскаль этот цикл реализует оператор repeat..until; в Си — do…while.

На языке Pascal цикл с постусловием имеет следующий вид:

repeat

<тело цикла>

until <условие выхода>

В трактовке условия цикла с постусловием в разных языках есть различия. В Паскале и языках, произошедших от него, условие такого цикла трактуется как условие выхода (цикл завершается, когда условие истинно, в русской терминологии такие циклы называют ещё «цикл до»), а в Си и его потомках — как условие продолжения (цикл завершается, когда условие ложно, такие циклы иногда называют «цикл пока»).

2. Техническое задание

Составить алгоритм и программу, вычисляющую значения функции до тех пор, пока не будет пройдена некоторая характерная точка графика функции значения аргумента x должны составлять возрастающую арифметическую прогрессию с заданным начальным членом 0,ё и разность 0,1. Установить предел изменения аргумента x=10.

Нуль функции y =

  1. Анализ технического задания

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

4. Блок-схема

Н

x=0,1

x:10

>

<=

y1 =

y2 =

да

y1*y2<0

нет

x=x+0,1

К

Рисунок1: Блок-схема1. Для программы pr1.

5. Модульная структура программы

Программа состоит из одного модуля - самой программы.

  1. Спецификация на программные модули

1) Имя модуля pr1.

2) Имя вызывающего модуля – нет.

3) Выполняемые функции - нахождение нулей функции.

4)Входные данные: нет.

5)Выходные данные: x, y1, y2 типа real.

6)Особенности, ограничения – нет.

7.Текст программы

program pr1;

uses crt;

var x, y1, y2:real;

Begin

clrscr;

x:=0.1;

While x<=10 do

Begin

y1:=x*sqrt(exp(x))-sqrt(x+1);

y2:=(x+0.1)*sqrt(exp(x+0.1))-sqrt((x+0.1)+1);

If (y1*y2)<0 then break;

writeln('x=',x:8:3,' ','y1=',y1:8:3,' ','y2=',y2:8:3);

x:=x+0.1;

End;

Readln;

End.

8.Результаты тестирования:

Входных данных в программе нет, поэтому приведу пример программы:

9. Заключение

В результате выполнения лабораторной работы освоены способы выполнения элементарных программ, повторила написание блок-схем. Также повторила виды циклов и написание программ для них.