Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
Примеры программ обработки текстов.
Пример 1. Дана строка, содержащая не более 40 символов. Подсчитать сколько раз в этой строке встречается буква «д».
Program stroka_1;
uses crt;
var s: string[40];
i, k: integer;
Begin
clrscr;
write(‘Введите строку не более 40 символов’); readln(s);
k:=0;
for i:=1 to length(s) do
if (s[i]=’Д’) or (s[i]=’д’) then k:=k+1;
writeln(‘Буква «д» встречается в тексте ’,k,‘ раз(а)’);
End.
Пример 2: Определить количество слов в тексте и вывести их на экран.
Будем считать, что слова отделяются друг от друга пробелом, и в тексте нет знаков препинания. Последовательно выделим из него по одному символу и сравним с пробелом. Пока не пробел, используя операцию конкатенации, получаем слово. В переменной b будет подсчитываться количество слов, в переменной s1 будем получать очередное слово.
Program stroka_2;
uses crt;
var s, s1: string[100];
b, i: integer;
Begin
clrscr;
write(‘Введите строку не более 100 символов’); readln(s);
b:=1; s1:=‘’;
writeln(‘Дан текст: “’,s,’”’);
writeln(‘В тексте используются следующие слова:’);
for i:=1 to length(s) do
if s[i]<> ‘ ’ then s1:=s1+s[i]
else
begin
b:=b+1;
writeln(s1);
s1:=‘’;
end;
writeln(‘Количество слов в тексте равно ‘,b);
End.
Пример 3. Дан текст. Определить сколько раз в тексте встречается каждая русская буква.
Последовательно выделять из текста по одному символу. Используя таблицу кодов, сравнивать коды русских букв с кодом вырезанного символа – коды русских букв от 128 до 239. При совпадении кодов увеличивать количество на 1.
Program stroka_3;
uses crt;
var s: string[50];
k, i,j: integer;
Begin
clrscr;
write(‘Введите строку не более 50 символов’); readln(s);
writeln(‘Дан текст: “’,s,’”’);
for j:=128 to 239 do
begin
k:=0;
for i:=1 to length(s) do if j = ord(s[i]) then k:=k+1;
if k<>0 then writeln(‘Буква “’,chr(j),’” встречается в тексте’,k,‘раз(а)’);
end;
End.
Пример 4: Подсчитать количество слогов в слове.
Количество слогов в слове совпадает с количеством гласных букв, задача сводится к подсчету количества гласных букв.
Program stroka_4;
uses crt;
var s, gl: string[30];
k, i: integer;
Begin
clrscr;
write(‘введите слово’); readln(s);
gl:=’аеиоуыэюяАЕИОУЫЭЮЯ’;
k:=0;
writeln(‘дано слово: “’,s,’”’);
for i:=1 to length(s) do
if pos(s[i],gl)<>0 then k:=k+1;
writeln(‘в слове’,k,’слога(ов)’);
End.
Пример 5. Удалить из текста все точки.
Program stroka_5;
uses crt;
var s: string[30];
i, f: integer;
Begin
clrscr;
write(‘Введите текст’); readln(s);
writeln(‘Дан текст: “’,s,’”’);f:=1;
while f=1 do
begin
f:=0;
for i:=1 to length(s) do
if s[i]=‘.’ then
begin
delete(s, i,1);
f:=1;
end;
end;
writeln(‘После удаления точек получен текст: “’,s,’”’);
End.
Пример 6: Вычислить сумму цифр произвольного многозначного натурального числа.
В случае многозначного числа целесообразно рассматривать заданное с клавиатуры число как символьную константу, вырезать из него по одному символу, переводить его в число и суммировать.
Program stroka_6;
uses crt;
var ns: string[30];
i, n,s, x,code: integer;
Begin
clrscr;
write(‘Введите натуральное число’); readln(n);
s:=0;
str(n, ns);
for i:=1 to length(ns) do
begin
val(ns[i],x, code);
s:=s+x;
end;
writeln(‘Сумма цифр числа’,n,’равна’,s);
End.
Вопросы
Перечислите способы представления текстовой информации. Что такое символьная константа? Как задаются символьные переменные? Какую максимальную длину может иметь строка? Какие основные группы символьных функций и процедур Вы знаете? Чем отличаются символьные функции от процедур? Как определить коды всех символов в заданном слове? Как определить позицию заданного символа в символьной переменной? Как скопировать часть строки? Как вставить в заданную позицию текста слово? Как удалить из заданной позиции текста слово? С помощью каких функций можно выделить все цифры заданного числа? Что такое конкатенация? Приведите примеры. Измените пример 6 так, чтобы цифры исходного числа были переставлены от конца в начало (т. е. в обратном порядке). Измените пример 2 так, чтобы учитывались знаки препинания. Измените пример 3 так, чтобы определялись заглавные латинские буквы. Измените пример 4 так, чтобы определялись цифры. В чем сходство обработки массивов и текстов?Задания
1. Что будет выведено на экран в результате выполнения фрагмента программы:
а) x:=’Программа’; l:=length(x)–3; write(l);
б) m:=’Перевозчик’; n:=copy(m,5,3); k:=copy(m,3,3); write(n, k);
в) a:=’Прома’; b:=’грам’; insert(b, a,4); write(a);
г) m:=’Информатика’; n:=’Позиция’; k:=copy(m,1,7)+copy(n,5,3); write(k);
д) x:=’программирование’; delete(x,1,3); delete(x,6,8); write(x);
е) m:=’колокольчик’; n:=pos(‘оло’,m) + pos(‘чик’,m); write(n);
ж) a:=25; str(a, a1); str(a+5,a2); b:=a1+a2+’рублей’; write(b);
з) val(‘345’,x, code1); val(‘0.555000E+03’,y, code2); z:=x+y; write(z);
2. Используя функции обработки символьных величин, выполните действия:
а) из слова «НУМЕРАЦИЯ» получите слова «МЕРА», «РАЦИЯ», «РАНЕЦ»;
б) из слов «ТРОН», «СОСТАВ», «МАК» получите слово «СТРОКА»;
в) из слова «КОЛОКОЛЬЧИК» получите слово «КОКО»;
г) из слова «ГРАФОПОСТРОИТЕЛЬ» получите слова «ФОТОГРАФ», «ПОРОГ», «ТОПОР»;
д) из числа 94 получите строку «949 рублей»;
е) из слов «РИТОРИКА», «РОГА», «ЛОМ» получите слово «АЛГОРИТМ»;
3. Составьте программы для следующих задач:
1) подсчитать сколько раз в данном тексте встречается данная буква;
2) дано предложение. Заменить в нем все буквы «а» на букву «о»;
3) определить является ли введенное слово палиндромом (читается одинаково справа налево и слева направо: «казак», «шалаш»);
4) выделить из введенного слова буквы;
5) удалить из введенного текста все пробелы;
6) в тексте определить наибольшее количество идущих подряд цифр;
7) заменить во введенной формуле все круглые скобки на квадратные;
8) дан текст, в котором между словами может быть от 1 до 4 пробелов. Удалить лишние пробелы;
9) распечатать все согласные буквы введенного слова в столбик;
10) заменить в тексте одно слово на другое;
11) определить сколько раз в тексте встречается данной слово. Учесть тот факт, что первая буква слова может быть заглавной и прописной;
12) составить из исходного текста шифровку, заменив все гласные буквы их кодами в таблице ASCII;
13) дан математический пример вида «C1 + C2 + C3 + … + Cn », где С – различные цифры. Вычислить сумму;
14) определить сколько в тексте слов состоят из К букв (К – произвольное натуральное число);
15) переставить все слова в исходном тексте так, чтобы первое слово стало последним, второе – предпоследним и т. д.
§11. Обработка графической информации
Система программирования Turbo Pascal позволяет использовать графические функции компьютера для построения изображений.
Графический режим работы монитора
Современные мониторы могут работать как в текстовом, так и в графическом режиме. С целью поддержки различных графических режимов для разных графических карт в комплект поставки Turbo Pascal входят специальные драйверы, называемые BGI-драйверами. В запоминающее устройство адаптера монитора записываются коды цвета каждой точки экрана. В современных адаптерах при формировании сигнала, выдаваемого на дисплей, используется устройство, в котором хранится так называемая палитра, задающая воспроизводимые цвета для каждого из кодов цвета. В графическом режиме текущее положение «точки» не воспроизводится на экране, но оно существует и может быть использовано при работе с дисплеем.
Графические режимы могут отличаться друг от друга по двум параметрам – разрешению и цветности.
· Разрешение – это количество точек, помещающихся на экране по горизонтали и вертикали.
· Цветность – максимальное количество разных цветов, которые могут присутствовать на экране одновременно.
Мы будем использовать в наших программах самый простой (по подключению) графический режим – с разрешением 640x480 и цветностью 16.
Инициализация графического режима
Процедуры и функции, предназначенные для работы с графическими режимами, собраны в стандартном модуле Graph. Для использования данного модуля его надо подключить в разделе подключения модулей Uses:
Uses Graph;
Чтобы графические объекты могли выводиться на экран, нужно перевести его в графический режим – инициализировать, запустив соответствующий драйвер. Для использования режима 640x480x16 предназначен стандартный драйвер EGAVGA. BGI, находящийся в подкаталоге BGI-каталога, в который установлен Turbo Pascal.
Инициализация графического режима производится вызовом процедуры InitGraph, имеющей следующий вид:
InitGraph (номер драйвера, номер режима, путь к файлу драйвера);
· Номер драйвера – целая переменная, имеющая своим значением номер драйвера в таблице драйверов. Если значение равно 0, то драйвер будет определен автоматически. Для современных графических карт это будет EGAVGA. BGI. Для автоматического определения драйвера в модуле Graph описана целая константа с именем Detect, содержащая 0. Ее используют для занесения в переменную – номер драйвера.
· Номер режима – целая переменная, содержащая допустимый номер графического режима для данного графического драйвера. Для режима 640х480х16 это 0.
· Путь к драйверу – переменная или константа строкового типа. Это любой допустимый в MS-DOS путь. Если графический драйвер находится в каталоге вместе с разрабатываемой программой, то в качестве параметра должна быть указана пустая строка: ‘ ’. Файл с драйвером разумно прилагать к программному продукту, чтобы можно было запускать программу и на компьютере, где не установлен Turbo Pascal.
Для закрытия графического режима и восстановления предыдущего текстового служит процедура
CloseGraph.
Эту процедуру следует вызывать в конце программы.
Итак, программа инициализации и закрытия графического режима выглядит следующим образом:
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |


