
- •Интегрированная среда Turbo Pascal. Функциональные клавиши Турбо Паскаль.
- •Работа с блоками в Turbo Pascal
- •Редактирование программы.
- •Операция присваивания
- •Операции отношений:
- •Задачи ветвление if:
- •Синтаксис коннструкции case:
- •Алгоритм цикл
- •Задачи цикл for:
- •Задачи цикл while:
- •Оператор цикла с постусловием repeat.
- •Задачи цикл repeat:
- •Одномерные массивы.
- •Объявление массива.
- •Поиск в массиве.
- •Задачи на одномерные массивы:
- •Заполнить массив:
- •Дан массив. Все его элементы:
- •Определить:
- •Дан массив вещественных чисел.
- •Дан массив вещественных чисел.
- •Дан массив целых чисел.
- •Дан массив целых чисел.
- •Дан массив целых чисел. Найти:
- •Двумерные массивы.
- •Работа с элементами
- •Квадратные матрицы.
- •Задачи по двумерным массивам
- •Дан двумерный массив вещественных чисел .
- •Строки.
- •Строковые функции
- •Символы.
Строковые функции
Функция length.
Функция length возвращает длину строки. У функции один параметр – переменная строкового типа. Возвращаемое значение функции (целое число) – количество символов, из которых состоит строка, без учета начальных и завершающих пробелов. Например length(’Иванов’) равно 6, а значение length(’ Невский проспект ’) равно 16, так как при вычислении длины строки функция не учитывает начальные и завершающие пробелы.
Примеры определения длины строки
k:=length(‘мир’); k=3
s:=‘Кот и пес’; n:= length(s); n=9
s1=‘’; i:= length(s1); i=0 ‘’ - пустая строка!
Задачи:
Дано название футбольного клуба. Определить количество символов в нем.
Дано название города. Определить четно или нет количество символов в нем.
Даны две фамилии. Определить какая из них длиннее.
Функция copy.
Функция copy позволяет выделить фрагмент строки. В общем виде обращение к функции copy выглядит так: (строка, p, n);
где строка – переменная строкового типа, содержащая строку, фрагмент которой надо получить; p – номер первого символа в строке строка, с которого начинается выделяемая подстрока; n – длина выделяемой подстроки. Например, в результате выполнения команд:
s:= ‘Инженер Иванов’;
fam:= copy (s, 9, 6);
значением переменной fam будет строка ‘Иванов’.
Примеры выделения символов
s:=‘информатика’;
s1:=copy (s, 3, 5); s1=‘форма’
s2:=copy (s, 8, 2)+ copy (s, 3, 1); s2=‘тиф’
Задачи:
Дано слово. Получить его часть, образованную второй, третьей и четвертыми буквами.
Дано слово, состоящее из четного числа букв. Вывести на экран его первую половину, не используя оператор цикла.
Дано слово. Получить его часть, образованную идущими подряд буквами, начиная с m-й и кончая n-й.
Из слова "яблоко" путем вырезок его букв получить слова "блок" и "око".
Процедура insert.
Процедура insert позволяет добавить часть строки в исходную строку. В общем виде обращение к процедуре выглядит так: Insert ( подстрока, строка, p);
где подстрока – строковая константа или переменная, которую необходимо добавить в строковую переменную строка; p – номер первого символа в строке строка, с которого начинается добавление подстроки.
Примеры вставки символов
s:=‘мама’;
insert (‘очк’, s, 4); s=‘мамочка’
s1:=‘рог’;
s2:=‘по’;
insert (s1, s2, 3); s2=‘порог’
Задачи:
Дано слово. Вставить букву "т" после k-й буквы.
Дано слово. Вставить заданную букву после первой буквы "и".
Дано слово. Переставить его первую букву на место последней. При этом вторую, третью, ..., последнюю буквы сдвинуть влево на одну позицию.
Процедура delete.
Процедура delete позволяет удалить часть строки. В общем виде обращение к процедуре выглядит так: delete (Строка, p, n);
где строка – переменная строкового типа; p – номер символа, с которого начинается удаляемая подстрока; n – длина удаляемой подстроки.
Например, в результате выполнения команд:
s:= ‘Город Санкт-Петербург’;
delete (s, 7, 6);
значение переменной s будет строка ‘Город Петербург’.
Примеры удаления символов
s:=‘котик’;
delete (s, 4, 2); s=‘кот’
s:=‘информатика’;
delete (s, 1, 2);
delete (s, 6, 4); s=‘форма’
Задачи:
Дано слово:
удалить из него третью букву;
удалить из него k-ю букву.
удалить из него первую из букв "о", если такая буква есть.
удалить из него последнюю из букв "т", если такая буква есть.
Дано слово. Если его длина нечетная, то удалить среднюю букву, в противном случае - две средних буквы.
Дано предложение. Удалить из него все символы с n1-го по n2-й (n1n2).
Дано предложение. Удалить из него все буквы "с".
Дано слово. Удалить из него все повторяющиеся буквы, оставив их первые вхождения, то есть в слове должны остаться только различные буквы.
Дано предложение. Удалить из него все буквы "о", стоящие на нечетных местах.
Функция pos.
Функция pos позволяет определить положение подстроки в строке. В общем виде обращение к функции выглядит так: pos (Подстрока, строка);
где Подстрока – строковая константа или переменная, которую надо найти в строковой константе или переменной строка.
Например, в результате выполнения команды: p:= pos (‘Пе’, ‘Санкт-Петербург’); значение переменной p будет равно 7. Если в строке нет искомой подстроки, то функция возвращает ноль.
Примеры определения позиции
k:=pos(‘р’, ’мир’); k=3
s:=‘колокол’;
n:=pos(‘кол’, s); n=1
s1:=‘ок’; s2:=‘кок’;
i:=pos(s1, s2); i=2
k:=pos(‘п’, ’мама’); k=0
Задачи:
Дано предложение, в котором имеется несколько букв "е". Найти:
а) порядковый номер первой из них;
б) порядковый номер последней из них.
Дано предложение. Определить, есть ли в нем буква "а". В случае положительного ответа найти также порядковый номер первой из них.
Дано предложение. Определить количество букв "н", предшествующих первой запятой предложения.
Дано предложение. Напечатать все символы, расположенные между первой и второй запятой. Если второй запятой нет, то должны быть напечатаны все символы, расположенные после единственной имеющейся запятой.
Дано предложение, в котором имеются одна буква "с" и одна буква "т". Определить, какая из них встречается раньше (при просмотре слова слева направо).
Процедура val.
процедура val позволяет преобразовать изображение числа в число. В общем виде обращение к процедуре выглядит так: val (Строка, число, код).
где строка – строковая константа или переменная, содержащая изображение числа; число - переменная, которой должно быть присвоено значение, изображенное строкой строка; код – возвращаемый процедурой код ошибки. Если строка может быть преобразована в число, то код ошибки равен нулю.
var
month: integer;
st: string[10];
code: integer;
begin
repeat
write (‘Месяц->’);
readln (st);
val (st, month, code);
if code<>0 then
writeln (‘Ошибка! Месяц следует задать цифрой.’);
until code=0;
end.
Задачи:
Дан текст. Напечатать все имеющиеся в нем цифры.
Дан текст. Определить количество цифр в нем.
Дан текст, в котором имеются цифры.
а) Найти их сумму.
б) Найти максимальную цифру.
Дан текст, в начале которого имеются пробелы и в котором имеются цифры. Найти порядковый номер максимальной цифры, считая, что первый номер имеет первый непробел. Если максимальных цифр несколько, то должен быть найден номер первой из них.
Процедура str.
Процедура str позволяет преобразовать число в его изображение, т.е. в строку. В общем виде обращение к процедуре выглядит так: str (выражение, строка).
где выражение – выражение или переменная целого или вещественного типа, строка – строковая переменная, которой будет присвоено изображение выражения.
Процедура ord
Процедура ord возвращает десятичный код символа.
ord(C[1]) где C[1] стока длины1 или переменная типа char.
Задачи общие:
Дано предложение. Определить число букв "о" в нем.
Дано предложение. Определить число пробелов в нем.
Дано предложение. Определить число вхождений в него некоторого символа.
Дано предложение. Определить долю (в %) букв "а" в нем.
Дан текст. Сколько раз в нем встречается символ "+" и сколько раз символ "*".
Дано предложение. Определить сколько в нем одинаковых соседних букв.
Дано предложение. Определить число вхождений в него буквосочетания "ро".
Дано предложение. В нем слова разделены одним пробелом (начальные и конечные пробелы в предложении отсутствуют). Определить количество слов в предложении.
Дано предложение. В нем слова разделены одним или несколькими пробелами. Определить количество слов в предложении.
Дан текст. Подсчитать общее число вхождений в него символов "+" и "-".
Дано предложение. Определить, сколько в нем гласных букв.
Дано предложение. Все буквы "е" в нем заменить на букву "и".
Дано предложение. Все его символы, стоящие на четных местах заменить на букву "ы".
Дано предложение. Заменить в нем все вхождения буквосочетания "ах" на "ух".
Дано предложение. Заменить в нем все вхождения буквосочетания "бит" на "рог".
Дана последовательность слов. Проверить, правильно ли в ней записаны сочетания "жи" и "ши".
Дана последовательность слов. Проверить, правильно ли в ней записаны сочетания "ча" и "ща". Исправить ошибки.
Дано слово. Определить, сколько различных букв в нем.
Даны два слова. Определить, можно ли из букв первого из них получить второе. Рассмотреть два варианта:
повторяющиеся буквы второго слова могут в первом слове не повторяться;
каждая буква второго слова должна входить в первое слово столько же раз, сколько и во второе.
Даны три слова. Напечатать только те буквы слов, которые есть только в одном из слов. Рассмотреть два варианта:
повторяющиеся буквы каждого слова рассматриваются;
повторяющиеся буквы каждого слова не рассматриваются.
Даны три слова. Напечатать их общие буквы. Повторяющиеся буквы каждого слова не рассматривать.
Даны три слова. Напечатать неповторяющиеся в них буквы.