Практическая работа № 46.
1. Краткие теоретические сведения.
Строковая (литерная) величина — это величина, в качестве значений которой являются тексты. Имя строковой величины обязательно снабжается указателем типа $, а ее значение-текст берется в кавычки (с последним мы уже встречались много раз). Из функций над строковыми величинами широко применяются встроенные функции:
Таблица 1.
Функция |
Назначение |
Пример |
LEN(X$) |
Определяет длину текста |
LEN(“Информатика”)= 11 |
MID$(X$, I, N) |
Делает вырезку из текста I- номер позиции символа в строке N- количество вырезаемых символов |
MID$(“Информатика”, 3, 5)=”форма” |
LEFT$(X$,N) |
Делает вырезку из левого края текста N- количество вырезаемых символов |
LEFT$(“Информатика”, 4)= “Инфо” |
RIGHT$(X$,N) |
Делает вырезку из правого края текста N- количество вырезаемых символов |
RIGHT$(“Среда”, 3)= “еда” |
VAL(X$) |
Преобразует строковую величину в число |
VAL(LEFT$(“2005 год”,4))=2005 |
STR$(X) |
Преобразует числовую величину в строковую |
STR$(25)=”25” |
Операции над строковыми величинами:
1. Операция соединения. Например при выполнении команды PRINT “фут”+ “бол” будет напечатано слово “футбол”.
2. Операции сравнения строковых величин: =, <>, <, >, <=, >=
Например имеют смысл выражения: “A” < ”D”, “Дима” > “Апрель” –оба они истинны.
Пример 1.
10 A$= “АЛГО”
20 F$= “РИТМ”
30 C$= D$+ F$
40 B$= “БИО”+ F$
50 PRINT C$,B$
Пример 2 Составить программу, определяющую, сколько раз в данном тексте встречается заданная буква.
10 REM Подсчет в тексте заданной буквы
20 INPUT "Введите строку текста"; А$
30 INPUT "Какую букву искать?"; С$
40 FOR I = 1 TO LEN(A$)
50 IF MID$(A$, I,1) = C$ THEN S = S + 1
60 NEXT I
70 PRINT "В строке имеется"; S; "букв"; С$
80 END
Пояснения:
В строке 50 делается вырезка i-й буквы строки, и если она совпадает с заданной буквой С$, числовая переменная S (количество заданных букв) увеличивается на 1. Такую проверку проходит каждая буква, начиная с первой и заканчивая последней (ее номер равен количеству символов в слове LEN(A$)).
Пример 3. Составить программу, вычеркивающую из данного слова заданную букву.
10 REM Вычеркивание буквы из слова
20 INPUT "Введите слово"; А$
30 INPUT "Какую букву вычеркивать?";С$
40 FOR I = 1 TO LEN(A$)
50 IF MID$(A$, I, 1)= C$ THEN B$ = B$ + MID$(A$, I, 1)
60 NEXT I
70 PRINT "Полученное слово - "; B$
80 END
Пояснения:
В 50-й строке, внутри цикла (строки 40—60), осуществляется проверка условия: равна ли выделенная буква введенной для вычеркивания.
Функция MID$(A$, I, 1) «вырезает» один символ из строки А$, начиная с первой позиции. И всякий раз, когда условие неравенства соблюдается, формируется новое слово путем склеивания выделенной буквы со значением переменной В$. В результате в слово В$ не войдут буквы, предназначенные для вычеркивания.
2. Задания.
1. Внимательно изучите теоретический материал.
2. Запустите программу c:\QBasic\qbasic.exe.
3. Наберите программу, приведенную в примере 1. Результат выполнения программы запишите в отчет. Сохраните созданный файл под именем pr46_1.bas в папку своей группы.
4. Наберите программу, приведенную в примере 2. Определите сколько раз в тексте «Тольяттинский машиностроительный техникум» встречается буква «и». Результат выполнения программы запишите в отчет. Сохраните файл под именем pr46_2.bas в папку своей группы.
5. Наберите программу примера 3. Получите слово «длина» из слова «долина»..
6. Составьте и исполните программу, которая позволяет составить слова «форма», «норма» и «мотор» из букв имеющихся в слове «информатика». Сохраните файл под именем pr46_4.bas в папку своей группы.
3. Оформление отчета:
1. Переписать таблицу 1, примеры 1, 2 и 3 программ из методического пособия в тетрадь.
2. Выполнить п.п. 2-6 задания.
3. Дать ответы на контрольные вопросы и объяснить их.
4. Контрольные вопросы.
1. Чему равен результат выполнения команды LEN(“программа”)?
2. Какое значение принимает переменная В$ после выполнения команд:
A$=”Программирование”: B$=MID$(A$,4,5) ?
3. Определите значение В$ после выполнения команды:
A$=”Программирование”
В$= LEFT$(A$,2)+ MID$(A$,9,1)+ MID$(A$,7,1)+ RIGHT$(A$,1)+ MID$(A$,5,1)
© ООО «Знанио»
С вами с 2009 года.