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

Содержание

Описание: данная работа будет полезна учителям информатики при подготовке к уроку, а также учащимся 9-11 класса при повторении строк в Паскале.

Читайте также:
Программа набора мышечной массы для новичков мужчин

Конспект урока «Строковый тип данных. Решение задач»

Цель:
показать основные приемы работы с символами и строками;
воспитать мотивы учения, положительного отношения к получению знаний, умений и навыков
развить логическое и алгоритмическое мышление у учащихся;
развить умение и навыки составления и отладки программ на языке Паскаль;

Ход урока.
Что такое символ?
Символ — это буква, цифра или какой-либо знак.

Что такое строка?
Строка – упорядоченная последовательность символов, заключенная в апострофы.

Вспомним, что К строке можно обратиться посимвольно.
i-й символ строки s записывается как s.
Например, если s = ‘Мир’,
то s[1] = это ‘М’,
s[2] = это ‘и’,
s[3] = это ‘р’
Над строковыми данными определена операция слияния, обозначаемая знаком +.

Обработка строк | Информатика Паскаль #19 | Инфоурок


Например:
a := ‘Pascal’;
b := ‘ABC’ ;
c := a + b;
В этом примере переменная c приобретет значение ‘PascalABC’.

Что определят length(s)?

Текущую длину строки s

Какие еще функции и процедуры мы используем при работе со строковым типом данным в Паскале?

copy(s,p,k);
возвращает подстроку, выделенную из строки s, длиной k символов, начиная с символа под номером p.

pos(s1,s);
возвращает номер первой позиции подстроки s1 в исходной строке s. Если подстроки нет, то выдает 0.

insert(s1,s,p);
вставляет строку s1 в строку s, начиная с символа под номером p строки s.

delete(s,p,k);
удаляет из строки s подстроку длиной k символов, начиная с символа под номером p.

Перейдем к решению задач.

Решения задач:
Задача №1: Определить длину строки «Урок информатики».
Ответ: 16

Program a1;
var
s:string;
l:integer;
begin
writeln(‘Введите строку: ‘);
read(s);
l:=length(s);
writeln(l);
end.

Задача №2: Преобразовать число 105 в строку, а «67» в число 67.

Program a2;
var
s:string;
x:integer;
begin
str(105,s);
writeln(s);
val(’67’,x);
writeln(x);
end.

Задача №3: Какова позиция буквы «о» в слове «Слон».
Ответ: t = 3

program a3;
var
s:string; t:integer;
begin
t:=pos(‘о’, ‘Слон’);
writeln(t);
end.

Источник: ped-kopilka.ru

Примеры решения задач по обработке символьных данных

Пример 2.11. Ввести строку и подсчитать количество слов в ней. Слова разделяются пробелами.

Обозначим: St – исходная строка; L – длина исходной строки; K – количество слов в строке.

Для подсчета количества слов необходимо организовать цикл. Так как после слова может стоять не один пробел, а несколько, то для определения слова используется условие (St[I]<>’ ‘) AND (St[I+1]=’ ‘).

Программирование на языке Pascal. Урок 9. Строки.

Для того чтобы при подсчете количества слов учесть последнее слово, в конец введенной строки добавляется пробел: St:=St + ‘ ‘ .

If (St[I]<>’ ‘) AND (St[I+1]=’ ‘) Then K:=K+1;

Writeln(‘Количество слов = ‘, K);

Пример 2.12. Ввести текст длиной до 255 символов в виде строки. Если в строке четное число символов, удалить из нее все последующие вхождения первого символа, в противном случае — удалить символ, расположенный в се­редине строки. Напечатать новый текст.

Обозначим: St — исходная строка; St1- первый символ строки St; L – длина исходной строки St.

Ход выполнения алгоритма зависит от длины строки.

В первом случае необходимо организовать цикл с условием, так как после удаления символов длина строки будет меняться. В этом цикле все символы строки сравниваются с первым символом строки (St[I] = St1) и при равенстве удаляются из строки St, причем в случае удаления символа параметр цикла I не меняется, так как символы, соответствующей первому, могут следовать подряд друг за другом.

Во втором случае необходимо из строки St удалить символ с номером (L div 2) +1.

If St[I]=St1 Then Delete(St,I,1)

Delete(St,(L Div 2)+1,1);

Пример 2.13. Ввести текст длиной до 255 символов. В тексте все знаки плюс, непосредственно за которыми следует цифра, заменить пробелом. Напеча­тать новый текст.

