Составление программ со строками

Содержание

Слайд 2

Какой тип данных в Паскале описывает текстовые данные?
Какой тип данных описывает один

Какой тип данных в Паскале описывает текстовые данные? Какой тип данных описывает
символ?
Как можно определить текущую длину строки?
Как можно обратиться к отдельному символу в строке?

Слайд 3

Как можно скопировать фрагмент одной строки в другую?
Как можно вставить букву в

Как можно скопировать фрагмент одной строки в другую? Как можно вставить букву
слово?
Как можно заменить букву в слове?
Как можно удалить фрагмент строки?
Как можно преобразовать текст в число и наоборот?

Слайд 4

Цель урока:

Научиться применять процедуры и функции обработки строк при составлении программ.

Цель урока: Научиться применять процедуры и функции обработки строк при составлении программ.

Слайд 5

Составление программ

Составление программ

Слайд 6

Пример 1.

Текст и две разных буквы bukva1 и bukva2 вводятся с клавиатуры.

Пример 1. Текст и две разных буквы bukva1 и bukva2 вводятся с
Программа должна заменить в тексте все символы, совпадающие с bukva1 на bukva2. Если символа bukva1 в тексте не обнаружиться, то должно быть выведено сообщение об этом.

Слайд 7

Program zamena2_Pos;
uses Crt;
var Slovo: string;
Bukva1, bukva2: char;
len, i, k:integer;
Begin
clrscr;
writeln ('Задайте

Program zamena2_Pos; uses Crt; var Slovo: string; Bukva1, bukva2: char; len, i,
текст');
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.

Слайд 8

Пример 2.

Составить программу, которая переставляет символы в заданном тексте задом на перед.

Пример 2. Составить программу, которая переставляет символы в заданном тексте задом на
Не использовать дополнительную строку.

Слайд 9

Program Palindrom;
var Slovo: string;
Bukva: char;
len, i:integer;
Begin
writeln ('Задайте текст или число

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.

Слайд 10

Program vstavka_simvolov;
var Slovo: string;
Bukva: char;
len, i:integer;
Begin
writeln ('Задайте слово ');
readln (slovo);
len:=length(slovo);
writeln

Program vstavka_simvolov; var Slovo: string; Bukva: char; len, i:integer; Begin writeln ('Задайте
('Задайте букву ');
readln (bukva);
for i:=1 to len do
insert (bukva,slovo,i+i);
writeln (slovo);
readln;
end.

Пример 3.

Составить программу, которая в заданном тексте после каждой буквы вставляет заданный символ.

Слайд 11

Функции преобразования CHR и ORD

Вы знаете, что каждый символ на клавиатуре

Функции преобразования CHR и ORD Вы знаете, что каждый символ на клавиатуре
имеет свой код.
Компьютер работает как раз с этими кодами.
ORD определяет код символа,
CHR преобразовывает код обратно в символ.
Var Simvol: char;
Kod: integer;
Begin
. . .
Kod:=ord(Simvol);
Simvol:=chr(Kod);
. . .

Слайд 12

Пример 4.

Составить программу, которая в заданном тексте меняет все заглавные буквы на

Пример 4. Составить программу, которая в заданном тексте меняет все заглавные буквы
прописные.
Для того, чтобы это сделать, нам нужно:
определить код символа с помощью функции ORD,
проверить его,
если он попадает в заданный интервал, пересчитать его
преобразовать код обратно в символ с помощью обратной функции CHR

Слайд 13

Program Perevod_iz_bolshih_v_malenkie;
var Slovo: string;
Bukva1, bukva2: char;
len, i, k:integer;
Begin
writeln ('Задайте текст');

Program Perevod_iz_bolshih_v_malenkie; var Slovo: string; Bukva1, bukva2: char; len, i, k:integer; Begin
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.

65-90 десятичные коды заглавных букв английского алфавита.

Код любой английской маленькой буквы на 32 больше кода соответствующей заглавной буквы

Слайд 14

Задание на урок

Решить Пример 1 из классной работы
а) с использованием процедур DELETE

Задание на урок Решить Пример 1 из классной работы а) с использованием
и INSERT;
б) без использования процедур и функций работы со строками.
2. Составить программу, которая определяет, является ли введенное с клавиатуры число или текст палиндромом.
Определение:
Числа или фразы, которые читаются одинаково слева на право и с права на лево, называются палиндромами.

А роза упала на лапу Азора