Добавить материал и получить бесплатное свидетельство о публикации в СМИ
Эл. №ФС77-60625 от 20.01.2015
Свидетельство о публикации

Автоматическая выдача свидетельства о публикации в официальном СМИ сразу после добавления материала на сайт - Бесплатно

Добавить свой материал

За каждый опубликованный материал Вы получите бесплатное свидетельство о публикации от проекта «Инфоурок»

(Свидетельство о регистрации СМИ: Эл №ФС77-60625 от 20.01.2015)

Инфоурок / Информатика / Другие методич. материалы / Методическая разработка по программированию "Символьные величины"
ВНИМАНИЮ ВСЕХ УЧИТЕЛЕЙ: согласно Федеральному закону № 313-ФЗ все педагоги должны пройти обучение навыкам оказания первой помощи.

Дистанционный курс "Оказание первой помощи детям и взрослым" от проекта "Инфоурок" даёт Вам возможность привести свои знания в соответствие с требованиями закона и получить удостоверение о повышении квалификации установленного образца (180 часов). Начало обучения новой группы: 28 июня.

Подать заявку на курс
  • Информатика

Методическая разработка по программированию "Символьные величины"

библиотека
материалов


Методическая разработка




Символьные величины.


Обработка текстовой информации на компьютере.








Автор: О. В. Рыжих

учитель информатики

МБОУ г. Иркутска

СОШ №12

















Иркутск, 2015


Часто пользователю приходится не только делать вычисления, но и обрабатывать текстовую информацию; находить нужное слово (фамилию, какое-то наименование и т. д.), либо какую-то часть его; размещать или передвигать по экрану дисплея текст и т. п.

В данной работе будет рассмотрено решение задач обработки текстовой

информации. Такие задачи требуют применения иных, не арифметических операций и знание функций обработки текстов. Однако при этом процесс

алгоритмизации и программирования полностью сохраняется.

Основные цели занятий по этому разделу – научить школьников решать задачи обработки текстовой информации на компьютере, воспитать у них навыки свободного обращения с вычислительной машиной, развивать творческие способности и логическое мышление при составлении алгоритмов, программ.

Достижение этих целей организуется через демонстрацию образцов решения специально подобранных задач в сочетании с самостоятельной работой над задачами такого же класса.

При такой методике удается:

  • показать учащимся интересные, практически важные задачи, привлечение компьютера для решения которых является обоснованным;

  • подчеркнуть специфические программистские приемы при разборе конкретных программ, которые школьник может взять на вооружение и применить при решении других задач.


УРОК 1 (2 часа)


Тема урока: Символьные величины. Основные функции обработки символьных переменных.

Цели урока: дать характеристику символьных величин, рассмотреть функции обработки символьных переменных, апробировать результат их работы на компьютере.

1. Объяснение нового материала.

Программы на языке Бейсик обрабатывают не только числовую, но и текстовую информацию, т. е. строки символов. Для этого используются символьные константы, переменные и выражения. В памяти ЭВМ текстовые данные хранятся как после­довательность кодов всех символов, составляющих текст.

Символьная константа-это строка символов, заключенная в кавычки. Значением константы является последовательность составляющих ее символов, не считая кавы­чек. Внутри кавычек допускается запись любых символов, за исключением символа кавычек. Два идущих подряд знака кавычек задают пустую символьную строку, не содержащую ни одного символа.

У символьной переменной есть имя, которое заканчивается знаком денежной еди­ницы($) и значение в виде строки символов, которое может меняться по ходу выпол­нения программы.

Например: к$="школа"

Фактически имя символьной переменной в каждый момент времени указывает на некоторую область памяти, в которой находятся коды символов, состав­ляющих текущее значение переменной. Максимальная возможная длина значений символьных констант и переменных зависит от реализации языка.

Символьный массив-это массив элементами, которого являются символьные строки. Поскольку массив можно рассматривать как переменную, снабженную одним или двумя индексами, то имя символьного массива и значения его элементов должны удовлетво­рять обычным требованиям к переменным этого типа.

Символьная функция-это функция, значениями которой являются строки символов. Имя символьной функции тоже заканчивается знаком($).

Символьным выражением называется символьная константа или переменная, ссылка на элемент символьного массива или значение символьной функции, а также результат любого их соединения при помощи знака плюс. Этот знак обозначает операцию КОНКАТЕНАЦИИ(сцепление строк).

Также для строк определена операция сравнения. Строки считаются равными, если их длины равны и коды всех символов попарно совпадают. Если одна из строк совпадает с началом другой, но короче ее, то она меньше. В остальных случаях все решает код первого несовпадающего символа - меньше та строка, у которой код меньше.

