МегаПредмет

ПОЗНАВАТЕЛЬНОЕ

Сила воли ведет к действию, а позитивные действия формируют позитивное отношение


Как определить диапазон голоса - ваш вокал


Игровые автоматы с быстрым выводом


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


Целительная привычка


Как самому избавиться от обидчивости


Противоречивые взгляды на качества, присущие мужчинам


Тренинг уверенности в себе


Вкуснейший "Салат из свеклы с чесноком"


Натюрморт и его изобразительные возможности


Применение, как принимать мумие? Мумие для волос, лица, при переломах, при кровотечении и т.д.


Как научиться брать на себя ответственность


Зачем нужны границы в отношениях с детьми?


Световозвращающие элементы на детской одежде


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


Как слышать голос Бога


Классификация ожирения по ИМТ (ВОЗ)


Глава 3. Завет мужчины с женщиной


Оси и плоскости тела человека


Оси и плоскости тела человека - Тело человека состоит из определенных топографических частей и участков, в которых расположены органы, мышцы, сосуды, нервы и т.д.


Отёска стен и прирубка косяков Отёска стен и прирубка косяков - Когда на доме не достаёт окон и дверей, красивое высокое крыльцо ещё только в воображении, приходится подниматься с улицы в дом по трапу.


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

Пример расчёта значений функции





KA4»E,HPA BbWHCJIHTEJIbHOH TEXHHKH

METOAHHECKME YKA3AHHH

K BWnOJIHEHHK) JIAEOPATOPHOH PAEOTM JV»73

«0praHH3auHH ijKKJiHHecKHX iiporpaMM Ha H3MKe Turbo-Pascal»

n o Kypcy

(BMMHCJIH TEJIbHAH TEXHHKA H nPOrPAMMHPOBAHHE»

(fljist CTy^eHTOB Bcex ctiennajii>HOCTeft)

y"TBep5KfleHO

na 3accflaHHM

MexoflH^ecKoro CoBera

npoTOKOJi N? 4 ox 28.12.98r.

3.2-018

Методические указания к выполнению лабораторной работы 73 «Организация цик­

лических программ на языкеTurbo-Pascal» по курсу «Вычислительная техника и про­

граммирование» (для студентов всех специальностей) / Сост.: Хмелёв А.Г., Подгорная

Н А , Потапова А.В. - Алчевск: ДГМИ,2002.- 18 с.

Рассмотрены способы организации циклических программ на языкеTurbo-Pascal; приведены задания и требования к отчёту, а также сформулирован ряд вопросов для само­

проверки.

Составители:

Хмелёв А.Г., доц.

Подгорная Н.А., ассист.

Потапова А.В., ассист.

Под общей редакцией доц. СИ. Зайцева

ББК 3973.2-018

Методичш вказ1вки до виконаяня лабораторно! роботи 73 «Организация цшшчних

програм на MOBI Turbo -Pascal» за курсом «Обчислювальна техтка i програмування» (для

студмтв ycix спеталыюстей) / Укладачк Хмельов О.Г., Подгорна И.О., Потапова А.В. -

Алчевськ: ДГМ1, 2002. -18 с.

Розгляиуто засоби оргашзацп цикл<чних irpoi-рам наTurbo-Pascal;наведено

завдання i вимоги до звггу, а також сформульоваггий ряд нитань для самоперевтрки.

Укладач1

Хмельов О.Г.,

доц.

Подгорна И.О.,

асист.

Потапова А.В.,

асист.

ГОд загальною редакцию доц. C.I. Зайцева

СОДЕРЖАНИЕ

1. Основные понятия 4

2. Виды циклических конструкций 4

2. 1.Цикл со счетчиком 4

2. 2. Цикл, работающий до выполнения некоторого условия 5

3. Примеры циклических программ 6

3. 1. Пример расчёта значений функции 7

3.2. Задачи вычисления сумм, произведений, и подсчета

количества элементов 7

4. Сложные циклы 11

Вопросы для самоконтроля 13

СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ 13

Задание для выполнения лабораторной работы 14

Цель работы: ознакомиться с понятием циклической программы, изучить

основные конструкции циклических операторов, освоить ос­

новные типы циклических программ.

Основные понятия

Под циклом понимают многократное повторение одного или не­

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

циклическими программами.

По принципу организации циклы делятся на две группы:

1) «перечисляемые циклы» или «.циклы со счетчиком».

