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

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

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

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

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

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

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

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

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

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

План-конспект урока информатики в 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



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


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

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

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

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

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

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

Автор
Дата добавления 28.05.2015
Раздел Информатика
Подраздел Конспекты
Просмотров318
Номер материала 294411
Получить свидетельство о публикации
Похожие материалы

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