Значения символьной переменной могут задаваться при помощи операторов:

1.LET

2.INPUT

3.DATA, READ


ОСНОВНЫЕ ФУНКЦИИ ОБРАБОТКИ ЛИТЕРНЫХ ПЕРЕМЕННЫХ.


1. ASC-переводит первый символ строки в код.

Формат: Х=ASC(<арг>), где аргумент - это непустое символьное выражение. Результат функции - целое число из [0;255].

Пример: PRINT “Код буквы F равен”;ASC(“F”)

На экране будет текст: Код буквы F равен 70


2. CHR$-эта функция обратная функции ASC.

Функция CHR$ переводит целое число в символьную строку из одного символа. Формат: Х$=CHR$(<арг>), где аргумент- целое выражение, принимающее значения из отрезка [0;255].

Пример: PRINT “Буква с кодом 70 – это”;CHR$(70)

На экране будет текст: Буква с кодом 70 – это F

Если Х попадает в необходимый диапазон, и переменная Х$ состоит из одного символа, то всегда верно:

X=ASC(CHR$(X)) и X$=CHR$(ASC(X$)).

3. LEN-определяет длину символьной переменной.

Формат: Х=LEN(<арг>), где аргумент - какое-то символьное выражение.

Пример: T$=”информатика”

X=LEN(T$)

PRINT “Х=”;Х

На экране будет: Х=11


4. MID$-выбирает из строковой величины определенное количеств символов с заданной позиции.

Формат: X$=MID$(K$,M,N), где К$- само символьное выражение из которого мы выби­раем. M-номер позиции, с которой осуществляется выборка. N-количество символов, которое нужно выбрать.

Третий аргумент может быть опущен, в этом случаи выбираются все символы до конца строки.

Пример: Т$=”информатика”

P$=MID$(T$,3,6)

PRINT P$

На экране будет напечатано слово формат

Функция MID$ может быть использована и в левой части команды присваивания для замены части строки началом другой строки.

Формат: MID$(T$,M,N)=Z$,где Т$ -символьная переменная, Z$ - символьная строка.

N первых символов строки Z$ будет перемещено на место N символов переменной T$, начиная с позиции М.

Пример: T$=”былина“

MID$(T$,2,2)=”узник“

PRINT T$

На экране будет напечатано слово бузина


5. LEFT$-осуществляет выделения первых левых символов.

Формат: X$=LEFT$(K$,N), где K$ - строка, из которой выделяем.

N-количество выделяемых символов.

6. RIGHT$-выделяет последние правые символы.

Формат: X$=RIGHT$(K$,N), где К$ - строка, из которой выделяем.

N – количество выделяемых символов.

Пример: T$=”символ”

X$=LEFT$(T$,3)

Y$=RIGHT$(T$,3)

PRINT X$,Y$

На экране будет напечатано: сим вол

7. INSTR-определяет номер позиции вхождения подстроки в строку.

Формат: X=INSTR([позиция,] <строка>,<подстрока>).

Позиция-это число из отрезка [1;255], которое означает позицию начала поиска. Этот аргу­мент может отсутствовать, в этом случае поиск ведется с первой позиции. Строка - символьное выражение, в котором ведется поиск. Подстрока-это символьное выражение, искомый сегмент. Если подстрока не найдена, то выдается позиция 0. Функция INSTR ищет только первое вхождение подстроки в строку.

Пример: T$=”информатика”

X=INSTR(1,T$,”a”)

PRINTX=”;X

На экране будет: Х =7


8. STRING$-формирует строку из N одинаковых символов.

Формат: X$=STRING$(N,<арг>), где N-это целое число из отрезка [0;255], которое определяет длину создаваемой строки, <арг> - это число из отрезка [0;255], соответствующее коду, которым заполняется новая символьная строка или символьное выражение, первым символом которого заполняется новая символьная стро­ка.

Пример: X$=STRING$(5,”F”) X$=STRING$(5,70)

PRINT X$ или PRINT X$

На экране будет: FFFFF


9. INKEY$. При работе с текстовой информацией часто необходимо знать какая сейчас была нажата клавиша только что.

Для этой цели служит функция INKEY$. Однако в отличие от оператора INPUT компью­тер в данном случаи не останавливается и не ожидает вас, а продолжает выполнять программу, не высвечивая на экране символы, соответствующие нажимаемым клавишам. Другими словами функция INKEY$ считывает символ с буфера ввода клавиатуры.

