Инфоурок Информатика КонспектыФункции символьных величин

Функции символьных величин

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

План-конспект урока информатики в 11 классе

Тема урока: «Функции символьных величин».

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

2.Развивать умения выделять главное в изученном материале,  сравнивать, обобщать, логически излагать свои мысли.

3. Привить интерес к предмету информатики через прикладные программы.

Тип урока:    комбинированный

План урока.

1.      Актуализация знаний.

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

3.      Решение задач.

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

Проверка домашнего задания

ученикам предлагаются следующие вопросы:

1)      Какие величины называются символьными?

2)      Как  обозначаются символьные переменные?

)      Как записываются символьные  константы ?

4)      Какая операция определена для символьных величин?

5)      Какие операторы используют для ввода и вывода символьных величин?

6)      Найдите ошибки в записях символьных величин (если они есть):

А) A$= «информатика»

Б)  CK2= «вычислительная техника»

В)  D$ = компьютер

Г)   64N$ = «algorithm»

7) Если в результате сложения символьных величин получится строка, большая 255 символов, лишние символы будут?

Решение  заданной на дом задачи в тетрадях проверяется в ходе урока.

1.     Актуализация знаний

Многие функции, которые встречаются в языке Бейсик, являются  составной

Частью языка и называются  стандартными функциями. Назовите некоторые из них  (ABS(X),  COS(X),  SIN(X),  SQR(X)  и т. д.) Эти функции являются числовыми и обрабатывают числовые значения.

Для работы с введёнными нами новым типом – символьные величины – тоже есть свои функции. Они называются строковыми (символьными) функциями. Каждая такая функция имеет уникальное имя, по которому происходит обращение к ней. В зависимости от типа результата строковые функции делятся на функции обработки строк и функции преобразования типов данных. В функциях обработки строк и аргумент, и результат являются троками. Аргумент и результат  функции преобразования типов данных, в отличие от аргумента и результата функции обработки строк, представляют собой данные разных типов.

Примечание На данном уроке основное внимание уделяется знакомству с функциями обработки строк ( хотя рассмотрены и функции преобразования типов данных) . В зависимости от уровня подготовки класса может быть рассмотрено  различное число таких функций

.

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

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

Задание.  Подсчитайте длину символьной величины A$ =” Информатика изучает технологию сбора, хранения и переработки информации.”

Обратите внимание! Считаются не только буквы, но и пробелы, знаки

препинания, кроме кавычек.

Трудоёмкую работу по определению длины текста в Бейсике выполняет функция LEN(X$) ( от анг. LENgth – длина), которая находит длину символьной величины X$. Аргументом функции LEN должна быть символьная величина. Результатом является целое число, заключённое между 0 и 255.

LEN ( “SOS”) = 3

LEN (“ ***** “ ) = 5

LEN (“ ”) = 0

В результате выполнения фрагмента программы

P$ = “ эта фраза в настоящем времени “

PRINT “ длина = “; LEN(P$)

На экран будет выведено сообщение о длине цепочки P$, равной 29.

Вопрос.  Может ли быть результатом функции LEN число 325 ? .( Нет, так как символьные величины – это строки длиной до 255 символов)

Одна из основных операций, необходимая для анализа текста, - выделение какой-либо его части. Выполнить эту операцию позволяет функция MID$  ( от англ. MIDdle – середина). Её результатом является символьные строки, поэтому имя этой функции всегда сопровождается знаком  $ . Функция MID$(X$,N,M) вырезает подстроку длиной в M символов из строки X$,   начиная с символа с номером N. Эта функция может находится, как справа , так и слева от знака равенства и в зависимости от своего положения выполнять различные действия:

1.      Функция MID$ справа  от знака равенства.

Формат:

MID$ ( A$, N , [ M ] ) = B$

При выполнении этой команды последовательные символы строки A$ начиная с позиции N замещаются на первые M  символов  строки B$. Остальные символы в A$ остаются без изменения . [M] – необязательный параметр.

Рассмотрим фрагмент программы:

X$ = “ 123456789”

INPUT Y$, N, M

MID$ ( X$, N, M ) = Y$

PRINT X$

В результате его выполнения при вводе LL, 5,3 на экран выводится 1234LL7890. Если ввести КРОКОДИЛ, 7,4 то на экран выводится  строка 123456КРОК.

Примечание. Такое расположение функции MID$ применяется достаточно редко.

Функция MID$ слева от знака равенства.

Формат:

B$ = MID ( A$, N, [ M ] )

При выполнение этой команды, переменной B$  присваивается значение, представляющее собой M  последовательных символов величины A$?  Первый из которых ,занимает позицию N

MID$( “мишка”, 2 , 3 ) = “ ишк “

 Если M  не указано или количество символов в строке  справа от символов N меньше, чем M, то выделяется строка с номером  N  до конца текста:

MID ( “ паровоз “, 5 ) = “ воз”

Если значение M равно 0 или значение N  превышает длину строки, то результатом будет пустая строка.

А) MID$ ( “ “, 2, 3 ) = “ ‘

Б) MID$ ( “ ЭВМ”, 5, 3 ) = “ “

В)    INPUT X$, M

         Y$ = MID$( X$, M )

          PRINT Y$

В результате выполнения последнего фрагмента при вводе 1234567890, 5 на экран выводится 567890 ( т.е  переменная Y$ принимает значение, равное  567890).

Кроме функций LEN и MID  в разных версиях Бейсика  имеются  несколько  десятков других  функций, две основные из которых STRING$( N,M) и INSTR( N, X$, Y$ ).

Функция STRING( N, M ) создаёт строку из N  одинаковых символов, равных первому символу строки X$ .

STRING $( 20, “ * ” )= “********************”

STRING $( 5, “ ПРИВЕТ” ) = “ППППП

STRING $( 4,61 ) = “ ----“

STRING $(0, “B” ) = “ “

STRING $( N, “ “ ) более просто записывается как SPACE$(N)  ( англ. SPACE – пробел ) и изображает N  пробелов. Данная функция может быть полезна при  построении диаграмм в текстовом режиме.

Функция INSTR ( [N ], X$, Y$ ) (  от англ. Inspect STRing – просмотреть строку ) производит поиск первого вхождения подстроки Y$ в строку X$  начиная с N –го символа строки X$ . Если не задано, поиск выполняется с первого символа. Значением функции является целое число – номер позиции  начала вхождения ( 0 – если строка не найдена, N – если Y$  пустая ).

INSTR ( 3, “ Иван Иванович “,  “ Иван “) =8

INSTR ( “ Иванов Иван Иванович “, “ Иван “ ) =1

4 Решение задач

Задача 1. Замените в предложении восклицательный знак  на вопросительный.

Решение.

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

Используемые величины:

A$  -вводимый текст;

N -  длина вводимого текста;

B$  - вырезаемый из текста символ;

I  - номер вырезаемого символа;

C$  - текст, в котором «!» заменён «?».

Из вводимого текста A$  вырезается по одному символу B$ и проверяется условие: если B$ = “!”, то C$ =C$ + “?” ,  иначе  C$ = C$ + B$.

INPUT A$

N = LEN ( A$ )

C$ = “”

FOR I = 1  TO  N

B$ = MID ( A$, I, 1 )

IF  B$ = “ ! “  THEN  C$ = C$  +  “?”  ELSE  C$ = C$  +  B$

NEXT  I

PRINT  C$

END

Вопрос.  Обязательно ли использовать при решении величину  N? Почему ?

Задача 2 .  Дан текст. Определить содержит ли он символы  «*».

Решение.

Примечание.  Эту задачу ученики решают самостоятельно после  просмотра  задачи №1 в TurboBASIC  и,  используя алгоритм задачи №1 решают и отлаживают задачу №2.

Используемые величины те же, что  и в задаче 1.

Из текста  A$ вырезается по одному символу B$  и проверяется условие B$ =  “*” . Если оно выполняется, то просмотр заканчивается и выводится «ДА», иначе  просмотр продолжается; если достигнут конец текста и искомый символ не найден, выводится «НЕТ».

INPUT A$

N = LEN ( A$ )

FOR  I = 1  TO  N

B$  =  MID$ ( A$ , I , 1 )

IF  B$ = “ * “   THEN   PRINT “ДА” ELSE PRINT “НЕТ

NEXT  I

      END

Вопрос.  Что изменится в решении, если находить нужно  не «*» , а  «**» ? «+++» ?

 

 

 

 

 

 

 

Для самостоятельного  решения предлагаются следующие задачи:

               1.  Написать программу, выдающую номер позиции заданной строки, в которой в пятый раз встречается буква «w», и соответствующее сообщение, если эта буква встречается в строке менее 5 раз.

    PRINT “Определение номера позиции, в которой встречается пятая буква w

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

    K=0

    J=LEN(S$)

     FOR  I=1   TO  J

     IF  MID$(S$, I, 1 )=”w’   THEN   K=K+1

         IF   K=5   THEN  1

     NEXT  I

     PRINT  “В данной строке буква w встречается меньше пяти раз “

