Решение задач на обработку строкового типа данных

Разделы: Информатика


Тема урока: «Решение задач на обработку строкового типа данных».

Цель и задачи урока:

  • Образовательные:
    • продолжить изучать понятие «строковых величин»;
    • добиться усвоения решения задач на обработку строкового типа данных;
  • Воспитательные:
    • воспитание внимательности, активности на уроке;
    • дисциплинированности, ответственности;
  • Развивающие:
    • развитие навыка решения задач на обработку строкового типа данных;
    • развитие познавательных интересов, навыков работы на компьютере, самоконтроля.

Тип урока: урок закрепления знаний.

Вид урока: урок-практикум.

Методы: практический, словесный, объяснительно-иллюстративный.

Оборудование: доска, компьютер, программа «Turbo Pascal», отдельные листы для самостоятельной работы.

План урока:

  1. Организационный момент.
  2. Самостоятельная работа.
  3. Проверка домашнего задания.
  4. Решение задач.
  5. Ввод решенных задач на компьютере.
  6. Постановка домашнего задания.
  7. Подведение итогов.

ХОД УРОКА

I. Организационный момент

Учитель:Здравствуйте ребята! На прошлом уроке мы изучили с вами, как обрабатывается символьная информация, познакомились с операциями для обработки строк, а также решали задачи с их использованием. Сейчас мы с вами проведем небольшую самостоятельную работу для того, чтобы определить, как вы усвоили тему предыдущего урока. Но для начала отметим отсутствующих.

Учитель отмечает кого нет в классе.

II. Самостоятельная работа

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

Учитель:Ребята, работа рассчитана на 7 минут. У кого-нибудь есть вопросы по выполнению самостоятельной работы? Если вопросов нет, то приступайте к ее выполнению.

Вариант №1

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

2. При помощи операций копирования и склейки из слова «жемчужина» составить слова: «чужие», «муж».

3. A:=’водопровод’;
delete(A,1,4);
Результат типа string А:=…..

Вариант №2

1. Символьная информация описывается данными каких двух типов?

2. При помощи операций копирования и склейки из слова «амортизация» составить слова: «мир», «ритм».

3. A:=’лось’; B:=’со’;
insert(B,A,3);
Результат типа string А:= …

III. Проверка домашнего задания

Учитель:Ребята, возникли ли у вас затруднения и вопросы по выполнению домашней работы? Давайте проверим, правильно ли вы ее сделали. Есть ли желающие выйти к доске и показать решение данной задачи?

(Если желающих нет, то учитель вызывает к доске сам. Один ученик выходит и описывает решение задачи, остальные проверяют на местах).

IV. Решение задач

Учитель:Сегодня мы продолжаем решать задачи на обработку строкового типа данных. Открывайте классные тетради, записывайте сегодняшнее число и тему: «Решение задач на обработку строкового типа данных».

Задача №1: Даны две строки, выяснить совпадают ли их длины.

Вопросы, которые учитель может задать детям, которые затрудняются решить данную задачу:

  1. Какая операция в языке Паскаль позволяет определить длину строки? (length(st))
  2. В каком случае длины двух строк могут совпадать? (Длины двух строк совпадают, если количество символов в первой строке равно количеству символов во второй строке)
  3. Что дано нам в данной задаче? (Даны две строки)
  4. Если нам даны две строки, что нужно сделать с ними? (Ввести их)

program pr1;
uses crt;
var st1,st2:string;
begin clrscr;
write('введите 1-ую строку: ');readln(st1);
write('введите 2-ую строку: ');readln(st2);
if length(st1)=length(st2) then writeln('длины совпадают') else
writeln('длины не совпадают');
readln;
end.

Задача №2: Дана строка, подсчитать количество вхождений слова «кот» в данную строку.

Вопросы, которые учитель может задать детям, которые затрудняются решить данную задачу:

  1. Что нам дано? (Дана строка)
  2. Что нужно найти? (Подсчитать количество вхождений слова «кот» в данную строку)
  3. Когда мы считаем количество чего-нибудь, что мы должны сделать? (Первоначально взять количество за нуль, то есть обнулить)
  4. Какая операция в языке Паскаль позволяет вырезать или скопировать нужное количество символов и при этом искомая строка не будет меняться? (Сopy)

Пример:  

st:=’кровать’;
copy(st,2,3);
Результат типа string A:=’ров’;

program pr2;
uses crt;
var st:string;
i,k:integer;
begin clrscr;
write('введите строку: '); readln(st);
k:=0;
for i:=1 to length(st) do
if copy(st,i,3)='кот' then k:=k+1;
write('количество вхождений=',k);
readln;
end.

Задача №3: Найти номер позиции, с которой в заданной строке в первый раз встретится некоторое введенное слово.

Вопросы, которые учитель может задать детям, которые затрудняются решить данную задачу:

  1. Что дано нам в данной задаче? (Дана строка и слово)
  2. Какая операция в языке Паскаль позволяет найти, с какой позиции находятся нужные символы?  (Pos)

Пример:   

A:=’юмор’; B:=’ор’;
Pos(В,А);
Результат типа integer D:=3;

program pr3;
uses crt;
var st1,st2:string;
T:integer;
begin clrscr;
write ('введите строку: '); readln(st1);
write ('введите слово: '); readln(st2);
T:=pos(st2,st1);
write('введенное слово начиеается с ',t,' позиции');
readln;
end.

Задача №4: Подсчитать количество запятых в заданном тексте с помощью массива символов.

program pr4;
uses crt;
var st:string;
i,k:integer;
begin clrscr;
write ('введите строку: ');readln(st);
k:=0;
for i:=1 to length(st) do
if st[i]=',' then k:=k+1;
write('количество запятых=',k);
readln;
end.

Задача №5: Заменить в заданной строке все вхождения «ку» на «за» с помощью операции копирования, удаления и вставки.

Вопросы, которые учитель может задать детям, которые затрудняются решить данную задачу:

Что происходит в результате:

  • A: = ‘светит солнце’;
    copy (A,8,6);
    Результат типа string B: = ‘солнце’;
  • A: = ‘привет, Яна!’;
    delete(А,7,5);
    Результат типа string В: = ‘привет!’;
  • A: = ‘рога’;  В: = ‘до’; insert(В,А,1);
    Результат типа string D: = ‘дорога’;

program pr5;uses crt;
var st:string;
i:integer;
begin
write('введите строку:'); readln(st);
for i:=1 to length(st) do
if copy(st,i,2)='ку' then
begin
delete(st,i,2);
insert('за',st,i);  
end;
write(st);
readln; end.

V. Ввод решенных задач на компьютере

Ученики вводят решенные задачи на компьютере.

VI. Постановка домашнего задания

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

  1. В заданной строке подсчитать количество вхождений слова «луна».
  2. Подсчитать количество букв «О» и «о» в строке.

VII. Подведение итогов

Учитель выставляет оценки и благодарит за работу.