Безусловен оператор на скок

В допълнение към операторите за условен скок има и оператор за безусловен скок goto. Формат:

отидете етикет;

Операторът goto прескача по време на изпълнението на програма към конкретен програмен оператор, предшестван от етикет. Етикетът трябва да бъде описан в раздела за описание на етикета на програмата (процедура или функция), в който се използва. Не можете да преминете от една процедура или функция към друга.

Програмата трябва да има оператор, маркиран с посочения етикет. Записва се пред оператора и се отделя от него с двоеточие.

1: WriteLn ('Направо към етикет 1');

Оператори за повторение

Turbo Pascal има три оператора, които ви позволяват да програмирате повтарящи се програмни фрагменти (цикли). Това са операторите докато, повторете, за.

Оператор на цикъл while-do (цикъл с предварително условие)

Общ изглед на записа:

Докато направете

Записът означава "докато е в ход, направете".

While-do означава "докато е в ход, направи" и

се изпълнява по следния начин: първо се проверява условието. Ако е вярно, те се екзекутират. и т.н. Ако условието е невярно, изпълнението се счита за завършено и програмата преминава към обработка на следващите команди. По този начин, ако условието е невярно от самото начало,. няма да бъде изпълнено нито веднъж. В цикъл while-do това е условие за изпълнение на цикъла: докато е вярно, програмата няма да излезе от цикъла. В случай, че вътре в цикъла има само един оператор, двойката начало - край може да отсъства, ако има повече от един оператор, тогава е необходима двойка начало - край, тъй като в противен случай само един оператор ще бъде изпълнен веднага след дума правя.

Пример: Трябва да изчислите сумата S = 1 + 1/2 + 1/3 +. +1/50

VAR S: ИСТИНСКИ; N: INTEGER;

до;

Операторът repeat-till означава "повторение, докато не бъде изпълнен" и се изпълнява, както следва: Изпълнете първо. ... След това се проверява състоянието. Ако е невярно, връща се с изпълнение. ... Ако условието е вярно, цикълът се счита за завършен и програмата преминава към обработка на следващите команди. По този начин, в цикъл, repeat-till е условието за края на цикъла: цикълът се повтаря, докато не е фалшив.

VAR S: ИСТИНСКИ; N: INTEGER;

За оператор на цикъл (цикъл с параметър)

За I: = N1 до N2 направете;

I - променлива на цикъла (параметър на цикъла),

N1 - начална стойност на цикъла,

N2 - крайна стойност на цикъла,

I, N1, N2 трябва да са от същия тип, но не и реални.

Взимам последователни стойности от този тип от N1 до N2. Ако N1 и N2 са цели числа, а I е цяло число променлива, тогава стъпката винаги е равна на единица.

Инструкции за означава "за I, променяйки се от N1 на N2, правя" и се извършва по следния начин: първо се изчислява стойността на N1 и се присвоява на I. След това се повтаря циклично:

- проверка на състояние I ";

- увеличаване на променливата I с едно.

VAR S: ИСТИНСКИ; N: INTEGER;

ЗА I: = 1 ДО 50 DO

Цикълът за намаляване на стойностите на параметъра I от N2 до N1 има формата:

За I: = N2 до N1 do;

За I: = 20 в центъра 1 направете A: = A + 1;

Променям от 20 на 1 на стъпки от -1.

Масиви

Масив - подреден набор от стойности от същия тип - компонент на масив. Типът компонент се нарича тип основен масив.

В Pascal, масив се счита за променлива от структуриран тип. На масива е присвоено име, чрез което можете да се отнесете към него като цяло или към някой от неговите компоненти.

Променливата с индекса е идентификаторът на компонента на масива. Формат на запис:

където може да бъде пореден израз.

Описанието на масива определя името, размера на масива и основния тип. Формат на описанието в раздела за променливи:

Var: масив [] на

- всеки пореден тип, различен от longint, най-често се използва цял интервален тип.

- всякакъв вид Turbo Pascal.

Линейнаедномерен масив - масив, чиито елементи са прости променливи. Едномерните масиви съхраняват стойностите на линейните таблици.

Примери за описание на едномерни масиви:

