- •Содержание
- •Линейные алгоритмы
- •Язык программирования Turbo Passcal
- •Типы переменных в Паскале:
- •Стандартные операции и функции от скалярных данных.
- •Структура программы на Pascal
- •Команда присваивания
- •Команды ввода и вывода
- •Справка по работе с системой Turbo Pascal
- •Условный оператор, оператор множественного выбора Алгоритмы с ветвлением
- •Ветвление в Pascal Логические выражения
- •Логические операции
- •Команды ветвления
- •1. Условный оператор if
- •2. Оператор Case.
- •3. Команда безусловного перехода goto
- •Циклы Алгоритмы с циклами
- •1. Цикл с предусловием
- •2. Цикл с постусловием.
- •Циклы в Pascal
- •1. Цикл с параметром
- •2. Цикл с предусловием.
- •3. Цикл с постусловием
- •Вложенные циклы
- •Подпрограммы
- •Функции пользователя
- •Процедуры
- •Массивы Одномерные массивы
- •Стандартные задачи обработки массивов:
- •Двумерные массивы
- •Обработка строк и символов
- •Процедуры и функции обработки строк.
- •Основные алгоритмы обработки строк
- •Графика в Pascal
- •Основные графические процедуры и функции
- •Работа с файлами
- •Процедуры и функции для работы с файлами.
Процедуры и функции обработки строк.
1) length(st) – функция, вычисляющая длину строки.
length(‘паскаль’)=7
2) Copy(st,k,n) – функция, позволяющая скопировать из строки st с k –ой позиции n символов. Исходная строка не меняется.
St:=’информатика’;
St1:=copy(st,3,5);
St1=’форма’
delete(st, k, n) – процедура, удаляющая из строки st с k-ой позиции n символов.
St:=’барабан’;
Delete(st,4,4); Delete(st,4,4);
St=’бар’; St=’баран’;
5) Val(st, x,k) – процедура, позволяющая преобразовать строку st в ее числовое значение. K – код ошибки. K=0, если преобразование прошло успешно. Если преобразование невозможно, k<>0.
Val (‘123’,x,k); Val (‘12A’,x,k);
X=123 k=0 X=0 k=3
6) Str(x,st) – процедура, преобразующая число x в соответствующую строку st.
Str(25,st); Str(-0.123,st);
St=’25’ St=’-0.123’
Основные алгоритмы обработки строк
Пример 1. Подсчет количества заданных символов в строке
Вводятся строка и символ. Определить количество заданных символов во введенной строке.
Program primer;
Var st: string; c: char;
k, n, i: integer;
begin
write(‘stroka=’); readln(st);
write(‘simvol=’); readln(c);
n:= length(st);
k:=0;
for i:=1 to n do
if st[i]=c tnen inc(k);
writeln (‘k=’, k);
readln;
end.
Пример 2. Замена одних символов другими
Заменить во введенной строке все цифры символом *.
Program primer;
Var st: string;
n, i: integer;
begin
write(‘stroka=’); readln(st);
n:= length(st);
for i:=1 to n do
if (st[i]>=’0’) and (st[i]<=’9’) then st[i]:=’*’;
writeln (‘st=’, st);
readln;
end.
Пример 3. Удаление из строки заданных символов
Удалить из введенной строки все символы ‘3’.
Program primer; Var st1, st: string; i: integer; begin write(‘stroka=’); readln(st); for i:=1 to length(st) do if st[i]<>’3’ then st1:=st1+st[i]; writeln (‘st1=’, st1); readln; end.
|
Program primer; Var st: string; i: integer; begin write(‘stroka=’); readln(st); i:=1; repeat if st[i]=’3’ then delete(st, i, 1) else i:=i+1; until i=length(st); writeln (‘st=’, st); readln; end.
|
Пример 4. Вставка новых символов в строку
Введенную строку преобразовать так, чтобы после каждого слова следовала точка.
Program primer;
Var st: string;
i: integer;
begin
write(‘stroka=’); readln(st);
i:=1;
repeat
if (st[i]<>’ ’) and (st[i+1]=’ ’) then begin insert(‘.’, st, i+1); i:=i+2; end else i:=i+1;
until i=length(st);
writeln (‘st=’, st);
readln;
end.
Пример 5. Преобразование строковых величин в числовые значения
Найти сумму цифр введенной строки, содержащей цифры и буквы.
Program primer;
Var st: string;
i, x, k, s: integer;
begin
write(‘stroka=’); readln(st);
s:=0;
for i:=1 to length(st) do
begin
val(st[i],x,k);
if k=0 then s:=s+k;
end;
write(‘s=’,s);
readln;
end.