Урок-презентация по теме: «Строковые величины». Тип урока: урок с применением современных компьютерных технологий. Вид: комбинированный урок. Оборудование: комплекс, состоящий из демонстрационного экрана, проектора и компьютера с лицензированным программным обеспечением. На компьютере должна быть установлена операционная система 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.