Урок-презентация по теме: «Строковые величины».

advertisement
Урок-презентация
по теме: «Строковые величины».
Тип урока: урок с применением современных компьютерных технологий.
Вид: комбинированный урок.
Оборудование: комплекс, состоящий из демонстрационного экрана, проектора и
компьютера с лицензированным программным обеспечением. На компьютере
должна быть установлена операционная система Windows 9х или выше и пакет
Microsoft Office, РМУ с установленной средой TurboPascal.
Время проведения: второй урок по теме «Строковые величины».
Цели урока:
 Ознакомление учащихся с основными типами задач по обработке строк с
использованием соответствующих функций и процедур языка Паскаль.
 Формирование общеучебных и общекультурных навыков работы с информацией.
 Развитие у школьников теоретического, творческого, операционного типа
мышления, направленного на выбор оптимальных решений.
Задачи урока:
1.Воспитательная - развитие познавательного интереса, логического мышления.
2.Учебная – закрепление материала прошлого урока с использованием примеров
и упражнений.
3.Развивающая – развитие алгоритмического мышления, памяти, внимательности.
Подготовка к уроку: Для этого урока была разработана электронная презентация
с помощью программы Microsoft Power Point. Слайды презентации демонстрируются учащимся на большой экран через проектор, сопряженный с компьютером.
Материалы презентации были подобраны на образовательных сайтах в Интернете
и в учебной литературе. Также был разработан тест для проверочной работы и
таблицей с правильными ответами для быстрой проверки.
План урока:
1.Организационный момент.
2.Фронтальный опрос с использованием материалов презентации. Контроль усвоения материала: тестовая проверочная работа по вариантам.
3.Разбор и решение задач по теме урока с использованием изученных функций и
процедур обработки строк.
4.Закрепление материала: решение задач на ПЭВМ с отладкой.
5.Домашнее задание.
Ход урока
1.Организационный момент. Вступительное слово учителя, объявление темы и
плана урока.
2.Фронтальный опрос. Вопросы учителя выводятся на экран при помощи проектора по одному , ответы обсуждаются. Затем выполняются упражнения на закрепление изученных функций и процедур , используемых для обработки строковых
величин. Далее учащимся предлагается тестовая работа по вариантам для контроля усвоения пройденного материала. (презентация представлена в электронном виде).Самопроверка теста учащимися.
3.Разбор и решение задач по теме урока . Учащиеся записывают условие задачи
и вместе с учителем обсуждают возможные варианты ее решения. Затем программа реализуется на ПЭВМ и проводится ее отладка.
Задача: Составить программу для определения стоимости телеграммы. (допущение: слова в телеграмме разделены пробелом, «красной строки» нет, знаки препинания отсутствуют).
Один из вариантов решения:
Program Z1;
Uses crt;
Var w:string;
I,k:integer;
t;real;
Begin clrscr;
Writeln(‘Введите текст телеграммы’);
Readln(w);
Writeln(‘Введите тариф’);
Readln(t);
K:=0;
For i:=1 to length(w) do
If copy(w,i,1)=’ ‘ then k:=k+1;
Writeln(‘Стоимость телеграммы = ’, (k+1)*t);
Readln;
End.
Обсудить с учащимися возможность более сложного варианта условия задачи(без
допущений) и способы реализации задачи в этом случае. Предложить учащимся
дома задать усложненное условие данной задачи и разработать свой способ ее
решения.
4. Закрепление материала: решение задач на ПЭВМ с отладкой.
Решить следующее задачи: Учащиеся записывают условия задач в тетрадь.
1) Дано предложение. Определить порядковый номер первой встреченной буквы 'к'. Если такой буквы нет, сообщить об этом.
2) Найти количество слов в введенном предложении, начинающихся на букву «к».(слова разделены пробелами)
3) Найти процент слов в предложении, начинающихся на букву «а». (слова разделены пробелами, можно усложнить по желанию)
4) Найти количество предлогов «за» и приставок
«за-» в заданном тексте.
5) Определить количество вхождений в строку заданного слова. (слова разделены пробелами)
6*)Задана строка, состоящая из строчных букв латинского алфавита(26). Составить программу для подсчета частоты вхождения в
нее каждой буквы в процентах.
Учащиеся выбирают задачи из списка и решают их в любом порядке, консультируясь с учителем. Если учащийся решил задачу самостоятельно, работа оценивается учителем соответственно.
5.Домашнее задание. 1) Составить и решить усложненную задачу(см. п.3
2) Каждый учащийся дома дорабатывает те задачи, которые не успел решить в классе(задачи 1-5).
3) Задача 6*) – по желанию на дополнительную оценку.
Некоторые варианты решения предложенных задач:
1)
Program z1;
Var x:byte;
a:string;
begin clrscr;
write('Введите предложение');
readln(a);
x:=pos('к',a);
if x=0 then writeln(' Такой буквы нет') else writeln(x);
readln ;
end.
2) Program Z1;
Uses crt;
Var w:string;
I,k:integer;
Begin clrscr;
Writeln(‘Введите предложение’);
Readln(w);
k:=0;
If pos(‘к’,w)=1 then k:=k+1;
For i:=2 to length(w) do
If copy(w,i,2)=’ к‘ then k:=k+1;
Writeln(‘Количество слов на букву «к»= ’, k);
).
Readln;
End.
3) Program Z1;
Uses crt;
Var w:string;
I,k,p:integer;
Begin clrscr;
Writeln(‘Введите предложение’);
Readln(w);
k:=0; p:=1;
If pos(‘а’,w)=1 then k:=k+1;
For i:=2 to length(w) do
If copy(w,i,2)=’ а‘ then k:=k+1;
Writeln(‘Количество слов на букву «а»= ’, k);
For i:=1 to length(w) do
If copy(w,i,1)=’ ‘ then p:=p+1;
Writeln(‘Процент слов , начинающихся на букву «а » равен ’,k/p*100,’%’);
Readln;
End.
4)Program Z1;
Uses crt;
Var w:string;
I,k,k1:integer;
begin clrscr;
Writeln(‘Введите текст ‘);
Readln(w);
k:=0;k1:=0;
For i:=1 to length(w)-2 do
begin
If copy(w,i,4)=’ за ‘ then k:=k+1;
If copy(w,i,3)=’ за‘ then k1:=k1+1;
end;
Writeln(‘количество предлогов «за» = ’, k);
Writeln(‘количество приставок «за-» = ’, k1);
Readln;
End.
5)Program Z1;
Uses crt;
Var w,s:string;
I,k:integer;
Begin clrscr;
Writeln(‘Введите текст ’);
Readln(w);
Writeln(‘Введите слово’);
Readln(s);
K:=0;
For i:=1 to length(w)-(length(s)-1) do
If copy(w,i,length(s))=s then k:=k+1;
Writeln(‘Количество вхождений в строку слова ’,s,’равно ’, k);
Readln;
End.
___________________________________________________________________
6*) Program z6;
uses crt;
var mas:array[‘a’..’z’] of integer;
st:string; i:integer; k:char;
begin clrscr;
For k:=’a’ to ‘z’ do
mas[i]:=0;
Writeln(‘Введите строку ’);
Readln(st);
For i:=1 to length(st) do
Mas[st[i]]:=mas[st[i]]+1;
For k:=’a’ to ‘z’ do
If mas[k]>0 then writeln(‘частота буквы ‘,k,’ равна ‘,(mas[k])/length(st))*100):6:2,’
%’);
End.
Download