Необходимо организовать цикл просмотра всех пар сосед­них символов. Если в очередной паре символ St[I] = ‘+’, а второй символ — цифра (т.е.’0’<=St[I+1]<=’9’), то из строки St удаляется I-й символ и вставляется символ «пробел».

For I:=1 To Length(St) Do

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

For I:=1 To Length(St) Do

If (St[I]=’+’)And(St[I+1] In M) Then

Пример 2.14. Ввести предложение длиной до 255 символов в виде строки, а затем вывести на экран сообщение о том, сколько слов в этом предложении содержат ровно три буквы «и». В качестве разделителя слов в предложении используются символы пробела.

Возможный вариант программы.

I, K3i, Ki : Integer;

For I:=1 To Length(St) Do

If St[I] = ‘и’ Then Ki:=Ki+1;

If K3i = 0 Then Writeln(‘Слов с тремя “и” нет ‘)

Else Writeln(‘В строке содержится ‘,K3i,’ слов с тремя буквами “и” ’);

Читайте также:
Лучшие программы для Youtube

Пример 2.15. Ввести текст длиной до 254 символов в виде строки, а затем вывести его на экран, удалив из него лишние пробелы, т.е. из не­скольких подряд идущих пробелов оставить только один. Выдать сообщение о количестве удаленных пробелов.

Возможный вариант программы.

If (St[I] = ‘ ‘) And (St[I+1] = ‘ ‘) Then Delete(St,I,1)

Writeln(‘Количество удаленных пробелов =’,L-Length(St));

Пример 2.16. Во введенном тексте заменить заданную подстроку симво­лов на другую заданную подстроку (длины двух заданных подстрок могут не совпадать). Подсчитать количество произведенных замен.

Обозначения: St – заданная строка; NSt – новая строка; St1 – удаляемая подстрока, St2 – вставляемая подстрока; L1 – длина удаляемой подстроки; N – номер позиции, с которой начинается удаляемая подстрока St1 в строке St; К – количество замен.

Необходимо организовать цикл, в котором формировалась бы новая строка и подсчитывалось количество произведенных вставок. Так как заранее неизвестно количество вставок, этот цикл должен быть итерационным (например цикл с предусловием While). В качестве условия окончания цикла предлагается использовать значение функции Pos, которое равно нулю, если подстроки St1 нет в строке St.

Цикл WHILE требует подготовки, т. е. номер позиции первого вхождения (N:=Pos(St1,St)) подстроки St1 в строку St должен быть введен до цикла. Номера позиций следующих вхождений определяются в цикле.

На каждом шаге цикла к строке NSt добавляется подстрока, состоящая из первых (N-1) символов строки St и символов вставляемой подстроки St2, и из строки St удаляются все символы, предшествующие подстроке St1, вместе с символами этой подстроки. Здесь N – номер позиции, с которой начинается подстрока St1 в строке St.

Возможный вариант программы.

St, St1, St2, NSt : String;

Writeln(‘Введите удаляемую строку’);

Writeln(‘Введите вставляемую строку’);

Источник: studfile.net

Презентация на тему Строковый тип данный — практикум решения задач в Паскале

Слайд 2Комратский лицей им.Н.Третьякова
урок
01.11.2016
Информатика
10класс ( гуманитарный профиль)
Практикум решения задач «Строковый тип

данных»
учитель : Быстрова В.Л

Комратский лицей им.Н.Третьяковаурок01.11.2016Информатика10класс ( гуманитарный профиль)Практикум решения задач

Слайд 3Компьютерная программа выполняет ваши приказы,
а не ваши желания.
Закон Грида

Компьютерная программа выполняет ваши приказы, а не ваши желания.Закон Грида

Слайд 4Тема урока:
Практикум решения задач по теме « Строковый

тип данных »
Урок практического применения знаний на компьютере

Тема урока:Практикум решения задач по теме « Строковый тип данных » Урок практического

Слайд 5Цели урока:
1.Перечислить виды операций над строковыми величинами и дать им

соответствующее определение
2. Комментировать программы со строковыми величинами;
3. Применять строковые величины

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

Цели урока:1.Перечислить виды операций над строковыми величинами и дать им соответствующее определение2. Комментировать программы

Слайд 6 1. § 1.2 стр.14-17

задача № .3,4,6

1. § 1.2 стр.14-17 задача № .3,4,6