1   PRINT “Пятая буква w встречается в “; I ; “-й позиции”

     END

            2.  Написать программу получения из заданной строки новой строки путём удаления всех символов «*» и повторения каждого символа, отличного от «*», дважды.

PRINT “ Получение строки без звёздочек “

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

H$=” “

FOR    I=1   TO     LEN(S$)

IF   MID$(S$, I, 1 )<>  “*”   THEN   H$=H$+MID$(S$, I, 1 ) + MID$(S$, I, 1 )

NEXT  I

PRINT  H$

END

            3.  Написать программу подсчёта в заданной строке отдельно количества символов «a» , «b».

PRINT “Подсчёт количества символов a  и   b  в строке”

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

A=0   :    B=0

J= LEN(S$)

FOR   I=1    TO   J

IF   MID$(S$, I, 1 )= “a “    THEN      A=A+1

IF    MID$(S$, I, 1 )= “b “    THEN    B=B+1

NEXT  I

PRINT  “Буква a  встречается в строке “; A ; “ раз(а)”

PRINT  “Буква b  встречается в строке “; B ; “ раз(а)”

END

        4.  Написать программу получения из заданной строки новой строки путём замены всех символов «1», «а».

PRINT “Замена в строке цифры 1 на букву  а  “

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

H$=” “

FOR   I=1    TO   LEN(S$)

X$= MID$(S$, I, 1 )

IF    X$=”1”    THEN   H$=H$+ “ a “    ELSE    H$=H$ + X$

NEXT  I

PRINT  H$

END

 

 

 

 

 

 

 

 

 

 

 

 

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

Задача №1. Написать программу, проверяющую является ли заданное слово

палиндромом ( казак, шалаш, мадам).

   PRINT “Проверка на палиндром”

   INPUT “Введите слово, состоящее из прописных букв:”; S$

   L=LEN(S$)

   M=INT (L/2)

   FOR   I=1   TO    M

   K$=MID$(S$, I, 1 )

   D$=MID$(S$, L-I+1, 1)

   IF   K$<>D$   THEN  N$= “не”   GOTO   1

   NEXT    I

   N$=” “

1     PRINT  “Слово”;  S$;   “-“;  N$; “ палиндром

   END

           Задача №2. Написать программу, которая печатает буквы заданного слова в обратном порядке.

PRINT “Печать букв слова в обратном порядке”

INPUT “Введите слово:”; S$

C=LEN(S$)

FOR  R=C    TO   1   STEP  -1

PRINT   MID$( S$,R, 1) ;

NEXT  R

END

 

Просмотрено: 0%
Просмотрено: 0%
Скачать материал
Скачать материал "Функции символьных величин"

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

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

Психолог-перинатолог

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

Интернет-маркетолог

за 6 месяцев

Пройти курс

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

Скачать

Краткое описание документа:

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

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

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

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

6 672 405 материалов в базе

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

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

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

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

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

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

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

    Мальцева Ольга Николаевна
    Мальцева Ольга Николаевна
    • На сайте: 9 лет и 4 месяца
    • Подписчики: 0
    • Всего просмотров: 15772
    • Всего материалов: 15

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

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

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

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

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

500/1000 ч.

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

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

Методика преподавания информатики в начальных классах

72 ч. — 180 ч.

от 2200 руб. от 1100 руб.
Подать заявку О курсе
  • Этот курс уже прошли 67 человек

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

Информатика: теория и методика преподавания в образовательной организации

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

300/600 ч.

от 7900 руб. от 3650 руб.
Подать заявку О курсе
  • Сейчас обучается 496 человек из 73 регионов
  • Этот курс уже прошли 1 534 человека

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

Особенности подготовки к сдаче ЕГЭ по информатике и ИКТ в условиях реализации ФГОС СОО

36 ч. — 180 ч.

от 1700 руб. от 850 руб.
Подать заявку О курсе
  • Сейчас обучается 106 человек из 40 регионов
  • Этот курс уже прошли 582 человека

Мини-курс

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

4 ч.

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

Мини-курс

Создание контента и заработок в онлайн среде: регулирование, продвижение и монетизация

4 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 247 человек из 62 регионов
  • Этот курс уже прошли 71 человек

Мини-курс

Адаптация и расстройства: понимание, преодоление, развитие

10 ч.

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