№13: Програмиране и алгоритмични езици основни оператори



страница10/10
Дата23.11.2023
Размер92.25 Kb.
#119402
1   2   3   4   5   6   7   8   9   10
Билет13
Program;
Var n:Integer;
Begin
ReadLn (n);
Case n of
1: WriteLn(‘едно);
2: WriteLn(‘две);
3: WriteLn(‘три);
4: WriteLn(‘четири);
5: WriteLn(‘пет)
Else WriteLn (‘Няма посочена цифра’)
End;
End.
4. Оператор за безусловен преход. Този оператор служи да наруши последователното изпълнение на командите в програмата. Обикновено командите в програмата се изпълняват една след друга. Ако по някаква причина искаме да прескочим няколко команди или да се върнем назад с няколко команди, тогава може да се използва операторът за безусловен преход. Той е нехарактерен за стила на езика Pascal и е остатък от по-старите езици за програмиране. Доказано е, че всяка програма на Pascal може да се напише и без този оператор, като се използват други средства. Граматиката на оператора за безусловен преход е следната:
goto етикет
където етикетът е цяло положително число. То се поставя пред командата от програмата, към която искаме да се извърши прехода:
етикет: команда
Всички етикети в програмата трябва да са различни и да са описани в декларативната и част. Описанието е следното:
label етикет1, етикет2, ... , етикетN;
Декларирането на етикетите става преди декларирането на константите и променливите (const и var) и след декларацията за ползвани библиотеки от готови подпрограми (uses). Пример:
program ...;
uses .....
label 1, 2; { Деклариране на етикетите }
const .....
var ....
begin
1: readln(a);
if a > 0 then goto 2; { Преход напред }
.....
goto 1; { Преход назад - неявен цикъл }
...
2: writeln(a);
....
end.
В горната непълна програма два пъти се използва безусловен преход: напред - goto 2 и назад - goto 1. В първият случай се прескачат няколко команди, а във втория се връщаме назад няколко команди и те ще се изпълнят отново. Когато в един алгоритъм няколко команди се изпълняват многократно, се казва, че те образуват цикъл. Циклите образувани с оператора goto се наричат неявни цикли. В Pascal има специални оператори за цикъл. Операторът goto е опасен за ползване, защото нарушава естествената логика на програмата. Чрез него тя се накъсва и става трудна за асимилиране. Това често води до грешки. Затова използването на goto би трябвало да се избягва. Съществуват обаче случаи, където опита да се избегне goto също усложнява и забавя програмата.
Задача 4.3: Да се състави програма, която събира N реални числа.
program suma1;
uses WinCrt;
label 1, 2;
var
a, s: real;
i, n: integer;
begin
write('Въведете броя на числата');
readln(n);
if n <= 0
then begin
writeln('Грешен брой!');
goto 2
end;
s := 0;
i := 1;
1 write('Въведете ', i, '-то число:');
readln(a);
s := s + a;
i := i + 1;
if i <= n then goto 1;
writeln('Сума:', s:10:4);
2: end.

Сподели с приятели:
1   2   3   4   5   6   7   8   9   10




©obuch.info 2024
отнасят до администрацията

    Начална страница