Содержание
-
Задачи на поиск и подсчет
Для 11-х классов
-
Какие функции понадобятся
Length(Str)- определение длины строки Copy(Str,n,m)– копирование символов Пусть a:=‘Информатика’, b;=‘форма’, что будет на экране? n:=length(a) m:= length(a)-length(b) c:=copy(a,1,1) x:=copy(a, 1, length(b)) n:= 11 n:= 6 c:= ‘и’ x:= ‘инфо’
-
Задача №1
Составить программу подсчета количества вхождений буквы "а" в заданном тексте Тестирование программы
-
program s41; var a:string;i,s:integer; Begin write(Исходный текст=');readln(a) ; for i:=1 to length(a) do if copy(a,i,1)='a' then s:=s+1; writeln ('a=', s); end. Исполнение
-
Задача №2
Составить программу подсчета в заданном тексте количества вхождений символов из заданного набора. Тестирование программы
-
program s42; var a, b, s, c :string;i, j, n :integer; Begin write(‘Исходный текст='); readln(a) ; write(‘Набор символов ='); readln(b) ; for j:=1 to length(b) dobegin s:= copy(b,j,1); n:=0; for i:=1 to length(a) do begin c:= copy(a,i,1); if c=s then n:=n+1; end; writeln ('s=',s,' ', n); end; End. Исполнение
-
Задача №3
Составить программу подсчета в заданном тексте количество вхождений заданного сочетания символов. X1:=length(a)X2:=length(b) m:=(X1-X2)+1 Тестирование программы
-
program s43; vara,b: string;i, n, m: integer; Begin write(‘=');readln(a) ; write(‘=');readln(b) ; m:= length(a)-length(b)+1 ; fori:=1 to m do begin writeln(copy(a, i, length(b))); if copy(a, i, length(b))=b then n:=n+1; end; writeln (‘=‘,n); end. Исполнение
-
Ответить на вопросы
1. Что является результатом каждой функции, предназначенной для выполнения операций над строками? 2. Может ли значение функции ((length(a)) быть равным 300? 3. Верно ли, что символы "А" и "а" имеют одинаковые коды? 4. Верно ли равенство (a:=copy(a,1,lendth(a))? 5. Какое слово называется пустым? 6. Найдите слово русского языка, которое больше, чем слово "ПАР", и меньше, чем слово "ПАРУС«? Числа или символы Нет, символов 256 Разные Исполнение ‘’ парк
-
1) Будет ли данная программа подсчитывать, сколько раз встречается в тексте прописная буква "А"? 2) Что нужно изменить в программе, чтобы она подсчитывала, сколько раз в предложенном тексте встречалась буква "Б«?
-
Задачи
Работа с элементами текстового редактора на удаление и вставку на поиск и замену
-
Введение
Лев Николаевич Толстой роман переписывал девять раз, и эта напряженная работа заняла у него шесть лет жизни. Интересно, насколько бы упростился труд великого писателя, имей он на рабочем столе компьютер? Или, может быть, наоборот, под воздействием компьютерного дурмана он никогда бы не смог завершить свое грандиозное творение? Так или иначе, но тем, кому доводилось работать с хорошим текстовым редактором, уже не может двигать рукой, вырисовывая буквы. Работа с текстом на компьютере подкупает также легкостьювнесенияисправлений и перестановки фрагментов текста. Чтобы лучше понять, как создаются текстовые редакторы, воспроизведем одну из типовых операций по обработке текстов.
-
Какие функции понадобятся
Delete (Str, n,m), - Удаление символов с nчисло m Insert(Str1,Str2,n) – Вставка стр1 в стр2 с nсимвола Pos(str1,str2)– в строке str2ищет № вхождения str1 Пусть a:=‘Информатика’, b;=‘форма’, что будет на экране? c:=delete(a,1,10) x:=insert(b, a, 11)) c:= ‘a’ x:= ‘информатикаформа’
-
Задача №1
Составить программу устранения лишних пробелов в тексте. Лишним будем считать каждый пробел, следующий непосредственно за пробелом. Исполнение
-
Математическая модель
-
program s44; var a:string;i:integer; Begin write(‘Исходный текст=');readln(a) ; i:=1; repeat if copy(a,i,2)=' ' then a:=copy(a,1,i)+copy(a,i+2,length(a)) elsei:=i+1; until (i>length(a)); writeln ('a=',a); end.
-
Задача №2
По общим правилам оформления машинописных работ и служебных документов после знаков препинания (,.:;!?) пробел обязателен. Составить программу, добавляющую недостающие пробелы. Исполнение
-
program s45; vara,b:string;i:integer; Begin write(‘Исходный текст=');readln(a) ; i:=1; repeat b:=copy(a,i,1); if ((b='.') or (b=',')or (b='!') or (b='?') )and (copy(a,i+1,1)' ') thena:=copy(a,1,i)+' '+copy(a,i+1,length(a)-i); i:=i+1; untili>=length(a); writeln ('a=',a); readln; end.
-
Задача №3 (дополнительно)
Убрать из данного текста уже встречающиеся символы. (Произвести "выжимку" текста) Исполнение
-
program s46; vara,b,c:string;i,l:integer; Begin write(‘Исходный текст=');readln(a) ; b:=''; for i:=1 to length(a) do begin c:=copy(a,i,1); if pos(c,b)=0 then b:=b+c; end; writeln ('b=',b); readln; end.
-
Пример 4
Выясните, сколько раз в заданном слове встречается каждый символ. (Один и тот же символ дважды не использовать) Исполнение
-
programs47; vara,b,c:string;i,l,j:integer; Begin write(‘Исходный текст, a=');readln(a) ; b:=''; for i:=1 to length(a) do begin c:=copy(a,i,1); if pos(c,b)=0 then b:=b+c; end; writeln ('b=',b); for i:=1 to length(b) do begin L:=0; for j:=1 to length(a) do begin if copy(b,i,1)=copy(a,j,1) then l:=l+1; end; writeln(copy(b,i,1),'-',l); end; readln; end.
-
Задача №5
Составить программу, заменяющую в заданном тексте одну подстроку на другую. Исполнение
-
program s48; vara,b,c:string;i:integer; Begin write(‘Исходный текст a=');readln(a) ; write(‘Заменяемый b='); readln(b) ; write(‘Заменяющий c='); readln(c) ; i:=1; repeat if copy(a,i,length(b)) = b then a:=copy(a,1,i-1)+ c+ copy(a,i+length(b),length(a)); i:=i+1; until i>length(a)- length(b)+1; writeln ('a=',a); readln; end.
-
Фрагменты программ для решения часто встречающихся задач
-
1. Удаление пробелов (или любых других символов) из символьной строки. IF COPY(S,I,1)=’ ‘ THEN S:=COPY(S,1,I-1)+COPY(S,I+1,N-I) 2. Подсчет количества вхождений символа "А" (или любого другого символа) в строку. IF COPY(S,I,1)=’A’ THEN K:=K+1;
-
3. Выделение слова в тексте (т.е. групп символов, за которыми следуют пробелы) и занесение их в дополнительный массив a:=a+’’; i1=1;k:=0; repeat i:=i+1; ifcopy(a,i,1)=’ ‘ then begin k:=k+1; b[k]:=copy (a,i1,i-i1); i1:=i+1; end; untili>length(a);
-
Предыдущую программу можно использовать в разных случаях. Рассмотрим некоторые из них.
Пример 1. Реализовать на компьютере возможность автоматического исправления слова на ). Решение Программой S48, введя в качестве заменяемого текста слово «граматика», а в качестве заменяющего – «грамматика». Пример 2. Реализовать на компьютере операцию «вычитание» символьных величин (из введенного текста удаляются все вхождения некоторой строки). Решение В программе S48 надо ввести в качестве заменяющего текста пустую строку.
-
Пример 3. Реализовать на компьютере замену сокращения «С. п.» на словосочетание «Составить программу». Решение В программе S48 надо ввести в качестве заменяемого текста «С. п.», заменяющего текста «Составить программу». Пример 4. Изменить в романе имя героя с Пьера на Виктора. Решение В программу Примера 48 надо ввести в качестве заменяемого текста слово «Пьер», заменяющего текста – «Виктор», а в качестве исходного – текст романа.
Нет комментариев для данной презентации
Помогите другим пользователям — будьте первым, кто поделится своим мнением об этой презентации.