Описание: данная работа будет полезна учителям информатики при подготовке к уроку, а также учащимся 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,’ слов с тремя буквами “и” ’);
Пример 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класс ( гуманитарный профиль)
Практикум решения задач «Строковый тип
данных»
учитель : Быстрова В.Л
Слайд 3Компьютерная программа выполняет ваши приказы,
а не ваши желания.
Закон Грида
Слайд 4Тема урока:
Практикум решения задач по теме « Строковый
тип данных »
Урок практического применения знаний на компьютере
Слайд 5Цели урока:
1.Перечислить виды операций над строковыми величинами и дать им
соответствующее определение
2. Комментировать программы со строковыми величинами;
3. Применять строковые величины
при составлении программ.
Слайд 6 1. § 1.2 стр.14-17
задача № .3,4,6
Слайд 7План урока
2.Визитка «Строковый тип данных»
1. Домашнее задание.
3. Мини-тест. Проверка.
4.
Алгоритм решения задач со строковым типом данных.
6. Практикум решения задач
7.
8. Оценивание результатов
5. Историческая справка
Слайд 82. Визитка «Строковый тип данных»
10 гуманитарный
Телефон : 0-298-2-69-92
OCQ: 150
Скайп
: кабинет №15
Е –маил : лицей им.Н.Третьякова
Дополнительная информация : самый умный класс
Слайд 92. Визитка «Строковый тип данных»
1.Строковый тип данных служит для проведения
2.
Ключевое слово строкового типа данных
3. Максимальная длина строки —
4. Текущую
длину любой строковой переменной можно узнать
с помощью стандартной функции
5. Переменная типа string описывается через
6. Для строки применима процедура ввода —
7. Для строки применима процедура вывода –
8. При присваивании строке или символу какого-либо значения оно указывается в
операций с текстом, состоящим из различных символов.
Слайд 103. Мини -тест
Слайд 11Встроенные процедуры и функции для обработки строковых данных.
1. Удаление N
символов строки ААА, начиная с позиции ТТ.
Б) Delete (ААА, ТТ,
Слайд 12Встроенные процедуры и функции для обработки строковых данных.
2. Вставка строки
ВВВ в строку ТТ, начиная с позиции N.
А) Insert
Б) Insert (TT,BBB,N)
Слайд 13Встроенные процедуры и функции для обработки строковых данных.
3. Копирование подстроки
длиной N, начиная с позиции TT, из строки ССС.
Слайд 14Встроенные процедуры и функции для обработки строковых данных.
4. Выполняет сцепление
(склеивание) строк в том порядке, в каком указаны в списке
параметров.
А) Concat (A3,A2,A1)
Б) Concat (A1,A2,A3 . A(N) )
Слайд 15Встроенные процедуры и функции для обработки строковых данных.
5. Обнаруживает первое
появление
подстроки AАA в строке BBB.
А) Pos (AAA, BBB)
Б) Pos
Слайд 16Встроенные процедуры и функции для обработки строковых данных.
6. Преобразует строчную
букву в прописную
А) UpCase (Ch)
Б) UnCas (Hc)
3. Мини -тест
Слайд 17Встроенные процедуры и функции для обработки строковых данных.
7. Преобразует число
в строку.
А) Str (Number, Stroka)
Б) Str( Stroka, Number)
3. Мини -тест
Слайд 18Встроенные процедуры и функции для обработки строковых данных.
8. Преобразует строку
в число
и выдает код правильности преобразования.
А) Val (Code,Stroka,Number)
Б) Val
(Stroka, Number, Code)
Слайд 193. Проверим.
Слайд 20Встроенные процедуры и функции для обработки строковых данных.
1. Удаление N
символов строки ААА, начиная с позиции ТТ.
Б) Delete (ААА, ТТ,
Слайд 21Встроенные процедуры и функции для обработки строковых данных.
2. Вставка строки
ВВВ в строку ТТ, начиная с позиции N.
А) Insert
Б) Insert (TT,BBB,N)
Слайд 22Встроенные процедуры и функции для обработки строковых данных.
3. Копирование подстроки
длиной N, начиная с позиции TT, из строки ССС.
Слайд 23Встроенные процедуры и функции для обработки строковых данных.
4. Выполняет сцепление
(склеивание) строк в том порядке, в каком указаны в списке
параметров.
А) Concat (A3,A2,A1)
Б) Concat (A1,A2,A3 . A(N) )
Слайд 24Встроенные процедуры и функции для обработки строковых данных.
5. Обнаруживает первое
появление
подстроки AАA в строке BBB.
А) Pos (AAA, BBB)
Б) Pos
Слайд 25Встроенные процедуры и функции для обработки строковых данных.
6. Преобразует строчную
букву в прописную
А) UpCase (Ch)
Б) UnCas (Hc)
3. Мини -тест
Слайд 26Встроенные процедуры и функции для обработки строковых данных.
7. Преобразует число
в строку.
А) Str (Number, Stroka)
Б) Str( Stroka, Number)
3. Мини -тест
Слайд 27Встроенные процедуры и функции для обработки строковых данных.
8. Преобразует строку
в число
и выдает код правильности преобразования.
А) Val (Code,Stroka,Number)
Б) Val
(Stroka, Number, Code)
Слайд 281. Описываем строку.
2. Вводим строку.
3. Выполняем обработку строки.
4. Выводим строку
на экран.
4. Алгоритм поэтапного решения задач со строковым типом данных:
Слайд 29Историческая справка
справка
Слайд 30Историческая справка
справка
В 1950-х и 1960-х годах не было единого стандарта
относительно количества битов в байте. В разных компьютерных системах байт
содержал от 6 до 9 битов. Лишь с начала 1970-х годов в большинстве архитектур стали использовать байт размером 8 битов, и постепенно такое соотношение стало стандартным.
Для устранения двусмысленности в компьютерной литературе иногда для точного обозначения последовательности 8 битов вместо термина «байт» используют термин «октет».
Слайд 31Историческая справка
справка
В 1912 году, задолго до появления прообразов современных компьютеров,
испанский инженер Леонардо Торрес-и-Кеведо сконструировал электромеханический автомат «El Ajedrecista», который
считается первой в истории компьютерной игрой.
Устройство представляло собой шахматную доску с передвигаемыми машиной с помощью электромагнитов королём и ладьёй, а также королём другого цвета, которого перемещал человек. Автомат, пусть и не за минимальное количество ходов, гарантированно завершал этот шахматный эндшпиль матом оппоненту.
Что мог делать автомат 1912 года, считающийся первой в мире компьютерной игрой?
Слайд 32Историческая справка
справка
В середине 19 века она составила план операций
для прообраза современной ЭВМ — аналитической машины Чарльза Беббиджа, с
помощью которых можно было решить уравнение Бернулли, выражающее закон сохранения энергии движущейся жидкости.
Кто считается первым
в мире программистом?
Первым в мире программистом была женщина — англичанка Ада Лавлэйс
Слайд 33Король Хуан Карлос и королева София
осматривают шахматного робота
Слайд 345. Практикум решения задач.
Слайд 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. Практикум решения задач.
Слайд 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. Практикум решения задач.
Слайд 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. Практикум решения задач.
Слайд 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. Практикум решения задач.
Слайд 39рефлексия
Я узнал …
Я понял ,что …
Теперь я могу …
Я
попробую …
Мне понравилось …
У меня возникли трудности в …
Я
Лучше всего у меня на уроке …
Своей работой на уроке я …
Самое интересное на уроке …
Источник: theslide.ru