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

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

Скачать материал

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

 

 

 

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

 

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

 

 

 

 

 

 

 

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

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

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

                                                                        СОШ №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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

            

 

 

 

 

                      Вопрос

                      Ответ

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$

 

 

 

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

     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

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

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

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

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

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

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

Решение:

               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. Распечатать предложения текста в порядке возрастания их длин. Длиной будем называть количество символов в предложении.

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

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

 

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

Методические разработки к Вашему уроку:

Получите новую специальность за 3 месяца

Специалист органа опеки

Получите профессию

Менеджер по туризму

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 625 167 материалов в базе

Скачать материал

Другие материалы

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 14.11.2016 1295
    • DOCX 116 кбайт
    • Оцените материал:
  • Настоящий материал опубликован пользователем Рыжих Ольга Владимировна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    Рыжих Ольга Владимировна
    Рыжих Ольга Владимировна
    • На сайте: 7 лет и 5 месяцев
    • Подписчики: 0
    • Всего просмотров: 69940
    • Всего материалов: 5

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой

Курс профессиональной переподготовки

Менеджер по туризму

Менеджер по туризму

500/1000 ч.

Подать заявку О курсе

Курс повышения квалификации

Организация преподавания информационных систем и технологий в профессиональном образовании

36 ч. — 180 ч.

от 1700 руб. от 850 руб.
Подать заявку О курсе
  • Сейчас обучается 31 человек из 19 регионов

Курс профессиональной переподготовки

Информатика: теория и методика преподавания с применением дистанционных технологий

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

300 ч. — 1200 ч.

от 7900 руб. от 3950 руб.
Подать заявку О курсе

Курс повышения квалификации

Использование нейросетей в учебной и научной работе: ChatGPT, DALL-E 2, Midjourney

36/72 ч.

от 1700 руб. от 850 руб.
Подать заявку О курсе
  • Сейчас обучается 561 человек из 73 регионов

Мини-курс

Реклама для роста бизнеса: эффективные стратегии и инструменты

6 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 33 человека из 18 регионов

Мини-курс

Детское развитие: ключевые моменты взаимодействия с детьми и подростками

3 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 82 человека из 43 регионов

Мини-курс

Методики воспитания и развитие в СПО

4 ч.

780 руб. 390 руб.
Подать заявку О курсе