Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Informatika.docx
Скачиваний:
5
Добавлен:
15.08.2019
Размер:
281.69 Кб
Скачать

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

Этот оператор позволяет перейти без проверки условия либо на один из предыдущих операторов, либо на один из последующих, т.е. изменить порядок выполнения команд. Общий вид оператора: Goto п;

где п- целое число, не более чем из четырех цифр , называемых меткой. Метка появляется в программе три раза: 1) в описательной части в разделе Label;

2) в операторе goto; 3) перед оператором, на который осуществляется безусловный переход, в этом случае метка от оператора определяется двоеточием.

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

Исходные

анные

Первый

шаг

Второй

шаг

Третий

шаг

НОД(А В) = 5

А = 25

А = 10

А = 10

А = 5

В = 15

В = 15

В = 5

В = 5

Program АВС16;

Label 1, 2;

Vara, b: integer;

Begin

Writeln (1 Введите два натуральных числа А и В: ’); Readln (а, b);

1: IF а = b then goto 2;

IF а > b then a: =a - b Else b : =b-a;

Goto 1;

2: Writeln (1 Наибольший общий делитель = ’ ,a); Readln;

End.

Откомпилируйте программу, запустите ее на выполнение. Введите данные, нажимая после каждой цифры клавишу ENTER: 25 15. Сохраните программу на носителе, создайте .ехе-файл

Рекурсии

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

  1. Наберите программу вычисления факториала числа с использованием рекурсии.

(Фактора алом натурального числа п называется произведение чисел 1*2*... п..).

Program АВС18; var N : integer;

F: longint;

Function Fakt (N : integer): longint; {описание рекурсивной функций }

Begin

IF N =1 Jien Fakt: = 1

!se Fakt: = N * Fakt (N -1) { рекурсивное вычисление N!}

end

Beg;, i {начало главной программы }

Wrin '1 Введите число N>’);

Roc с ; M);

F: =;: t (N); {вызов функций }

Wrin с (1 для числа ’, N, ‘ значение факториала = ’, F);

Readln;

End.

Отког.

7. Проем о:,

руйте профамму, запустите ее на выполнение. Наедите факториал, например, для чисел 3 5 ; е результат. Сохраните программу на носителе, создайте ехе - файл.

Строки

В па Несколькс послед^ больше Оли: Var где с , использу обознача;

  1. D

  2. In

3)

яти компьютера могут храниться числа и символы. Любой символ занимает один байт в памяти, дряд записанных символом образуют строку. Строка - это ограниченная апострофами . 1ьностъ любых символов. Длина строки не должна превышать 255 символов. Если она ( ,острофы не считаются), то нужно использовать массив строк, э е строки имеет вед: string [20];

гз X должна быть не более чем из 20 символов. ( Для описания одиночного символа char). Для обработки строк используется специальные операции: обьединение ( знаком “ + “), сравнение (=,<>, > < >=, <= ), присваивание (: =).

Строковые процедуры и функции:

Л

'St, Poz, N)-удаление N символов строки St начиная с позиции Poz.

Strl, Str2, Poz) - вставка строки Str1 в строку Str2, начиная с позиции Poz.

St

  1. V; и помещ

  2. Сс;

  3. С они указ;

  4. Lo

  5. Р: целочисп

  6. U,

тип. Об;:;

St) - преобразование числового значения величены IBR и помещение результата в строку

!BR, Code) - преобразуют значение St в величину целочисленного или вещественного типа эзультат в IBR.

St, Poz, N) - выделяет из строки St подстроку длиной N символов, начиная с позиции Poz.

{Strl, Sir2,..., StrN ) - выполняет сцепление строк Strl, Str2,..., Strtsl в том порядке, в каком списке параметров. Сумма символов всех сцепленных строк не дол>кна превышать 255.

(St) - вычисляет текущую длину в символах строки St, результат имеет целочисленный тип. rl, Str2 ) - обнаруживает первое появление в строке Str2 подстроки Strl. Результат имеет й тип и равен номеру той позиции, где находится первый символ подстроки Strl.

о ( Ch ) - преобразуют строчную букву в прописную. Параметр и результат имеют литерный заются буквы только латинского алфавита.

  1. Наберите программу, определяющую, является ли введенное слово перевертышем. ( Перевертышем называется слово, которое одинаково читается как сначала, так и с конца, например, шалаш, казак).

Program АВС19; var i: byte; word : string [ 30 ]; begin

write(‘Введитеслово: ‘); readln (word);

{ Проверяем символы поочередно от начала до середины слова } For i: = 1 to Тrune (Length (word) 12) do { Если соответствующие символы неодинаковы :}

IF word [ i ] < > word [ Length (word) - i +1 ] then begin

writeln (1 Неперевертыш ! ’);

Exit { вь 1ход из цикла } end;

writeln (‘ Перевертыш ! ’); readln;

End.

Откомпилируйте программу, запустите ее на выполнение. Введите следующие слова: ромашка шалаш город казак. Просмотрите результат. Сохраните программу на носителе, создайте .ехе-файл.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]