2) «циклы с условиями».

Под счетчиком цикла в Турбо Паскале понимается порядковая пере­

менная целого типа.

Примером задачи первого типа может служить задача:

Вывести на экран все натуральные числа от 1 до 45.

Обозначим счетчик цикла через "к", тогда условие можно записать в

виде, 1<к<45,: Лк=Т, где : Ак -- шаг.

Пример задачи второго типа:

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

туры до тех пор, пока сумма не превысит числа 2750.

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

суммы введем обозначениеsum,то условие будет иметь вид:sum<2750.

2. Виды циклических конструкций

Цикл со счетчиком

Эта конструкция имеет вид:

FOR...TO(DOWNTO)...DO оператор, то есть можно использовать два онера-

тора:

FOR...TO...DO,

FOR...DOWNTO...DO.

В первом операторе после ключевого слова FOR указывается имя па­

раметра цикла (счетчик):-начальное значение параметра цикла.

После ключевого слова ТО указывается конечное значение параметра

цикла, с достижением которого повторение цикла будет прекращено. Шаг



изменения счетчика цикла в этом операторе равен единице. Конструкция

FOR...DOWNTO...DO обеспечиваег убывание счетчика цикла на единицу

(шаг равен "-1")

За ключевым словом DO записывается оператор или группа операто­

ров, заключенных в группу Begin...End, которые будут многократно повто-

ряться (тело цикла). Таким образом синтаксис команды следующий: For счётчик: ^началоto конец do

цикл на возрастание переменной

тело цикла;

счётчик (начало < конец шаг^Т).

For счётчик:=начешоdownto конец do цикл на убывание переменной

тело цикла;

счётчик (начало > конед шаг--1).

Примечание: переменная счётчик должна быть целого типа: ТИП

ДИАПАЗОН

Shortint

(-128 .. 127)

Integer

(-32768 .. 32767)

Longint

(-2147483648 .. 2147483647)

Byte

(0..255)

Word

(0..65535).

Например, для задачи, требующей вывести на экран вес натуральные

числа от 1 до 45, оператор цикла будет иметь вид:

F 0 R K : = 1 T 0 4 5 D 0

WRl'l'ELN (' ',К);

Применение оператора:

FOR К - 4 5 DOWNTO 1 DO

WRITTEN (' ',К); обеспечивает вывод на экран чисел от 45 до 1.

2.2. Цикл, работающий до выполнения некоторого условия

Первая такая конструкция имеет вид:

REPEAT...UNTIL. (Цикл с постусловием).

После ключевого слова REPEAT записывается оператор или группа

операторов, которые должны быть повторены многократно, а за ключевым

словом UNTIL - условие, до выполнения которого работает цикл.

Таким образом синтаксис команды следующий:

repeat

цикл на однократное или многократное вы­

тело цикла;

полнение оператора(ов) до тех пор, пока усло­

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

вие выхода ложно.

Надо отметить, что в этой конструкции нет необходимости использо­

вать операторные скобки begin...end для группы операторов.

Для решения задачи вывода на экран натуральных чисел от 1 до 45

оператор имеет вид:

К:=1;

REPEAT

WRITELN ('', К);

К:=К+1;

-UNTIL К>45;

В этом случае, до оператора цикла мы определяем начальное значе­

ние переменной К, а внутри цикла предусматриваем увеличение переменной

К на единицу (k:=k+l). Цикл завершает работу когда К станет больше 45.

Вторая конструкция оператора цикла имеет вид:

WHILE ... DO ... (цикл с предусловием).

В этом случае за ключевым словом WHILE записывается условие.

Цикл повторяется до тех пор, пока условие выполняется.

За ключевым словом DO записывается оператор или группа операто­

ров, заключенных в операторные скобки Begin...End, которые повторяются

многократно.

Таким образом синтаксис команды следующий:

While условие повтора do

цикл на повторение оператора(ов) до тех пор,

тело цикла;

пока условие повтора истинно.

Примечание: если при первой же проверке условие не выполняется, то операторы, составляющие тело цикла не будут выполнены ни разу.

Для рассматриваемой выше задачи оператор примет вид:

К:=1;

WHILE K<45 DO

BEGIN

WRITELN (*", К);

КНК+1;

END;

Как видно, для решения любой циклической программы можно ис­

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

3. Примеры циклических программ

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

видов:

Пример расчёта значений функции

Вычислить значения у = sin(a + b), z = ^b если а --

><Ь<2,4ЛЬ=0,6.

Смысл данной задачи сводится к тому, что надо определить и вывести

на экран значения переменных у и z при постоянном значении а. При этом b будет последовательно принимать значения -0,5; 0,1; 0,7; 1,3; 1,9.

Эти значения получаются, начиная от начального (-0,5), прибавлени­

ем к предыдущему шага (0,6) до конечного значения (2,4).

Для реализации этой задачи можно использовать конструкцию Repeat Д. until, поскольку переменная цикла является вещественной.

Алгоритм решения этой задачи имеет вид:

PROGRAM N1;

( Начало J

VAR

Л -А

A,B,Y,Z: REAL;

6 = -0,5

BEGIN

Т

A:=0.42; B:.=-0.5;

У ,2

REPEAT

1 ,

Y:=SIN(A+B) I

4 1

1 = ь(0,6 |

Z:=SQRT(ABS(A-B));

WRITELN ('У=',Y:30:3,.'

,Z:10:3)

b > 2 , 4 > ~ -

B:=B+0.6;

UNTIL B>2.4;

END.

Конец J

(

Описание алгоритма:

В блоке 2 переменной b присваивается значение - 0,5.

В блоке 3 начинается цикл по переменной b и вычисляются значения

переменных у и z .

В блоке 4 вычисляется выполняется приращение переменной b

В блоке 5 завершается цикл с постусловием.

3. 2. Задачи вычисления сумм, произведений, и подсчета количе­

Ства элементов

3.2.1. В машину вводится п произвольных чисел. Подсчитать их

сумму. Здесь удобно использовать конструкцию FOR...TO...DO, поскольку

количество повторений фиксировано, а переменная цикла имеет целочис­

ленный тип.

Рассмотрим алгоритм и программу решения этой задачи:

Начало

/ ввод я /

PROGRAM N2;

VAR

. *

( K=l,« ) 1

BEGIN

/7

WRITE ('Введите количество чисел - N ^ ' ) ;

/вводл /

READLN (N); S:=0;

I .

FOR K:=l TO N DO

s-s + x

BEGIN

WRITE ('Введите число Х=');

READLN (X) ;

J ВЫВОД S j

5:-S+X;

END;

( Конец "

WRITELN ('Сумма-',S:10:3);

END.

Описание алгоритма.

В блоке 2 предусмотрен ввод количества чисел, которые предполага­

ется ввести — п.

В блоке 3 организован цикл по переменной к, изменяющейся от 1 до п

с шагом 1.

В блоке 4 вводим значение числа и присваиваем его переменной X.

В блоке 5 накапливаем сумму значений X с помощью формулы

S=S+X. В этой формуле S, стоящие справа от знака = , предыдущее значение, а слева - последующее.

Этот блок является последним в цикле.

В блоке 7, который выполняется после завершения работы цикла, вы­

численное значение суммы — S выводится на экран.

3. 2.2. Найти произведение четных чисел натурального ряда (2, 4, 6....), вычисление завершить, когда величина произведения станет больше

числа 3700.

В данной задаче удобнее использовать одну из двух конструкций

REPEAT...UNTIL или

WHILE...DO, которые обеспечивают повторение цикла до выполне­

ния некоторого условия (Р<3700).

Воспользуемся конструкцией WHILE...DO, и составим алгоритм и

программу peiпения задачи.

PROGRAM N3;

Начало

VAR

К: INTEGER;

Р: REAL;

/ -7

BEGXN;

( пока Р<3700 )

п

Р:-] ;

1 .

К: =2 ;

р = рк

WHILE P<37 00 DO

к = к + 2

BEGIN;

_ (

Р:=Р*К;

К:=К+2;

/ вывод Р I

END;

— ^ * Л

WRITELN ('ПРОИЗВЕДЕНИЕ;-', Р:10:3);

Конец

END.

Описание алгоритма

В блоке 2 присваиваем переменной, в которой будем накапливать

произведение начальное значение — 1, а переменной К присваиваем первое

четное натуральное число — 2.

В блоке 3 организуем цикл, который будет повторятся до тех пор, по­

ка Р<3 700.

В блоке 4 накапливаем произведение значений К, используя рекур­

рентную формулу Р=Р*К и формируем следующее четное число по формуле

К"-К+2. Этот блок является последним в цикле.

R ftrmve 5 который выполняется после завершения заботы никла нн

экран выводится вычисленное значение произведения.

Примечание I.

Рекуррентными называют такие формулы, в которых каждое после­

дующее значение получается из предыдущего, например: S:=S+K.

Особенностью этих формул является то, что справа и слева от знака

присваивания стоит одна и также переменная S. Та, что стоит слева от знака

:~, называется последующим значением, а та, которая справа —предыдущим.

3. 2.3. С клавиатуры вводятся произвольные числа. Признаком за­

вершения работы является ввод числа 77777. Подсчитать количество введен­

ных чисел.

Для решения этой задачи воспользуемся конструкцией

REPEAT...IJNTIL.

Для подсчета количества чисел воспользуемся тем же принципом, что

и для подсчета суммы, но только суммировать будем единицы и тип пере­

менной будет целым.

Составим алгоритм и программу решения задачи.

PROGRAM N4;

VAR

X: REAL;

К: INTEGER;

BEGIN

К:=0;

REPEAT

WRITE ('ВВЕДИТЕ Х = ' ) ;

READLN (X); ,

K;~K+];

UNTIL X -mill;

WRTTELN ('Количество чисел =',К);

Г ~N

{ Конец 1

END.

Описание алгоритма.

В блоке 2 производим очистку переменной К.

В блоке 3 вводится очередное значение переменной X.

В блоке 4 количеству К прибавляется единица. Этот оператор являет­

ся последним в цикле.

В блоке 5, выполняется проверка условия завершения цикла

(Х=77777).

4. Сложные циклы

К сложным циклическим относятся задачи, в которых изменяется не­

сколько переменных, входящих в одно и тоже выражение, например."

Р = 2cos(ax) + е, где

0,5<а<2,5; Ла=0,3и

- 0 , 4 < х < 3 , 6 ; Лх=0,6.

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

ременныеа и х , и они входят в формулу для вычисления Р.

В таких задачах циклы делятся на внешний и внутренний.

Какой цикл принимать за внешний может быть специально оговорено

в условии задачи. Если это не сделано, как в нашем случае, то выбор делает­

ся произвольно.

Выберем переменнуюа за переменную внешнего цикла, а х за пере-

мешгую внутреннего цикла.

При составлении алгоритма следует помнить, что внешний цикл от­

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

Иными словами, если это представить структурно, то внутренний

цикл должен полиостью располагаться внутри внешнего.

Начало цикла по А

Начало цикла по X

Конец цикла по X

Конец цикла по А

Для реализации этой задачи удобно использовать конструкцииRepeat

. until илиWhile ... do ... , поскольку переменные цикла являются вещест­

венными.

Порядок вычислений будет следующий: первый раз при Аг4),5 в Р бу­

дут последовательно подставляться все значения X (8 значений),

второй раз при А=0,8 в Р будут последовательно подставляться вес

значения X (8 значений),

третий раз при А=1,1 в Р будут последовательно подставляться все

значения X (8 значений),

и т.д.

седьмой раз при А~1,1 в Р будут последовательно подставляться все

значения X (8 значений).

Составим алгоритм и программу решения данной задачи:

PROGRAM N 5 ;

f Начало J

VAR

1 т

P , A , X : R E A L ;

Л.Х

B E G I N

A : - = 0 . 5 ;

*пока а < 2,5

WHILE h<=2.b DO

BEGIN

пока x < 3,6

X:=-0.4;

WHILE X<-3.6 DO

BEGIN

P:=2*COS(A*X)+EXP(l) ;

WRITELN('A=',A:4:1,' X=',X:4:1,

вывод р

' P=',P:10:3);

X:-X+0.6;

( Конец J

END;

A:=A+0.3;

END;

END.

Описание алгоритма:

В блоке 3 организуем внешний цикл по А.

В блоке 4 организуем внутренний цикл по X.

В блоке 5 вычисляем значение Р.

В блоке 6 выводим значения А, X и Р на экран.

Этот блок является последним как во внутреннем, так и во внешнем

циклах.

В этой пр01рамме группа операторов заключенных в операторные

скобки BEGIN...END для каждого оператора WHILE повторяется до тех

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

вие не выполнится машина переходит на оператор следующий за оператором

end соответствующей операторной скобки.

Перед каждым оператором цикла WHILE переменной цикла при­

сваивается ее начальное значение: А:=0.5 и Х:=-0.4.

Перед концом цикла, переменная цикла увеличивается на величину

шага Х:=Х+0.6 и А:=А+0.5.

Примечание. В программе могут быть организованы циклы по трем и

более переменным, но всегда надо помнить о принципе вложенности циклов

Цикл 1 начало

Цикл 2 начало

И т.д.

Цикл 6 начало

Цикл 6 конец

Цикл 2 конец

Цикл 1 конец

Вопросы для самоконтроля

1. Что такое цикл?

2. Какие группы циклов Вы знаете?

3. Что такое параметр цикла?

4. Какие циклические конструкции Вы знаете?

5. В чем разница между конструкциям

FOR...TO...D

и

O и

FOR...DOWNTO...DO?

6. В чем различие между конструкциямиREPEAT...TJNT1L и

WHILE...DO?

7. В каких случаях применяются конструкции перечисленные в пунк­

те 6?

8. Чем отличается вычисления суммы от вычисления произведения?

9. Что такое сложный цикл?

СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ

1.Турбо Паскаль 7.0. К.:Торгово-издательскре бюро BHV, 1996. - 448 с.

2. Нпанешников А., Епанепшиков В. Программирование в среде Turbo Pascal 7.0. - М: Диалог-МИФИ, 1993. - 288 с.

3. Зуев Е.А. Язык программирования Turbo Pascal 6.0. М.: Унитех, 1992.-298 с.

4. Зубов B.C. Программируем на языке TURBO PASCAL (версии 6.0 и

7.0). Изд. 2-е, перераб. и доп. - М.: Информационно-издательский дом

"Фигиг5-1" 1007 » 420 С

5. Марченко А.И., Марченко Л.А. Программирование в среде Borland Pascal 7.0: Под ред. Тарасенко В.П. - К.: ЮНИОР, 1996. - 479 с.

6. Мизрохи С В . TURBO PASCAL и объектно-ориентированное про­

граммирование. - М: Финансы и статистика, 1992. - 192 с.





©2015 www.megapredmet.ru Все права принадлежат авторам размещенных материалов.