Eсли не было введено никакого символа, то функция INKEY$ выдает пустую симво­льную строку. Если символ был введен, то он считывается из буфера и выдается через INKEY$.

Пример: ‘Программа печати кода клавиш

A:PRINT “нажми клавишу

C$=INKEY$

IF C$=”” THEN GOTO A

PRINT ASC(C$) : GOTO A

На экране будут печататься коды символов, соответствующие нажимаемым клавишам.


10.VAL-служит для преобразования символов-цифр в число.

Другими словами эта функция предлагает компьютеру воспринимать строковые зна­чения как число.

Если в последовательности символов на первом месте стоит ни цифра, и ни точка, то результат действия на нее функции VAL будет нулевым.


11.STR$. Функция, обратная функции VAL, которая переводит число в последователь­ность символов. Использование этой функции позволяет "разрезать" и "склеивать" числа.

2. Домашнее задание

Выучить форматы и назначения функций.

УРОК 2 (2 часа)

Тема урока: Функции обработки символьных переменных. Решение задач с использованием символьных функций.

Цели урока: Закрепить знания учащихся по использованию и применению символьных функций, научить решать задачи с символьными величинами. Проверить, оценить и закрепить знания учащихся по использованию и применению символьных функций

  1. Решение задачи с использованием изученных функций

Задача Подсчитать сколько раз среди символов заданной строки встречается буква ф.

Решение

INPUT “Введи строку”;T$

PRINT “Исходная строка”;T$

K=0

FOR I=1 to LEN(T$)

IF MID$(T$,I,1)=”ф” THEN K=K+1

NEXT I

PRINT “буква ф встретилась “;K;” раз”

END

  1. Решение задач учащимися (составление программы, отладка на ПК, получение результатов).

Перечень задач:

1. Ввести предложение и подсчитать в нем количество слов, если известно, что слова отделяются друг от друга или пробелами или запятыми.

2. Выдать номер позиции заданной строки, в которой впервые встретилась буква «в». Если такой буквы в строке нет, то выдать об этом сообщение.

3. Выдать номер позиции заданной строки, в которой в пятый раз встречается буква «W». Если такой позиции нет, то выдать об этом сообщение.

4. В заданной строке подсчитать отдельно количество символов «а» и «б».

5. Из заданной строки получить новую, заменив все запятые на точки. Распечатать полученную строку.

6. В заданной строке поменять местами первую букву «а» и первую букву «б». Если хотя бы одной из них нет, напечатать сообщение, иначе распечатать полученную строку.

7. Из заданной строки выделить подстроку длиной 5 знаков (либо до конца строки, если осталось меньше), которая начинается с первой встретившейся в строке буквы «ф». Распечатать эту подстроку или сообщение о том, что ее нет.

8. В тексте, содержащем фамилию и инициалы, поставить инициалы перед фамилией. Инициалы отделяются от фамилии пробелом. Пример текста: Иванов К.Ф.

9. В заданном тексте удалить часть текста, заключенную в скобки (считаем, что в тексте одна пара скобок).

10. Проверить в заданном тексте равенство числа открывающих скобок числу закрывающих скобок.

  1. Выполнение задания на компьютере по использованию символьных функций.

Задание находится на компьютере администратора в папке «Мои документы» в файле «Урок символьные величины». Скопировать указанный файл на рабочий стол своего компьютера и открыть данный документ. На поставленные вопросы дать ответы.





Вопрос

Ответ

1

Каков результат выполнения программы?

K$=”KOT” : X$=CHR$(ASC(K$))

PRINT X$


2

Как называется операция сцепления

строк? Привести пример.


3

Какая величина больше :

море “ или “мор “ ? И почему?


4

Каков результат выполнения программы?

E$=”ЗМЕЕЛОВ”: R$=”ЗМЕЯ”

N=LEN(E$)-LEN(R$): PRINT N


5

Каков результат выполнения программы?

K$=”железнодорожник”

P$=MID$(K$,8,2)+MID$(K$,5,1)+MID$(K$,9,2)

PRINT P$


6

С помощью функции MID$ составьте из слова

ЖЕЛЕЗНОДОРОЖНИК слово КОЛЕНО.


7

Каков результат выполнения программы?

K$=”ГРАДУС” :X$=LEFT$(K$,4)

Y$=RIGHT$(K$,2) : PRINT X$,Y$


8

В чем разница выполнения программ? И каков результат их выполнения?

K$=”ЭЛЕКТРИФИКАЦИЯ” : E$=”И”

N=INSTR(1,K$,E$) или N=INSTR(8,K$,E$)