Слайд 7План урока
2.Визитка «Строковый тип данных»
1. Домашнее задание.
3. Мини-тест. Проверка.
4.

Алгоритм решения задач со строковым типом данных.
6. Практикум решения задач
7.

8. Оценивание результатов

5. Историческая справка

План урока 2.Визитка «Строковый тип данных»1. Домашнее задание.3. Мини-тест. Проверка.4. Алгоритм решения задач со строковым типом данных.6.

Слайд 82. Визитка «Строковый тип данных»

10 гуманитарный
Телефон : 0-298-2-69-92
OCQ: 150
Скайп

: кабинет №15
Е –маил : лицей им.Н.Третьякова
Дополнительная информация : самый умный класс

2. Визитка «Строковый тип данных»Имя : 10 гуманитарный Телефон : 0-298-2-69-92OCQ:

Слайд 92. Визитка «Строковый тип данных»
1.Строковый тип данных служит для проведения
2.

Ключевое слово строкового типа данных
3. Максимальная длина строки —
4. Текущую

длину любой строковой переменной можно узнать
с помощью стандартной функции

5. Переменная типа string описывается через

6. Для строки применима процедура ввода —

7. Для строки применима процедура вывода –

8. При присваивании строке или символу какого-либо значения оно указывается в

операций с текстом, состоящим из различных символов.

2. Визитка «Строковый тип данных»1.Строковый тип данных служит для проведения2. Ключевое слово строкового типа данных3. Максимальная длина

Слайд 103. Мини -тест

3. Мини -тест

Слайд 11Встроенные процедуры и функции для обработки строковых данных.
1. Удаление N

символов строки ААА, начиная с позиции ТТ.
Б) Delete (ААА, ТТ,

Встроенные процедуры и функции для обработки строковых данных.1. Удаление N символов строки ААА, начиная с позиции ТТ.

Слайд 12Встроенные процедуры и функции для обработки строковых данных.
2. Вставка строки

ВВВ в строку ТТ, начиная с позиции N.
А) Insert

Б) Insert (TT,BBB,N)

Встроенные процедуры и функции для обработки строковых данных.2. Вставка строки ВВВ в строку ТТ, начиная с

Слайд 13Встроенные процедуры и функции для обработки строковых данных.
3. Копирование подстроки

длиной N, начиная с позиции TT, из строки ССС.

Встроенные процедуры и функции для обработки строковых данных.3. Копирование подстроки длиной N, начиная с позиции TT, из

Слайд 14Встроенные процедуры и функции для обработки строковых данных.
4. Выполняет сцепление

(склеивание) строк в том порядке, в каком указаны в списке

параметров.

А) Concat (A3,A2,A1)

Б) Concat (A1,A2,A3 . A(N) )

Встроенные процедуры и функции для обработки строковых данных.4. Выполняет сцепление (склеивание) строк в том порядке, в каком

Слайд 15Встроенные процедуры и функции для обработки строковых данных.
5. Обнаруживает первое

появление
подстроки AАA в строке BBB.
А) Pos (AAA, BBB)
Б) Pos

Встроенные процедуры и функции для обработки строковых данных.5. Обнаруживает первое появление подстроки AАA в строке BBB. А)

Слайд 16Встроенные процедуры и функции для обработки строковых данных.
6. Преобразует строчную

букву в прописную
А) UpCase (Ch)
Б) UnCas (Hc)
3. Мини -тест

Встроенные процедуры и функции для обработки строковых данных.6. Преобразует строчную букву в прописнуюА) UpCase (Ch) Б) UnCas (Hc)3.

Слайд 17Встроенные процедуры и функции для обработки строковых данных.
7. Преобразует число

в строку.
А) Str (Number, Stroka)
Б) Str( Stroka, Number)
3. Мини -тест

Встроенные процедуры и функции для обработки строковых данных.7. Преобразует число в строку.А) Str (Number, Stroka) Б) Str( Stroka,

Слайд 18Встроенные процедуры и функции для обработки строковых данных.
8. Преобразует строку

в число
и выдает код правильности преобразования.
А) Val (Code,Stroka,Number)
Б) Val

(Stroka, Number, Code)

Читайте также:
Как удалить portable программу

Встроенные процедуры и функции для обработки строковых данных.8. Преобразует строку в число и выдает код правильности преобразования.А)

Слайд 193. Проверим.

3. Проверим.

