Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КНИГА_Учимся программировать TURBO PASCAL 7.doc
Скачиваний:
32
Добавлен:
19.08.2019
Размер:
1.62 Mб
Скачать

Var pol : string;

I, к, n : integer;

BEGIN

REPEAT

WRITE('BBEДИTE ДЛИНУ ПОСЛЕДОВАТЕЛЬНОСТИ N = ');

READLN (N);

UNTIL N>0;

К := 0;

FOR I := 1 TO N DO

BEGIN

WRITELN('BBEДИTE ПОЛ');

READLN (POL);

IF POL = 'MAN' THEN К := K+1

ELSE BREAK

END;

IF К = 0 THEN WRITELN('MУЖЧИH В НАЧАЛЕ ОЧЕРЕДИ НЕТ')

ELSE WRITELN('B НАЧАЛЕ ОЧЕРЕДИ СТОИТ ', К, 'МУЖЧИН')

END.

Для решения задачи:

- формируем тело программы и описываем переменные;

- вводим длину последовательности, задаем начальное значе­ние счетчика К;

- в цикле вводим пол человека;

- если это мужчина, то увеличиваем значение счетчика на единицу;

- в противном случае прерываем цикл оператором BREAK;

- в зависимости от К выводим результат.

Переменные:

К - счетчик;

I - переменная цикла;

N - количество человек в очереди;

POL - пол человека.

Практические задания

1. Вводится последовательность ненулевых чисел; 0 - конец по­следовательности. Посчитать, сколько в ней отрицательных чисел, и сумму положительных чисел.

2. Дана последовательность из N чисел. Определить, является ли она неубывающей.

3. Дана последовательность из N чисел. Определить, сохраняет ли она знак.

4. Вводится последовательность ненулевых чисел; 0 - конец по­следовательности. Определить, сколько в ней пар соседних равных элементов.

5. Дана последовательность из N чисел. Определить сумму трех наибольших чисел.

Тема 4 Символьные переменные и строки

В PASCAL 7.0 существует стандартный тип данных, который называется символьным, - CHAR. Этот тип является порядковым, и значения символьных переменных могут сравниваться между собой.

К символьным переменным относятся все заглавные латин­ские буквы 'А', 'В', 'С, ..., 'Z', строчные 'а', 'b', 'с', ..., 'z', цифры '0', '1, '2', ..., '9', знаки препинания, всевозможные скобки, рус­ские буквы и т. д. В программах их значения всегда заключаются в апострофы. Внутри каждого такого ряда коды символов упоря­дочены:

'А' < 'В' < 'С <... <'Z'

'а' < 'b' < 'с' <... <'z'

'0' < '1 < '2' <... <'9'

'А' < 'Б' < 'В' <... <'Я'

'а' < 'б' < 'в'<... <'я'

Коды всех строчных букв меньше всех заглавных.

Для работы с таким типом данных, как и для других порядко­вых типов, часто используются функции, аргументы которых мо­гут быть символьными переменными:

PRED() - предыдущее значение, например PRED('B') = 'A';

SUCC() - последующее значение, например SUCC('a') = 'b';

ORD() - численное значение кода, например ORD('7')-ORD('O') = 7.

Символьные переменные могут использоваться как перемен­ные цикла, например FOR I := 'Z'DOWNTO 'A DO или FOR I := 'А ТО 'Z' DO.

Последовательность символов, заключенная в апострофы, на­зывается строкой и описывается типом STRING:

'ASEWQ', 'zxczxczxc', 'хи-хи' и т. д.

Строки, состоящие всего из одного символа, называются сим­вольными константами.

У типа-строки может быть указан размер (от 1 до 255). Для строк выполняются операции сравнения (>, <,> = ,<=), например 'viv'<'viva' и конкатенации (+): 'мото'+'цикл' = 'мотоцикл'

По сути, строка длины К представляет собой массив из К+1 символьных переменных, где нулевой элемент хранит значение длины строки: STRING[K] = ARRAY[0..K] OF CHAR

Для строк часто используется функция определения длины строки LENGTH(STR).

Рассмотрим несколько задач.

Задача 4.1 Вывести в одну строку АВВССС... ZZ...Z.

PROGRAM PRG4_1;