37629

Циклы в Pascal

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

Информатика, кибернетика и программирование

Теоретическое введение Операторы цикла Операторы цикла используются для вычислений повторяющихся многократно. Блок ради выполнения которого и организуется цикл называется телом цикла. Проверка условия продолжения цикла и модификация параметра цикла. Один проход цикла называется итерацией.

Русский

2013-09-24

25.7 KB

7 чел.

ФЕДЕРАЛЬНОЕ АГЕНСТВО ПО ОБРАЗОВАНИЮ

ФИЛИАЛ ГОСУДАРСТВЕННОГО ОБРАЗОВАТЕЛЬНОГО УЧРЕЖДЕНИЯ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«МОСКОВСКИЙ ЭНЕРГЕТИЧЕСКИЙ ИНСТИТУТ

(ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ)» в г. Смоленске

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

Отчёт

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

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

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

Студент:                    Скобелева М.С.
Группа: ПИЭ-11
Преподаватель: Нестеров А.П.
Вариант: 7

Смоленск, 2011

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

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

Операторы цикла используются для вычислений, повторяющихся многократно. В Паскале имеется три вида циклов: цикл с предусловием while, цикл с постусловием repeat и цикл с параметром for. Каждый из них состоит из определенной последовательности операторов.  Блок, ради выполнения которого и организуется цикл, называется телом цикла. Остальные операторы служат для управления процессом повторения вычислений: это начальные установки. Проверка условия продолжения цикла и модификация параметра цикла. Один проход цикла называется итерацией.

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

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

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

Цикл завершается, если условие его продолжения не выполняется. Возможно принудительное завершение как текущей итерации, так и цикла в целом. Для этого служат операторы break, continue и goto. Передавать управление извне внутрь цикла не рекомендуется, потому что при этом могут не выполниться начальные установки.

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

Формат оператора прост: while выражение do оператор

Выражение должно быть логического типа. Например, это может быть операция отношения или просто логическая переменная. Если результат вычисления выражения равен true, выполняется расположенный после служебного слова do простой или составной оператор. Эти действия повторяются до того момента, пока результатом выражения не станет значение false. После окончания цикла управление передается на следующий за ним оператор.

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

Тело цикла с постусловием заключено между служебными словами repeat и until, поэтому заключать его в блок не требуется.

Repeat

тело цикла

Until выражение

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

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

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

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

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

  1.  Процедуры передачи управления

В Паскале есть несколько стандартных процедур, изменяющих последовательности выполнения операторов:

Break – завершает выполнение цикла, внутри которого записана;

Continue – выполняет переход к следующей итерации цикла;

Exit – выполняет выход из программы или подпрограммы;

Halt – немедленно завершает выполнение программы.

  1.  Оператор перехода goto

Этот оператор имеет простой синтаксис: в точке программы, из которой требуется организовать переход, после слова goto через пробел записывается имя метки, например, goto 1 или goto error. При программировании на Паскале необходимость в применении оператора перехода возникает в очень ограниченном количестве ситуаций, в большинстве же случаев используются операторы циклов вместе с процедурами передачи управления.

Использование оператора безусловного перехода оправданно, как правило, в двух случаях:

-принудительный выход вниз по тексту программы из нескольких вложенных циклов или операторов выбора;

- переход из нескольких мест программы в одно.

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

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

Для пункта  таблицы составить алгоритм вычисления табличных значений функций y=f(x,z), содержащий двукратный цикл: во внешнем цикле менять х от 1 до 2.2 с шагом 0.3; во внутреннем цикле изменять от 0.6 до 2 с шагом 0.2.

Ответ при x=1, z=0.6 f(x, z) = 0, 0426.

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

Для того, чтобы написать данную программу, необходимо написать программу с двумя циклами – внешним и внутренним. Для выполнения удобнее сначала воспользоваться циклом repeat (цикл с постусловием), а потом циклом while (цикл  с предусловием).

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

  1.   Имя модуля p1.
  2.  Имя вызываемого модуля – нет.
  3.  Выполняемые функции -  нахождение значения F по формуле

  1.  Входные данные  - F, x, z типа real.
  2.  Выходные данные – F типа real.
  3.  Особенности и ограничениянет.

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

program p1;

uses crt;

