© М.Е.Макарова
Какой тип данных в Паскале описывает текстовые данные? Какой тип данных описывает один символ? Как можно определить текущую длину строки? Как можно обратиться к отдельному символу в строке?
Как можно скопировать фрагмент одной строки в другую? Как можно вставить букву в слово? Как можно заменить букву в слове? Как можно удалить фрагмент строки? Как можно преобразовать текст в число и наоборот?
Научиться применять процедуры и функции обработки строк при составлении программ.
Текст и две разных буквы 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 Palindrom; 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
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 (k>65) and (k<90) then begin k:=k+32; slovo[i]:=chr(k); end; end; writeln (slovo);end десятичные коды заглавных букв английского алфавита. Код любой английской маленькой буквы на 32 больше кода соответствующей заглавной буквы
1. Решить Пример 1 из классной работы а) с использованием процедур DELETE и INSERT; б) без использования процедур и функций работы со строками. 2. Составить программу, которая определяет, является ли введенное с клавиатуры число или текст палиндромом. Определение: Числа или фразы, которые читаются одинаково слева на право и с права на лево, называются палиндромами.