Var B: масив [0. ... 5] на реални;

R: масив [1. ... 34] от char;

N: масив [‘A’. ... 'Z'] на цяло число;

Въвеждането и извеждането на масив се извършва елемент по елемент. Обикновено за това се използва цикъл с параметър, където като параметър се използва променлива на индекса.

Попълнете реален линеен масив от N числа с произволни числа от диапазона [0, 1]. Намерете максималната стойност и нейния индекс (първата, ако има няколко такива стойности).

Тъй като размерът на масива в програмата трябва да бъде уникално определен, ние дефинираме N в раздела с константи, например N = 20. При промяна на размера на масива ще бъде достатъчно да редактирате само описанието на константата N в програмата.

Var X: масив [1 . N] от реално; k: цяло число;

Макс: истински; Kmax: цяло число;

Макс: = X [1]; Kmax: = 1;

За k: = 2 до N направете

Ако X [k]> Max, тогава започнете max: = X [k]; Kmax: = k край;

Writeln (‘Първа максимална стойност: X [’, Kmax, ’] =’, макс.)

В Turbo Pascal един оператор за присвояване може да прехвърли всички елементи от един масив в друг масив от същия тип, например:

Var A, B: масив [1.5] от цяло число;

След това задание всички елементи на масив A ще получат същите стойности като в масив B.

Тъй като - всеки тип Turbo Pascal, той може да бъде друг масив, например:

Var B: масив [1. ... 5] на масив [1.10] на реално;

Този запис може да бъде заменен с по-компактен:

Var B: масив [1. ... 5, 1.10] от реално;

Броят на прикачените файлове е ограничен само от обема памет. В горния пример масивът е двуизмерен. IN двумерни масиви съхранява стойностите на двумерни таблици (матрици), състоящи се от редове и колони.

Пример за описание на двумерни масиви:

Var a: масив [1.5,1.2] от цяло число;

Даден е масив от 5 реда и 2 колони, съдържащи елементи от цяло число. Изчислете произведението на отрицателните елементи.

Var a: масив [1.5,1.2] от цяло число;

За j: = 1 до 2 започнете

Writeln (‘Array a’);

За i: = 1 до 5 започнете

Тук: - име на подпрограмата (правилен идентификатор);

- типът на връщане на функцията.

Например FUNCTION F (a, b: Real): Real;

ПРОЦЕДУРА SB (a: Real; b: Integer; c: Char);

Променливите, описани в основната програма, са глобални за подпрограмите. Всички променливи от списъка на официалните параметри на подпрограмите могат да се използват във всякакви изрази в подпрограмата и са локални.

Всеки от формалните параметри на подпрограма може да бъде или стойност-параметър, или параметър-променлива, или, накрая, параметър-константа. например,

ПРОЦЕДУРА MyProcedure (var a: Real; b: Real; const c: String);

Тук A е променлив параметър, B е стойностен параметър, а C е постоянен параметър.

Тъй като всяко име в програмата е задължително описано, преди да се появи сред изпълнимите изрази, подпрограмата също трябва да бъде предварително дефинирана в раздела за описание на основната програма. Описанието (дефиницията) на основната програма е собствен текст, който съдържа заглавката и тялото на подпрограмата.

ПРОЦЕДУРА REV (a, b: цяло число);

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

За извикване на подпрограма за изпълнение се използва оператор, който се състои от неговото име и списък действително параметри (ако списъкът с официално параметри). например,

При всяко извикване на подпрограмата се изчисляват действителните параметри, които могат да бъдат константи (4), променливи (x, y) или изрази (5 * Sqrt (y-x)).

При извикване на подпрограма трябва да се спазва следното правило: броят, видът и редът на действителните параметри трябва стриктно да съответстват на броя, вида и реда на съответните формални параметри.

Функция на подпрограмата

Тялото на функцията трябва да съдържа поне един оператор за присвояване с идентификатора на функцията вляво.

Внедрете функция с име POWER, която повишава всяко реално число до всяка реална степен.

.Програмата въвежда чифт числа X и Y и показва резултата от повишаването на X първо в степен + Y, а след това в степен –Y. За да излезете от програмата, въведете Ctrl-Z и Enter.