PRINT N


9

Каково назначение функции STRING$? Привести пример использования этой функции


10

Каков результат выполнения программы?

E$=”-.4567” : PRINT VAL(E$)*10

R$=STR$(VAL(E$)*10)+MID$(E$,5)

PRINT R$




  1. Комментирование ответов учащимися.

5. Домашнее задание по карточкам дифференцированно.


УРОК 3 (3часа)

Тема урока: Алгоритм выделения слов в тексте.

Цели урока: Ознакомить учащихся с новым алгоритмом, новым подходом к решению подобных задач, научить учащихся применять данный алгоритм, как вспомогательный, при решении задач с символьными величинами.

  1. Проверка домашнего задания и устранение неясностей.

  2. Объяснение нового материала.

А Г О Р И Т М В Ы Д Е Л Е Н И Я С Л О В В Т Е К С Т Е.

При работе с символьными переменными одним из основных заданий является работа с отдельными словами. Для реализации такой работы необходим алгоритм выделения слов в тексте.

Например: Х$=”Земля вселенная моя”

А$(1)="Земля": А$(2)="вселенная": А$(3)="моя"

Если в заданном тексте определить позиции двух соседних пробелов, то символы, находящиеся между этими пробелами, будут представлять из себя слова.

Для выделения слов вводят две переменные. Пусть переменная К -будет позиция предшествующего пробела, а переменная К1-будет определять позицию текущего про­бела.

С Л О В Е С Н Ы Й А Л Г О Р И Т М В Ы Д Е Л Е Н И Я

С Л О В В Т Е К С Т Е.

1.Задается позиция предшествующего пробела. В начале текста эта позиция задает­ся равной 0. (К=0).

2.С помощью функции INSTR определяется позиция К1 следующего пробела, который называется Т Е К У Щ И М П Р О Б Е Л О М. Поиск этого пробела начинается с позиции К+1: К1=INSTR(k+1,x$," ")

3.Функция MID$ выделяет символы, которые составляют слово. А$=MID$(X$,K+1,K1-K-1).

Поскольку во фразе несколько слов, то выделения всех слов осуществляется в итерационном цикле. Поскольку итерационный цикл реализуется либо оператором условного перехода IF, либо оператором цикла WHILE WEND, то для их работы не­обходима проверка условия окончания итерационного цикла - критерий остановки. Когда К1 равняется 0, то это означает, что пробелы отсутствуют, что в свою оче­редь означает, что выделяется последнее слово и процесс выделения слов должен быть закончен. Если позиция К1не равна 0, то необходимо перейти и выделить следу­ющее слово.

К1=0- К Р И Т Е Р И Й О С Т А Н О В К И

Поскольку в функции MID$ выделения очередного слова начинается с позиции К+1, то не изменив его значения, будем выделять вместо очередного слова все предыду­щие слова в одно слово. Чтобы избежать этого, необходимо передвинуть позицию предшествующего пробела К в позицию текущего пробела простым присваиванием.

К=К1

Это также необходимо для задания позиции поиска очередного текущего пробела.

П Р О Г Р А М М А.

REM "выделения слов в тексте"

X$="Земля вселенная моя"

M=LEN(X$)

DIM A$(M)

K=0:I=1

А: K1=INSTR(K+1,X$," ")

IF K1=0 THEN A$(I)=MID$(X$,K+1,M-K) ELSE A$(I)=MID$(X$,K+1,K1-K-1)

I=I+1

K=K1

IF K1<>0 THEN GOTO A

PRINT “Сформированный массив слов”

FOR J=1 to I-1

PRINT A$(J)

NEXT J

END

  1. Практикум на ПК (Отладка программы, получение результатов).

  2. Решение задач с применением данного алгоритма.

Более сильным учащимся предлагается попытаться придумать свой алгоритм выделения слов в тексте или усовершенствовать предложенный, а остальным – использовать данный алгоритм, как вспомогательный.

Пример одной из программ, реализованных учащимися:

Постановка задачи:

Определить сколько раз встречается заданное слово в строке.

Решение:

INPUT “введи строку “;S$

INPUT “введи заданное слово“;B$

PRINT “исходная строка “;S$

PRINT “заданное слово“;B$

K=0 : N=LEN(S$) : L=0

DIM A$(N)

FOR I=1 TO N

K=K+1

IF MID$(S$,I,1)=” “ THEN L=L+1 : A$(L)=MID$(S$,I-K+1,K-1) : K=0

NEXT I

A$(L+1)=RIGHT$(S$,K)