Слайд 20Встроенные процедуры и функции для обработки строковых данных.
1. Удаление N

символов строки ААА, начиная с позиции ТТ.
Б) Delete (ААА, ТТ,

Встроенные процедуры и функции для обработки строковых данных.1. Удаление N символов строки ААА, начиная с позиции ТТ.

Слайд 21Встроенные процедуры и функции для обработки строковых данных.
2. Вставка строки

ВВВ в строку ТТ, начиная с позиции N.
А) Insert

Б) Insert (TT,BBB,N)

Встроенные процедуры и функции для обработки строковых данных.2. Вставка строки ВВВ в строку ТТ, начиная с

Слайд 22Встроенные процедуры и функции для обработки строковых данных.
3. Копирование подстроки

длиной N, начиная с позиции TT, из строки ССС.

Встроенные процедуры и функции для обработки строковых данных.3. Копирование подстроки длиной N, начиная с позиции TT, из

Слайд 23Встроенные процедуры и функции для обработки строковых данных.
4. Выполняет сцепление

(склеивание) строк в том порядке, в каком указаны в списке

параметров.

А) Concat (A3,A2,A1)

Б) Concat (A1,A2,A3 . A(N) )

Встроенные процедуры и функции для обработки строковых данных.4. Выполняет сцепление (склеивание) строк в том порядке, в каком

Слайд 24Встроенные процедуры и функции для обработки строковых данных.
5. Обнаруживает первое

появление
подстроки AАA в строке BBB.
А) Pos (AAA, BBB)
Б) Pos

Встроенные процедуры и функции для обработки строковых данных.5. Обнаруживает первое появление подстроки AАA в строке BBB. А)

Слайд 25Встроенные процедуры и функции для обработки строковых данных.
6. Преобразует строчную

букву в прописную
А) UpCase (Ch)
Б) UnCas (Hc)
3. Мини -тест

Встроенные процедуры и функции для обработки строковых данных.6. Преобразует строчную букву в прописнуюА) UpCase (Ch) Б) UnCas (Hc)3.

Слайд 26Встроенные процедуры и функции для обработки строковых данных.
7. Преобразует число

в строку.
А) Str (Number, Stroka)
Б) Str( Stroka, Number)
3. Мини -тест

Встроенные процедуры и функции для обработки строковых данных.7. Преобразует число в строку.А) Str (Number, Stroka) Б) Str( Stroka,

Слайд 27Встроенные процедуры и функции для обработки строковых данных.
8. Преобразует строку

в число
и выдает код правильности преобразования.
А) Val (Code,Stroka,Number)
Б) Val

(Stroka, Number, Code)

Встроенные процедуры и функции для обработки строковых данных.8. Преобразует строку в число и выдает код правильности преобразования.А)

Слайд 281. Описываем строку.
2. Вводим строку.

3. Выполняем обработку строки.
4. Выводим строку

на экран.
4. Алгоритм поэтапного решения задач со строковым типом данных:

1. Описываем строку.2. Вводим строку.3. Выполняем обработку строки.4. Выводим строку на экран.4. Алгоритм поэтапного решения задач

Слайд 29Историческая справка
справка

Историческая справкасправка

Слайд 30Историческая справка
справка
В 1950-х и 1960-х годах не было единого стандарта

относительно количества битов в байте. В разных компьютерных системах байт

содержал от 6 до 9 битов. Лишь с начала 1970-х годов в большинстве архитектур стали использовать байт размером 8 битов, и постепенно такое соотношение стало стандартным.

Для устранения двусмысленности в компьютерной литературе иногда для точного обозначения последовательности 8 битов вместо термина «байт» используют термин «октет».

Историческая справкасправкаВ 1950-х и 1960-х годах не было единого стандарта относительно количества битов в байте. В разных

Слайд 31Историческая справка
справка
В 1912 году, задолго до появления прообразов современных компьютеров,

испанский инженер Леонардо Торрес-и-Кеведо сконструировал электромеханический автомат «El Ajedrecista», который

считается первой в истории компьютерной игрой.

Устройство представляло собой шахматную доску с передвигаемыми машиной с помощью электромагнитов королём и ладьёй, а также королём другого цвета, которого перемещал человек. Автомат, пусть и не за минимальное количество ходов, гарантированно завершал этот шахматный эндшпиль матом оппоненту.

Что мог делать автомат 1912 года, считающийся первой в мире компьютерной игрой?

