Программа состоит из отдельных разделов или блоков, которые долж­ны располагаться в следующем порядке: [ заголовок программы; ]



Download 0,62 Mb.
bet7/16
Sana16.03.2022
Hajmi0,62 Mb.
#493552
TuriЛабораторная работа
1   2   3   4   5   6   7   8   9   10   ...   16
Bog'liq
Задания по ЯиСП 1-14 ИВТ

Лабораторная работа 6.
Управляющие конструкции языка. Оператор безусловного перехода.


В языке программирования Паскаль, и следовательно в системе прог­раммирования TurboPascal 7.0 поддерживаются современные методологии проектирования программ (нисходящее, модульное проектирование, струк­турное программирование).
Концепция структурного программирования пришла в своё время на смену линейному программированию, реализованному в таких языках прог­раммирования как Бейсик. 3 настоящее время наиболее применяемой явля­ется структурная концепция программирования. 3 структурном программи­ровании принят естественный порядок выполнения программы: все операто­ры выполняются последовательно один за другим в том порядке, как они записаны. Для структурированных программ характерны легкость отладки и корректировка, низкая частота ошибок.
Описанный в данной лабораторной работе безусловный оператор, строго говоря, просто "запрещён" структурной концепцией как грубо нару­шающий её основные принципы, и является "атавизмом" оставшимся как воспоминание о более примитивном линейном программировании. Система программирования TurboPascal 7.0 обладает достаточно мощными средс­твами, позволяющими полностью отказаться от применения этого опера­тора.
Учитывая все описанные выше причины, настоятельно рекомендуется вообще отказаться от использования оператора безусловного перехода, или свести его применение к минимуму. Если же вы всё-таки решили при­менить его в своей программе, то вы должны помнить, что использовать этот оператор следует крайне осторожно. Широкое его применение без особых на то оснований ухудшает понимание логики работы программы. 5е-зусловный переход можно осуществлять далеко не из каждого места прог­раммы. Так, нельзя с помощью этого оператора перейти из основной прог­раммы в подпрограмму, или выйти из подпрограммы, не рекомендуется осу­ществлять переход внутрь структурированного (составного) оператора, т.к. он может дать неправильный результат, с помощью оператора перехо­да, расположенного вне условного оператора или оператора цикла, нельзя перейти внутрь этого условного оператора или оператора цикла и т.д.


Оператор безусловного перехода.


Оператор безусловного (быстрого) перехода GOTO позволяет изменить стандартный последовательный порядок выполнения операторов и перейти к выполнению программы, начиная с заданного оператора.


Форма записи оператора.


GOTO<метка>


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


Описание меток.


Метки используемые в TP, могут быть двух типов:
целым числом в диапазоне от 0 до 9999;
обычным идентификатором.
Все перечисленные метки должны быть перечислены в разделе объяв­ления меток, начинающимся зарезервированным словом label, например:
label 1, 2, MetJca;


Одной меткой можно пометить только один оператор. Метка от поме­ченного оператора отделяется двоеточием. Метка может устанавливаться перед любым оператором, в том числе и перед пустым оператором. Напри­мер:
1: Write(‘Привет’);


Пустой оператор.


Пустой оператор не предписывает никаких действий. По определению он представляет собой пустую совокупность символов. Как и все операто­ры, пустой оператор может быть помечен меткой.


Примеры программ.


Пример 1.
Найти частное от деления целых чисел.
PROGRAM Ех_1;
LabelOut; {описаниеметки}
Var X,Y,Res: Integer;{описание переменных}
Begin
Write(‘Введите делимое: ‘); {вывод сообщения на экран}
Readln(X); {ввод числа}
Write( ‘Введите делитель: ‘);
Redln(Y);
if Y = 0 then {ветвление}
begin {составной оператор}
Writeln(‘деление на ноль’);
GOTO Out; {использование GOTO}
end;
Res := X div Y; Write (‘Частное = ‘,Res);
Out: {метка на "пустой" оператор}
End.
ПРИМЕР2
Программа определения частного действительных чисел, исключающая деление на ноль, и производящая запрос об окончании работы программы.
PROGRAMM Ех_2 ;
Label1, 2;
Varх,у,res: real; s: byte;
Begin
1: Write(‘Введитеделимое:’); Readln(x); Write(‘Введитеделитель:’); Readln(у);
if Y = 0 then beginWriteln(‘делениенаноль’); GOTO 2; end;
res := x/y; Writeln(‘Частное =’ ,res);
2: Write(‘Продолжитьвычисления? 1-да, 2-нет. :’); Readln(s);
if s = 1 then GOTO 1;
End.


Контрольные вопросы.
1 Назовите причины нежелательного использования оператора безусловно­го перехода.
2 Что такое метка? Как она описывается и используется?
3 Что такое пустой оператор?

Задания для самостоятельного выполнения лабораторной работы 6:


1 Напишите программу "калькулятор", позволяющую вычислять по выбору одну из четырёх основных арифметических операций. Снабдите програм­му запросом об окончании работы.


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


3 Напишите программу вычисления квадратного корня из числа введённого с клавиатуры. Исключите вычисление корня из отрицательных чисел и нуля. Снабдите программу запросом об окончании работы.


4 Напишите программу, которая выводит название дня недели по номеру дня введённому с клавиатуры. Исключите несуществующие номера дней недели и снабдите программу запросом об окончании работы.


5 Напишите программу, которая возводит действительное число, введён­ное с клавиатуры, в степень, введённую с клавиатуры в диапазоне от 2 до 9. Исключите несуществующие (меньше 2 и больше 9) степени, и снабдите программу запросом об окончании работы.


6 Напишите программу, которая выводит на экран квадраты целых чисел от числа а до числа b.


7 Напишите программу вычисления значения функции у=х2-16х+32 для х от 1 до 10 с шагом 0,25.


8 Напишите программу вычисления функции
y=х3, при х>0
у =х2, при -2>=х>=0
y=х, в остальных случаях для х в диапазоне от -5 до 5 с шагом 0,5.


9 Напишите программу вычисления функцииf(х) =4х2+16(х+2) для х от а до b с шагом d введённым с клавиатуры.


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



Download 0,62 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10   ...   16




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish