© М.Е.Макарова http :// uchinfo . com . ua
- Какой тип данных в Паскале описывает текстовые данные?
- Какой тип данных описывает один символ?
- Как можно определить текущую длину строки?
- Как можно обратиться к отдельному символу в строке?
- Как можно скопировать фрагмент одной строки в другую?
- Как можно вставить букву в слово?
- Как можно заменить букву в слове?
- Как можно удалить фрагмент строки?
- Как можно преобразовать текст в число и наоборот?
Научиться применять процедуры и функции обработки строк при составлении программ.
Текст и две разных буквы bukva1 и bukva2 вводятся с клавиатуры. Программа должна заменить в тексте все символы, совпадающие с bukva1 на bukva2 . Если символа bukva1 в тексте не обнаружиться, то должно быть выведено сообщение об этом.
Program zamena2_Pos;
uses Crt;
var Slovo: string;
Bukva1, bukva2: char;
len, i, k:integer;
Begin
clrscr;
writeln ('Задайте текст');
readln (slovo);
writeln ('Задайте первую букву ');
readln (bukva1);
writeln ('Задайте вторую букву');
readln (bukva2);
len:=length(slovo);
k:=0; i:=0;
repeat
k:=pos(bukva1,slovo);
slovo[k]:=bukva2;
i:=i+1;
until k=0;
if i=1 then writeln ('Буквы ', bukva1,' нет в этом тексте')
else writeln (slovo,i:5);
readln;
end.
Составить программу, которая переставляет символы в заданном тексте задом на перед. Не использовать дополнительную строку.
Program P a lindrom;
var Slovo: string;
Bukva: char;
len, i:integer;
Begin
writeln ('Задайте текст или число ');
readln (slovo); len:=length(slovo);
for i:=1 to len div 2 do
begin
bukva:=slovo[i]; slovo[i]:=slovo[len-i+1];
slovo[len-i+1]:=bukva;
end;
writeln (slovo);
readln;
end.
Program vstavka_simvolov;
var Slovo: string;
Bukva: char;
len, i:integer;
Begin
writeln ('Задайте слово ');
readln (slovo);
len:=length(slovo);
writeln ('Задайте букву ');
readln (bukva);
for i:=1 to len do
insert (bukva,slovo,i+i);
writeln (slovo);
readln;
end.
Составить программу, которая в заданном тексте после каждой буквы вставляет заданный символ.
Вы знаете, что каждый символ на клавиатуре имеет свой код.
Компьютер работает как раз с этими кодами.
ORD определяет код символа,
CHR преобразовывает код обратно в символ.
Var Simvol: char;
Kod: integer;
Begin
. . .
Kod:=ord(Simvol);
Simvol:=chr(Kod);
. . .
Составить программу, которая в заданном тексте меняет все заглавные буквы на прописные.
Для того, чтобы это сделать, нам нужно:
- определить код символа с помощью функции ORD ,
- проверить его,
- если он попадает в заданный интервал, пересчитать его
- преобразовать код обратно в символ с помощью обратной функции CHR
65) and (k then begin k:=k+32; slovo[i]:=chr(k); end; end; writeln (slovo);end. 65-90 десятичные коды заглавных букв английского алфавита. Код любой английской маленькой буквы на 32 больше кода соответствующей заглавной буквы " width="640"
Program Perevod_iz_bolshih_v_malenkie;
var Slovo: string;
Bukva1, bukva2: char;
len, i, k:integer;
Begin
writeln ('Задайте текст'); readln (slovo);
len:=length(slovo);
k:=0;
for i:=1 to len do
begin
k:=ord(slovo[i]);
if (k65) and (k
then
begin
k:=k+32;
slovo[i]:=chr(k);
end; end;
writeln (slovo);end.
65-90 десятичные коды заглавных букв английского алфавита.
Код любой английской маленькой буквы на 32 больше кода соответствующей заглавной буквы
- Решить Пример 1 из классной работы
а) с использованием процедур DELETE и INSERT ;
б) без использования процедур и функций работы со строками.
2. Составить программу, которая определяет, является ли введенное с клавиатуры число или текст палиндромом.
Определение:
Числа или фразы, которые читаются одинаково слева на право и с права на лево, называются палиндромами.
- Выучить § 30 ( 32 ), повторить § 29 ( 31 )
- Стр. 182 ( 138 ) № 2, 4


Составление программ со строками (2.24 MB)