Историческая справкасправкаВ 1912 году, задолго до появления прообразов современных компьютеров, испанский инженер Леонардо Торрес-и-Кеведо сконструировал электромеханический автомат

Слайд 32Историческая справка
справка
В середине 19 века она составила план операций

для прообраза современной ЭВМ — аналитической машины Чарльза Беббиджа, с

помощью которых можно было решить уравнение Бернулли, выражающее закон сохранения энергии движущейся жидкости.

Кто считается первым
в мире программистом?

Первым в мире программистом была женщина — англичанка Ада Лавлэйс

Историческая справкасправка В середине 19 века она составила план операций для прообраза современной ЭВМ — аналитической машины

Слайд 33Король Хуан Карлос и королева София
осматривают шахматного робота

Король Хуан Карлос и королева София осматривают шахматного робота

Слайд 345. Практикум решения задач.

5. Практикум решения задач.

Слайд 35
Написать программу, которая из слова «самолет» получит «лето» (copy).
PROGRAM DELO;

VAR A,B,C,D : STRING;
BEGIN
WRITELN;WRITELN;

A:=’CAMOLET’;
B:=COPY(A,5,3);
C:=COPY(A,4,1);
D:=B+C;
WRITELN(‘ POLUCHILI ‘,D)
END.

PROGRAM DELO;
VAR A,B,C,D: STRING;
BEGIN
WRITELN;WRITELN;
A:=’CAMOLET’;
B:= ;
C:= ;
D:=B+C;
WRITELN(‘ POLUCHILI ‘,D)
END.

5. Практикум решения задач.

Написать программу, которая из слова «самолет» получит «лето» (copy).PROGRAM DELO; VAR A,B,C,D : STRING;BEGIN

Слайд 36
Написать программу, которая из слова «республика» получит «блик» (delete).
PROGRAM DELO;

VAR A:STRING;
BEGIN
WRITELN;WRITELN;

A:=’PECPUBLIKA’;
;
;
WRITELN(‘ CLOBO ‘, A)
END.

PROGRAM DELO;
VAR A:STRING;
BEGIN
WRITELN;WRITELN;
A:=’PECPUBLIKA’;
DELETE(A,10,1);
DELETE(A,1,5);
WRITELN(‘ CLOBO ‘,A)
END.

5. Практикум решения задач.

Написать программу, которая из слова «республика» получит «блик» (delete).PROGRAM DELO; VAR A:STRING;BEGIN

Слайд 37
Написать программу, которая из слова «ресан» получит «ресторан» (insert).
PROGRAM

DELO;
VAR A,B:STRING;
BEGIN
WRITELN;WRITELN;

A:=‘RESAN’;
B:=’TOP’;
;
WRITELN(‘ CLOBO ‘,A)
END.

PROGRAM DELO;
VAR A,B:STRING;
BEGIN
WRITELN;WRITELN;
A:=’RESAN’;
B:=’TOP’;
INSERT(B,A,4);
WRITELN(‘ CLOBO ‘,A)
END.

5. Практикум решения задач.

Написать программу, которая из слова «ресан» получит «ресторан» (insert).PROGRAM DELO; VAR A,B:STRING;BEGIN

Слайд 38PROGRAM DELO;
VAR A,B,C,D,E:STRING;

X:INTEGER;
BEGIN
WRITELN;WRITELN;

A:=’PROTOKOL’;
D:=COPY(A,4,3);
B:=’PECPUBLIKA’;
DELETE(B,1,3);
C:=’KDIL’;
E:=’POKO’;
INSERT(E,C,2);
X:=LENGTH(C);
WRITELN(‘ POLUCHILI ‘,D);
WRITELN(‘ POLUCHILI ‘,B);
WRITELN(‘ POLUCHILI ‘,C);
WRITELN(‘ KOL-BO BUKB C CLOBE ‘,C,’= ‘,X)
END.

Дана программа. Точно и однозначно сформулировать условие задачи и что получится при запуске программы на экране.

5. Практикум решения задач.

PROGRAM DELO; VAR A,B,C,D,E:STRING; X:INTEGER;BEGIN

Слайд 39рефлексия
Я узнал …
Я понял ,что …
Теперь я могу …
Я

попробую …
Мне понравилось …
У меня возникли трудности в …
Я

Лучше всего у меня на уроке …

Своей работой на уроке я …

Самое интересное на уроке …

Источник: theslide.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru