Урок информатики на тему: «Символьные переменные. Решение задач»
Санатуллина Голнур Ильясовна
Учитель информатики
МБОУ СОШ №3 г. Лениногорска РТ
Тема урока: «Символьные переменные. Решение задач»
Цель урока:
Закрепить ЗУН учащихся при работе с символьными переменными.
Проверить усвоение изученного материала, умение анализировать решение задач, подготовка к контрольной работе.
Развить логическое мышление, умение выделять главное в изучаемом материале, воспитание аккуратности, точности, внимания.
Тип урока: урок- обобщения и систематизации знаний.
Оборудование: подготовленная учителем папка «11 класс» на рабочем столе ПК учащихся ( для устной работы), карточки с заданиями для самостоятельной работы ( на 3 варианта)
Программное обеспечение: ОС-WINDOWS XP, 7, среда программирования TURBO PASCAL
Время проведения: 1 урок (45 минут)
План урока:
Оргмомент. (1-2 мин);
Сообщение темы и цели урока (1-2 мин);
Актуализация опорных знаний учащихся ( устная работа с папкой «11 класс» (8-10 мин);
Решение задач(15 мин);
Проведение самостоятельной работы.( 15 мин);
Домашнее задание(1 мин);
Подведение итогов урока. Выставление оценок учащимся. (1 мин)
Слово учителя: Здравствуйте, ребята! Цель нашего с вами урока – это продолжение работы по применению функций символьных переменных при составление программ в среде программирования TURBO PASCAL и подготовка к контрольной работе.
Актуализация опорных знаний учащихся. Устная работа с папкой «11 класс» на рабочем столе ПК.
Задание №1.
Найти ошибки в записях символьных величин:
а) A8:=’Информатика важна для развития ума’;
б) СK$:=’Вычислительная техника’;
в) D:=компьютер;
г) CK2:=’монитор’;
д) 64N:=’algorithm’
Задание №2
Определить, какие слова получатся в результате выполнения этой программы:
F:=’Газонокосильщик’;
W:=COPY(F,5,2)+COPY(F,7,1);
K:=COPY(F,5,2)+COPY(F,1,2);
M:=COPY(F,9,1)+COPY(F,7,2)+COPY(F,11,2)+COPY(F,7,2);
WRITELN(W);
WRITELN(K);
WRITELN(M);
Задание №3.
В данных программах указать ошибки:
1) Выделить из данного слова часть слова длиной 5 букв, начиная с буквы ‘м’.
PROGRAM БУКВЫ;
VAR
A,N,I,B:STRING;
BEGIN
READLN(‘ВВЕДИТЕ СЛОВО’,A);
N=LEMGTN(A);
FOR I=1 TO N
BEGIN
B:=CORY(A,I,1);
IF B:=’M’ THEN WRITELN(A,I,5)
END;
END;
2) Составить программу, которая определяет сколько раз в тексте встречается буквосочетание «трио».
PROGRAM TRIO;
VAR
T:STRING;
I,N,S:INTEGER;
BEGIN
WRITELN(‘ВВЕДИТЕ ТЕКСТ’);
READLN(T);
N:=LENGTN(A);
FOR I=1 TO N DO
BEGIN
A:=COPY(T,I,2);
IF A:=’ТРИО’ THEN S:=S+1;
END;
WRITELN(‘В , T,’буквосочетание трио встречается’, S раз );
END.
Решение задач:
Примечание. Задачи разбираются совместно у доски.
1. Составить программу, которая дублирует буквы заданного слово.
( муха – ммууххаа)
Program double;
Uses crt;
var i,n:integr;
a,b,s:string;
Begin
Clrscr;
writeln('Введите слово');readln(a) ;
n:=length(a);
s:=’ ‘;
for i:=1 to n do
begin
b:= copy(a,i,1);
s:=s+b+b;
end;
writeln ('Исходное слово',’ ‘,a);
writeln ('Слово дублер',’ ‘,s);
end.
2. Составить программу подсчета количества вхождений буквы "а" в заданном тексте
Чтоб решить данную задачу рассмотрим 3 случая на поиск и подсчет.
1. На Бейкер-стрит.
Шерлоку Холмсу в руки попал странный документ - два листа дорогостоящей хлопковой бумаги были сплошь исписаны пляшущими человечками.
Нетрудно было догадаться, что тайное послание зашифровано элементарным образом: каждая буква заменена определенным человечком. Великий сыщик, закурив трубку, начал цепь дедуктивных размышлений...
2. В старой типографии
Хозяин типографии, желая обновить шрифт, решил заказать у ремесленника по сто литер каждой буквы. Однако опытный наборщик поставил под сомнение целесообразность такого заказа, объяснив, что литеры буквы <А> будет постоянно не хватать, в то время как <Ю> будет в невостребованном изобилии. Хозяин озадачился вопросом, как сделать заказ с наибольшей экономией.
3. Азбука Морзе
При передаче сообщений телеграфом все буквы кодировались в комбинациями двух сигналов - точки и тире. Можно было бы воспользоваться примитивным способом сопоставления:
A B C D E F G H и т.д.
. - .. - - .- -. ... ---
Создатель азбуки Морзе почему-то поступил иначе…
Все три случая, несмотря на свою внешнюю разноликость, связаны с одним и тем же явлением - постоянством относительной частоты появления букв алфавита в текстах.
Различные буквы встречаются в осмысленных текстах неодинаково часто. Следовательно, то же самое верно для соответствующих им знаков в закодированных текстах.
Поэтому Шерлоку Холмсу нет нужды проводить сложную цепь дедуктивных рассуждений, достаточно подсчитать частоту шифрознаков и воспользоваться таблицей частот букв.
Хозяин типографии достигнет наибольшей экономии, сделав заказ литер в соответствии с таблицей частот.
Первый код, предназначенный для передачи сообщений и носящий имя изобретателя телеграфного аппарата Сэмюэля Морзе, основан на том же принципе экономии: чем чаще встречается буква в текстах, тем короче комбинация ее кодировки.
Клавиатура компьютера (и, разумеется, клавиатура обычной пишущей машинки) разработана так, что клавиши с буквами, имеющими большие частоты, находятся ближе к центру.
Program podchet;
Uses crt;
var i,s:integr;
A:string;
Begin
Clrscr;
write('a=');readln(a) ;
for j:=1 to length(a) do
begin
if copy(a,i,1)=’a’ then
s:=s+1;
end;
writeln ('s=',s);
readln;
end.
3. Лев Николаевич Толстой роман «Война и мир» переписывал девять раз, и эта напряженная работа заняла у него шесть лет жизни. Интересно, насколько бы упростился труд великого писателя, имей он на рабочем столе компьютер? Или, может быть, наоборот, под воздействием компьютерного дурмана он никогда бы не смог завершить свое грандиозное творение? Так или иначе, но тем, кому доводилось работать с хорошим текстовым редактором, уже не может двигать рукой, вырисовывая буквы. Работа с текстом на компьютере подкупает также легкостью внесения исправлений и перестановки фрагментов текста.
Чтобы лучше понять, как создаются текстовые редакторы, воспроизведем одну из типовых операций по обработке текстов.
Составить программу, заменяющую в заданном тексте одну подстроку на другую.
program zamena;
uses crt;
var a,b,c:string;
i:integer;
begin
clrscr;
write ('Исх.текст a=');
readln(a);
write('заменить строку ');
readln(b) ;
write('на строку ');
readln(c) ;
i:=i+1;
repeat
if copy(a,i,length(b)) = b then
a: = copy(a, 1, i-1)+ c+ copy (a, i + length (b) , length(a));
i:=i+1;
until i > length(a)- length(b)+1;
writeln ('a=',a);
readln;
end.
Проведение самостоятельной работы:
На карточках даны условия задач и решения двух задач в виде программы. Надо установить соответствие программы и задачи. Затем решить третью задачу и проверить решение набрав программу на ПК
Вариант 1.
Задача 1. Замените в предложении восклицательный знак на вопросительный.
Задача 2 . Дан текст. Определить содержит ли он символы «*».
Задача 3. Написать программу получения из заданной строки новой строки путём замены всех символов «1», на букву «а».
Программы:
1) PROGRAM ZADACHA1;
LABEL 1,2;
VAR A,B:STRING;
I,N:INTEGER;
BEGIN
READLN(A);
N:=LENGTH(A);
FOR I:=1 TO N DO
BEGIN
B:=COPY(A,I,1);
IF B=’*’ THEN GOTO 1;
END;
WRITELN(‘ДА’): GOTO 2
1: WRITELN(‘НЕТ’);
2: END.
WRITELN('Введите строку') READLN(S);
2) WRITELN(‘ВВЕДИТЕ СТРОКУ’);
READLN(S);
H:=’ ‘;
FOR I:=l TO LENGTH(S) DO BEGIN
X:= COPY(S , I, 1 );
IF X=’1’ THEN H:=H+'a' ELSE H:=H + X;
END;
WRITEI.N(H);
END.
Вариант 2.
Задача 1.Написать программу, выдающую номер позиции заданной строки, в которой в
пятый раз встречается буква «w», и соответствующее сообщение, если эта буква встречается в строке менее 5 раз.
Задача 2.Написать программу получения из заданной строки новой строки путём удаления всех символов «*» и повторения каждого символа, отличного от «*». дважды.
Задача 3.Написать программу подсчёта в заданной строке отдельно количества символов «а», «b».
Программы:
1) WRITELN(‘ВВЕДИТЕ СТРОКУ’);
READLN(S):
А:=0 ; В:=0;
J:=LENGTH(S);
FOR I:=1 ТО J DO BEGIN
IF COPY(S,I.,1 )= 'a ' THEN A:=A+1;
IF COPY(S. I, 1 )= ‘b’ THEN B:=B+1; END;
WRITELN(’Буква а встречается в строке ‘, A,' раз(а)’); WRITELN(‘Буква b встречается в строке', В,’ раз(а)’); END.
WRITELN(‘Введите
строку’);
READLN(S);
K:=0;
J:=LENGTH(S);
FOR I:=1 ТО J DO
BEGIN
IF COPY(S,I, 1 ):='w' THEN K:=K+1;
IF K= 5 THEN WRITELN(‘Пятая буква w встречается в ', I ,'-й позиции")
ELSE WRITELN(‘'В данной строке буква w встречаемся меньше пяти раз ')ж
END;
END.
Вариант 3
Задача 1. Дан текст. Определить содержит ли он символы «*».
Задача 2 . Замените в предложении восклицательный знак на вопросительный.
Задача 3. Написать программу, выдающую номер позиции заданной строки, в которой в пятый раз встречается буква «w», и соответствующее сообщение, если эта буква встречается в строке менее 5 раз.
Программы:
READEN(A);
N: = LENGTH( А);
С=’ ‘;
FOR I: = 1 ТО N DO BEGIN
В: = COPY (А , I,1 )
IF В = ‘!’ THEN С:=С + '?' ELSE С: = С + В;
END;
WRITELN(C);
END.
2) READLN(A);
N := LENGTH ( A ):
FOR I: = 1 TO N DO BEGIN
B: = COPY (A ,I,1)
IF B = '*' THEN WRITELN(‘ ДА’)
ELSE WRITELN('HET');
END;
END.
Домашнее задание.
1. Подготовить ответы на вопросы
1.1 Что является результатом каждой функции, предназначенной для выполнения операций над строками? (число, строка)
1.2 Что является результатом действия функции length(a)? (длина текста)
1.3 Какие функции позволяют определить код по символу и символ по коду?
1.4 Для каждого ли символа имеется код?
1.5 Может ли значение функции (length(a) быть равным 300?(НЕТ)
1.6 Верно ли что символы "А" и "а" имеют одинаковые коды? (нет)
1.7 Какое получить слово «соль» из слова «фасоль»?
1.8 Верно ли равенство a:=copy(a,1,lendth(a)?
1.9 Какое слово называется пустым?
1.10 Выполняется ли для соединения слов:
а) переместительный закон;
б) сочетательный закон.
1.11 Какое слово присоединении слов играет роль нуля?
1.12 Как сравниваются два слова между собой?
1.13 Придумайте пример двух слов, результат соединения которых не зависит от их порядка?
2. Проверить является ли слово палиндромом.( Например ШАЛАШ, КАЗАК). Написать программу на языке TURBO PASCAL
Подведение итогов урока. Выставление оценок учащимся.
Список использованных источников информации
Чернов А. А.
Информатика. 9-11 классы. Конспекты уроков.
Чернов А. А., Чернов А. Ф.
Информатика. 9-11 классы. Контрольные и самостоятельные работы по программированию.
Электронные пособия с программным сопровождением. Информатика. 9-11 классы
Издательство "Учитель"
На странице приведен фрагмент.
Автор: Санатуллина Голнур Ильясовна
→ айсберг 04.09.2012 0 6686 671 |
Спасибо за Вашу оценку. Если хотите, чтобы Ваше имя
стало известно автору, войдите на сайт как пользователь
и нажмите Спасибо еще раз. Ваше имя появится на этой стрнице.