Урок по информатике и ИКТ по теме Символьные переменные. Удаление и вставка фрагментов текста


Урок по информатике и ИКТ по теме "Символьные переменные. Удаление и вставка фрагментов текста"
Тип урока: Урок изучения новых знаний, совершенствования знаний, полученных ранее.
Класс: 10
Цели урока:
организация продуктивной деятельности школьников, направленной на достижение ими следующих результатов
метапредметных:
- в познавательной деятельности
умение использовать для познания окружающего мира различных методов (наблюдение, опыт, эксперимент, моделирование и др.);
самостоятельно выполнять анализ кода программы;
различать факт, мнение;
осуществлять перенос знаний в изменённую ситуацию, видеть задачу в контексте проблемной ситуации;
исследовать несложные практические ситуации, выдвижение предположений, понимание необходимости их проверки на практике.
- в информационно-коммуникативной деятельности
умение вступать в речевое общение, участвовать в диалоге (понимать точку зрения собеседника, признавать право на иное мнение).
отражать в устной форме результаты своей деятельности.
использовать для решения познавательных и коммуникативных задач различные источники информации;
-в рефлексивной деятельности
владение навыками контроля и оценки своей деятельности
поиск и устранение причин возникших трудностей.
владение умениями совместной деятельности: согласование и координация деятельности с другими ее участниками;
объективное оценивание своего вклада в решение общих задач коллектива;
личностных:
Приобрести или реализовать:
Ответственность, инициативность, находчивость, активность при решении математических задач.
Трудолюбие, усидчивость, заинтересованность.
Любознательность, стремление к самостоятельности в поисках дополнительных источников информации.
Критичность мышления.
предметных:
- на уровне обязательной подготовки (базовый уровень)
Знать и правильно употреблять в устной и письменной речи термины: функция, наибольшее, наименьшее значение функции, символьные переменные, строка, подстрока.
Знать и понимать определение понятий:строка, подстрока.
Понимать ситуации, в которых необходимо использовать функции определения подстроки в данном тексте.
Решать несложные задачи, логически обосновывать выбранный способ и ход решения.
Писать код программы для несложных задач.
- на уровне возможностей (повышенный и высокий уровень).
Осмыслить понятие функции.
Получить представление обанализе программ при решении задач повышенного уровня сложности (из КИМ ЕГЭ).
Уметь осуществлять перенос знаний в изменённую ситуацию, видеть задачу в контексте проблемной ситуации, разрешать проблему, используя ранее полученный багаж знаний.
- на уровне возможностей (высокий уровень для одаренных)
Расширить систему имеющихся знаний о функциях символьных переменных.
Комбинирование известных алгоритмов деятельности в ситуациях, не предполагающих применение одного из них. Творческое решение учебных и практических задач: мотивированно отказаться от образа, искать оригинальные решения.
Ход урока
1. Организационная часть
(приветствие, проверка присутствующих учащихся)
2. Мотивация учебной деятельности
Готовясь к ЕГЭ, вы встретили такую задачу: «В данной строке символов все слова «мир» замените на слово «дом»». Можете ли вы решить ее? Сегодня мы попробуем решить задачу.
Работа со страницей на интерактивной доске.
Задание: Предложенные слова разделите на две группы по следующим критериям:
а) известные; б) неизвестные.
Давайте поставим для себя цель.
Продолжите мою мысль:
Сегодня на уроке я узнаю …(как использовать процедуры удаления и вставки, функции сцепления строк и определения позиции вхождения подстроки в работе с символьными переменными)
Я научусь …( писать код программы, обрабатывающей символьные переменные );
Я сегодня буду развивать… (навык работы с программой, память, мышление).
3. Устная работа
Найдите ошибки в программах
Пример 1.
Распечатать заданное слово в одной строке с разрядкой (пробел после каждой буквы).
Program prim1;Var s, x ,i: string;BeginWriteln(‘введите слово’);Readln(s);x:=’’;For i:=1 to lemgth(s)
beginx;=x+copy(s,i,1)+’ ‘End;Writeln(‘получилось слово ‘, x);Readln;End. Program prim1;Var s, x: string;i: integer;BeginWriteln(‘введите слово’);Readln(s);x:=’’;For i:=1 to length(s) do beginx:=x+copy(s,i,1)+’ ‘;End;Writeln(‘получилось слово ‘, x);Readln;End.
Пример 2.
Составить программу подсчета количества вхождений буквы “а” в заданном тексте.
Program Прим 2;Var: s, i, k: integer;BeginWriteln(‘введите текст’);Readln(s);k:=0;for i=1 to length(s) do beginif copy(s, 1)=’a’ then k=k+1end;Writln(‘количество букв “а” в тексте равно ’ k);Writeln;End. Program prim2;Var s: string;i, k: integer;BeginWriteln(‘введите текст’);Readln(s);k:=0;for i:=1 to length(s) do beginif copy(s, i, 1)=’a’ then k:=k+1;end;Writeln(‘количество букв “а” в тексте равно ’, k);Writeln;End.
Пример 3.
Составить программу, которая определяет сколько раз в тексте встречается буквосочетание «трио».
program trio;var t:string; i,n,s:integer;beginwriteln(‘введите текст’);readln(t);n:=lengtn(a);for i=1 to n dobegina:=copy(t,i,2);if a:=’трио’ then s:=s+1;end;writeln(‘в , t,’буквосочетание трио встречается’, s раз );end. program trio;var t,a:string; i,n,s:integer;beginwriteln(‘введите текст’);readln(t);n:=length(t);for i:=1 to n dobegina:=copy(t,i,4);if a:=’трио’ then s:=s+1;end;writeln(‘в' , t,’буквосочетание трио встречается’, s, ‘ раз’ );end.
4. Объяснение нового материала.
Эта часть урока проводится в виде совместной работы учителя и учащихся. Вам известны некоторые функции и процедуры обработки символьных величин.
№ п/п Название Формат Назначение
LENGTH C:=LENGTH(str); Переменной С будет присвоено целое значение, показывающее количество символов в строковой переменной strCOPY S1:=COPY(str, I, J); Sl-символьная подстрока, выделенная из строки str с позиции I, длиной J символов.
STR STR (V, S1); Числовое значение переменной V преобразуется в строку символов и записывается в строку S1.
VAL VAL (S1, V, C); Строковое выражение S1 преобразуется в величину целочисленного или вещественного типа и записывается в переменной V
CHR CHR(x) Возвращает символ, соответствующий ASCII-коду числа x
ORD ORD(S) Определение кода по символу
Сегодня мы рассмотрим еще несколько функции и процедур.
Учитель вводит новые понятия «функция СОNCAТ», «функция POS», «процедура DELETE», «процедура INSERT». На слайде презентации появляется определение этого понятия. Учащиеся записывают его в тетрадь.
№ п/п Название Формат Назначение
СОNCAТ str:=CONCAT(st1,st2,...,stN); Сцепление строк в порядке их перечисления (str-переменная типа STRING, состоящая из строк st1,...,stN).
POS P:=POS (st1, st2); Р-целое число, показывающее номер позиции, с которой начинается строка st1 в строкe st2.
DELETE DELETE(Str, I, J);  Из строки str удаляется J символов, начиная с I позиции.
INSERT INSERT(Str1,Str2,I); Строка Str1 вставляется с I позиции в строку Str2.
Удаление
процедура Delete(str, n,m), которая вырезает из строки str m символов, начиная с n-го. Таким образом, сама строка изменяется.
Пример.
Дан фрагмент программы:
s:='123456'; delete(s, 3, 2);writeln(s);
После выполнения этих операторов из строки будут удалены два символа, начиная с третьего, то есть строка будет такой: s = '1256'.
Замена (Вставка)
процедура Insert(s1,s2,n) – вставка строки s1 в строку s2, начиная с п-го символа, при этом первая строка остается такой же, как и была, а вторая получает новое значение.
Пример.
s1;='34':s2:='1256'; insert (s1, s2, 3);
В результате выполнения данной процедуры строка будет такой s2='123456'.
Решение задач (фронтальная работа). Один ученик за ПК (демонстрация на экран).
Пример 1.
Составить программу, определяющую по введенному с клавиатуры символу его код.
Programm prim1;Var s: char;BeginWriteln(‘введите символ с клавиатуры’);Readln(s);Writeln(‘код символа ‘,s,’=’,ord(s));Readln;End.
Пример 2.
В три символьные переменные F, I, O ввести свои фамилию, имя, отчество. Сформировать из этих данных строку S, содержащую ваши фамилию и инициалы.
Program prim2;Var F, I, O, S :string;BeginWriteln(‘введите вашу фамилию’);Readln(F);Writeln(‘введите ваше имя’);Readln(I);Writeln(‘введите ваше отчество’);Readln(O);S:=F+’ ‘+copy(I,1,1)+’.’+copy(O,1,1)+’.’;Writeln(‘ваши реквизиты: ‘, S);Readln;End.
Пример 3.
Определить сколько цифр содержится в записи произвольного натурального числа.
Program prim3;Var s: string;x, k: integer;BeginWriteln(‘введите число’);Readln(x);Str( x, s);k:=length(s);Writeln(‘в числе ‘,k,’ цифр’);Readln;End.
Пример 4.
Переменные A и B содержат строки цифр. Найти сумму соответствующих чисел.
Program prim4;Var A, B: string;S, x, y, n, k: integer;BeginWriteln(‘введите первое число’);Readln(A);Writeln(‘введите второе число’);Readln(B);Val(A, x, n);Val(B, y, k);S:=x+y;Writeln(‘сумма чисел равна ‘,S);Readln;End.
Практическая работа.
А) Разделитесь по парам. Сядьте за компьютеры.
Б) Вы будете работать в малой группе. Один – мозговой центр, другой – оператор.
В) Вам нужно решить одну из задач, применяя известные функции и процедуры работы с символьными переменными. Можно пользоваться таблицами с функциями и процедурами.
Г) Выберите уровень задач: базовый, повышенный.
Базовый уровень
В символьной строке имеются буквы А и В. Установите, какая буква встретится раньше, если просматривать символы слева направо.
Вырежьте два первых символа символьной строки и поместите их в конец данной строки.
Поменяйте первый и последний символы данной символьной строки.
В данной строке символов все слоги «над» замените на слоги «под».
Определите, сколько раз в символьной строке А встречается данный слог. Например, "да", "куб", "prog".
Определите, есть ли в данном тексте указанное слово и заключите его в скобки.
В данном тексте замените слова "тигр" на слова "кошка" и наоборот.
Повышенный уровень
Составить программу, проверяющую является ли «счастливым» трамвайный билет. Номер билета – число с четным количеством цифр вводится с клавиатуры.
Составить программу, выполняющую сложение многозначного натурального числа N с его палиндромом. Число N вводится с клавиатуры. (Палиндромом числа N называется число, записанное в обратном порядке. Например, 27015 – 51072). Вывести на экран число N, его палиндром и их сумму.
Составить программу, проверяющую возможность получения из текста A$ текст B$. Символы из A$ можно переставлять местами, но каждый использовать не более одного раза.
Подсчитать сколько раз встречается в тексте каждый символ. Текст вводится с клавиатуры.
В массиве SP$(N,2) содержатся фамилии и пол ( «жен», «муж») каждого ученика. Заполнить два массива так, чтобы в одном были фамилии девочек, а в другом – мальчиков. Массив SP$(N,2) вводится с клавиатуры.
Подведение итогов урока.
Все сели за столы. Давайте продолжим фразы:
Сегодня я узнал(а)…
Было интересно…
Было трудно…
Я выполнял(а) задания…
Я понял(а), что…
Теперь я могу…
Я научился(лась)…
Урок дал мне для жизни…
7. Выставление оценок.