Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на Pascal.doc
Скачиваний:
16
Добавлен:
06.09.2019
Размер:
3.69 Mб
Скачать

1 Октября 1994 года - 4 квартал – суббота

Контрольные вопросы к зачету:

  1. Для чего нужен условный оператор?

  2. Что используется в качестве условия?

  3. Какие значения может принимать логическое выражение?

  4. Как выполняется условный оператор?

  5. Когда в условном операторе нужно использовать операторные скобки BEGIN..END?

  6. Когда удобнее использовать оператор варианта?

  7. Правила использования оператора варианта.

  8. Как работает цикл?

  9. Что такое итерация?

  10. Когда используется цикл с параметром?

  11. Ограничения, накладываемые на счетчик цикла.

  12. Как работает цикл с предусловием?

  13. Как работает цикл с постусловием?

  14. Как задается перечисляемый тип данных?

  15. Что представляет собой ограниченный тип данных?

  16. Правила ограничения типа.

Символьные переменные и функции в паскале

Вспомним структуру данных в Паскале.

Тип STRING присущ только Турбо Паскалю и означает текстовую переменную. Ее запись:

VAR A:STRING[N]; {на заданное количество символов N} или

VAR A:STRING; {на произвольное количество символов}

Ввод текстовых переменных

READ (A); {клавиатурный ввод}

Оператор READ считывает ВСЕ символы введенной строки, включая пробелы и знаки препинания – до нажатия клавиши ввода.

A:='ТЕКСТ'; {присваивание внутри программы}

Операции и функции:

1. Две стринговые переменные можно складывать:

program ttt;

var a,b,c: srting[40];

begin

a:='программирование';

b:=' на Паскале';

c:=a+b;

write (c);

end.

2. LENGTH(переменная)

определяет длину символьной переменной

k:=length(a); {где k – целое число}

3. COPY(A,K,L)

выделяет из строки заданную подстроку, где

A – исходная стринговая переменная;

K - начальная позиция с которой начинается подстрока;

L - количество рассматриваемых позиций.

S:= COPY(‘История’,3,4); {S примет значение ‘тори’}

4. INSERT(X,A,L)

вставка подстроки в строку

X - вставляемый фрагмент

A - стринговая переменная, куда вставляется фрагмент

L - позиция вставки

S:=’Строка’;

Insert(‘AAA’,s,3); {переменная S примет значение ‘СтАААока’}

5. STR(X,A)

преобразует число X в строку A {Было 25, станет ‘25’}

str(12,S); {переменная S примет значение ‘12’}

6. POS(X,A)

находит в строке A подстроку X (позицию вхождения)

Результат выполнения функции - целое число.

X:=pos(‘ледокол’,’док’); {х станет равным 3}

7. DELETE(X,A,L)

Удаление L символов из строки X, где

X - стринговая переменная;

A - позиция удаления;

L - количество удаляемых символов.

S:=’Процессор’; Delete(S,8,2); {S станет =’Процесс’}

8. CONCAT(S1,S2,...,SN)

сцепление строк S1,S2,...,SN, аналогичен знаку «плюс».

S:=Concat(S1,S2,S3); или

S:=S1+S2+S3;

9. VAL(A,X,C)

преобразование строки A в число переменной X. Если параметр C содержит 0, значит преобразование прошло успешно, в противном случае С содержит номер позиции в строке A, где обнаружен неверный символ.

program prg;

var s:string;

n:integer;

c:integer;

begin

s:='256';

val(s,n,c);

writeln('Число = ',n,' Ошибка перевода с позиции ',c);

s:='256строк';

val(s,n,c);

writeln('Число = ',n,' Ошибка перевода с позиции ',c);

end.

Выведет на экран:

Число = 256 Ошибка перевода с позиции 0

Число = 0 Ошибка перевода с позиции 4

10.UPCASE(B)

функция типа char, преобразует латинские строчные буквы в заглавные. Только для одной буквы!

S:=upcase(‘a’); {S станет равным ‘А’}

ЗАДАНИЕ:

  1. В следующей программе вычислите, что будет выведено на экран компьютера и запишите это справа от каждой строки вывода.

program p1;

uses crt;

var x:real; y:integer; c,z:char;

s,s1,s2,s3,s4,s5:string;

begin

clrscr;

s2:='круговорот';

writeln('длина слова круговорот', length(s2));

s:=concat('12','345');

writeln(s);

s1:=copy(s,3,2);

writeln(s1);

y:=pos('рот',s2);

writeln(y);

z:=upcase(c);

writeln(z);

delete(s2,3,6);

writeln(s2);

insert('abc',s2,3);

writeln(s2);

end.

  1. Из слова ТИПОГРАФИЯ получить слово ГРАФИТ, ТИФ.

  2. Пользователь вводит текст с клавиатуры. Вывести самое длинное слово.

  3. Во введенном тексте (латинским шрифтом) все буквы «а» сделать большими.

  4. Во введенном тексте слово «мир» заменить на слово «планета».

  5. В заданном тексте удалить часть текста, заключенную в скобки (вместе со скобками).

  6. В заданном тексте удалить лишние пробелы, оставив их по одному.

  7. Сколько раз в тексте встречается заданное слово?

  8. В данном предложении вывести слова, которые начинаются с заданной буквы.

  9. Написать программу: какие символы и сколько раз встречаются в тексте.