FOR I=1 TO L+1

IF A$(I)=B$ THEN P=P+1

NEXT I

PRINT “слово “;B$;”встречается в строке “;P;” раз“

END

5. Домашнее задание дифференцированно.

З А Д А Ч И ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ:

1.Вводится строка. Определить на какую букву оканчивается третье слово.

2.Вводится строка. Подсчитать сколько слов начинается с последней буквы первого слова.

3.Вводится строка. Подсчитать сколько слов оканчивается на последнюю букву пер­вого слова.

4.Вводится строка. Подсчитать сколько слов начинается с первой буквы третьего слова.

5.Вводится строка. Подсчитать сколько слов оканчивается на "ова".

6.Вводится строка. Найти в ней самое длинное слово.

7.Вводится строка. Определить количество слов, равных по длине первому слову.

8.Вводится строка. Подсчитать количество букв “д“ в последнем слове.

9.Вводится строка. Найти в ней все слова, начинающиеся с буквы “л”.

10.Вводится строка. Найти в ней первое слово, имеющее заданную длину.

11.Вводится строка. Проверить, все ли слова имеют равную длину.

12.Вводится строка. Определить, сколько раз в ней содержится заданное слово.

13.Вводится строка. Выбрать из слов строки палиндромы (“перевертыши”, как слова КАЗАК, ШАЛАШ и т. п.) и составить из них новую строку.

14.Дан символьный массив. Вывести те из его элементов, которые являются палиндромами.

15.Дан символьный массив. Составить строку из тех его элементов, которые начинаются с заданного символа и длина которых при этом не больше заданного числа.


УРОК 4 (3 часа)

Тема урока: Решение задач с символьными величинами. Практическая контрольная работа.

Цели урока: Закрепить знания учащихся по данной теме, устранить неясности при составлении алгоритмов, программ, отладки их на ПК, проверить и оценить знания учащихся, развивать творческие способности и логическое мышление при составлении алгоритмов, программ.

  1. Проверка домашнего задания и устранение неясностей.

  2. Практикум на компьютере по отладке программ, получение листинга программ, результатов.

  3. Получение задания контрольной работы (по карточкам, дифференцированно).

Перечень задач, предлагаемых на контрольную работу:

1. Определить, сколько раз в тексте встречается буква «а». Если этих букв больше 3, то из исходного текста сформировать текст без пробелов.

2. Если во фразе количество букв «а» больше количества букв «е», то распечатать и расположить слова фразы в алфавитном порядке.

3.Подсчитать, сколько слов в тексте начинается и заканчивается на одну и ту же букву. Если такие слова есть в тексте, то подсчитать сколько букв «а» в тексте.

4. Подсчитать, сколько слов во фразе заканчивается на одинаковые буквы. Напечатать эти буквы и заканчивающиеся на них слова.

5. Подсчитать, сколько слов во фразе начинается на одну и ту же букву. Если количество этих слов четное, то сформировать фразу без пробелов.

6. Подсчитать, сколько слов во фразе начинается и заканчивается на одинаковые буквы. Если такие слова имеются, то определить позиции букв «а» в тексте.

7. Подсчитать, сколько слов в тексте оканчивается на «х». Если таких слов больше одного, то подсчитать количество букв «е» во всей фразе и определить номера их позиций.

8. Подсчитать, сколько гласных букв в каждом слове данного текста. Определить и напечатать слова, длина которых больше 8 символов.

9. В тексте «вычислительная техника и программирование очень интересный предмет» найти слово «интересный» и заменить его на слово «трудный».

10. Выяснить, сколько раз встречается каждая буква алфавита в строке.

11. Выбрать из слов строки палиндромы и составить из них новую строку.

12. В тексте найти слово, в котором встречаются две одинаковые, рядом стоящие, буквы и напечатать его. Сформировать фразу без пробелов.

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

  1. Составление алгоритмов и программ.

  2. Отладка программы на компьютере, получение листинга программ, результатов.




Подайте заявку сейчас на любой интересующий Вас курс переподготовки, чтобы получить диплом со скидкой 50% уже осенью 2017 года.


Выберите специальность, которую Вы хотите получить:

Обучение проходит дистанционно на сайте проекта "Инфоурок".
По итогам обучения слушателям выдаются печатные дипломы установленного образца.

ПЕРЕЙТИ В КАТАЛОГ КУРСОВ

Автор
Дата добавления 14.11.2016
Раздел Информатика
Подраздел Другие методич. материалы
Просмотров118
Номер материала ДБ-350496
Получить свидетельство о публикации
Похожие материалы

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