var F,x,z: real;

begin

clrscr;

writeln(‘1<x<2.2, 0.3; 0.6<z<2, 0.2’);

readln;

F:=0;

x:=0;

z:=0;

writeln(‘Введите значение x’);

readln(x);

repeat

begin

F:=0;

x:=1;

while x<=2.2 do

begin

F:=F+abs(x-3*z)/exp(1/3*ln(sqr(z)/9+exp(2*x))*

*arctan(z*sin(0.2*x)/cos(0.2*x))/sqrt(sqr(z)+sqr(x)));

X:=x+0.3;

writeln(‘ ‘, ‘F:=’, F:6:4);

end;

writeln;

z:=z+0.2;

end;

until z>2;

writeln(‘F:=’, F:6:4);

readln;

end.

  1.  Тестирование программы

F:=4.3213

F:=5.9550

F:=7.2761

F:=8.3121

F:=2.8704

F:=5.3349

F:=7.4245

F:=9.1732

F:=10.6140

F:=3.3943

F:=6.3455

F:=8.8864

F:=11.0554

F:=12.8906

F:=3.9182

F:=7.3563

F:=10.3476

F:=12.9344

F:=15.1601

F:=15.1601

Программа работает корректно, результаты соответствуют действительности.

Заключение: В результате выполнения лабораторной работы освоены циклы в Паскале, выявлены различия между циклами For, while и repeat, научилась решать задачи на табулирование с использованием внешнего и внутреннего цикла.


 

А также другие работы, которые могут Вас заинтересовать

50458. Определение радиуса кривизны линзы с помощью колец Ньютона. Ознакомление с явлением интерференции в тонких прозрачных пластинках 39 KB
  Минимум освещенности темное кольцо 3 Как связаны величины с радиусом линзы R и радиусами колец rk Из рис. видно: Учитывая малость величины R и разлагая в ряд получим: Таким образом оптическая разность хода между двумя интерферирующими лучами равна: 4 Принимая во внимание условие интерференции 3 получим для темных колец Аналогично можно найти и для радиусов светлых колец.
50459. Определение показателя преломления плоско-параллельной пластинки при помощи микроскопа 39.5 KB
  Цель работы: изучение законов геометрической оптики применение закона преломления для определения коэффициента преломления прозрачных объектов. 3 синус угла падения i относится к синусу угла преломления r как скорость света в первой среде относится к скорости света во второй среде Последний закон говорит о том что свет распространяется в различных средах с разной скоростью. Для двух данных сред и для луча данной длины волны отношение скорости света в среде 1 к скорости света в среде 2 или...
50460. Определние разрешающей способности и числовой апертуры микроскопа 74 KB
  Цель работы: ознакомиться с устройством микроскопа принципом действия и основными характеристиками. Введение Теория микроскопа. Основными оптическими частями простейшего микроскопа являются рис.
50461. Изучение сферических линз 79 KB
  Для тонких линз верна формула: 1 где d и расстояния предмета и его изображения от оптического центра линзы; n показатель преломления линзы относительно среды в которой она находится; R1 и R2 радиусы кривизны поверхностей ограничивающих линзу. Оптическим центром О линзы называется точка проходя которую лучи не изменяют своего направления. Плоскость перпендикулярная главной оптической оси и проходящая через центр оптический называется главной плоскостью линзы. Величина постоянная для данной линзы называется оптической...
50462. Измерение высоких температур с помощью оптического пирометра с исчезающей нитью 75.5 KB
  Поток световой энергии падающий на поверхность непрозрачного тела частично отражается частично входит внутрь тела и поглощается. Поэтому тела поглощающие лучи нагреваются. Предположим что в теплообмене участвуют тела образующие замкнутую систему окруженную адиабатической оболочкой т.
50463. Дифракция на щели и на решетки 98.5 KB
  Распределение интенсивности от N источников света. В действительности как известно нельзя создать даже двух одинаковых источников света. Поместим пластинку Р которая состоит из прозрачных и непрозрачных промежутков на пути параллельного пучка света даваемого одним источником. Сколько же света будет в точке наблюдения Р до которой доходят лучи от N прозрачных промежутков и распространяющихся под углом  к оси Ответ на этот вопрос дает формула 12.