ДЕПАРТАМЕНТ ОБРАЗОВАНИЯ ГОРОДА МОСКВЫ

advertisement
ДЕПАРТАМЕНТ ОБРАЗОВАНИЯ ГОРОДА МОСКВЫ
ЮЖНОЕ ОКРУЖНОЕ УПРАВЛЕНИЕ ОБРАЗОВАНИЯ
Государственное образовательное учреждение гимназия № 1526
УТВЕРЖДАЮ
Директор Гимназия № 1526
_____________ /Т.Г. Болдина/
«___»_____________2007 г.
РЕКЛАМНО-ТЕХНИЧЕСКОЕ ОПИСАНИЕ
Типовые задачи на Бейсике.
Символьные переменные и функции
.32453246.00088-01 99 01
Листов 12
Разработчики:
__________/ Габелкова Е.В./
20.02.2007
Мм<пусто>
Москва
2007
2
.32453246.00088-01 99 01
1. Функциональное назначение разработки:
Данная разработка рассчитана на следующие уровни образования: основное общее
образование, среднее (полное) общее образование, начальное профессиональное образование,
дополнительное образование. В учебно-методическом пособии представлены 20 типовых
задач по теме «Обработка текстовых переменных» и дана теоретическая часть с примерами.
Учебный материал закрепляется
35 задачами для самостоятельной работы. Учебно-
методическое пособие предназначено для дистанционного обучения
учащихся Гимназии
№1526 г. Москвы.
2. Символьные переменные и функции
В числовых алгоритмах трудно обойтись без переменных, принимающих различные
числовые значения. Для работы со словами тоже нужны переменные. Это такие же ящики,
только хранятся в них не числа, а слова – значения символьных переменных. В Бейсике
символьную переменную можно обозначить так же, как и числовую, латинской буквой или
буквой и цифрой. Чтобы не путать имя числовой переменной и символьной, в конце имени
символьной переменной ставится знак $ (А$, В1$). Чтобы переменная А$ получила значение
ХОЛОДНО надо применить команду присваивания: А$=”ХОЛОДНО”.
Текстовой константой называется последовательность символов, заключенная в
кавычки.
Функция
Соединение слов в Бейсике
обозначается знаком «+».
Количество символов в строке
LEN(A$)
Пример
В$=”радио”+”приемник”
Результат
Радиоприемник
С$=”12”+”3”
123
LEN(“МИР”)
3
Выделение подстроки (части
слова)
MID$ (А$,I,K)
А$ - исходная строка
I – с какого символа выделять
К – сколько символов выделять
Е$=MID$(“КОЛЕСО”,3,3)
ЛЕС
3
.32453246.00088-01 99 01
Левая часть строки
LEFT$(A$,K)
Правая часть строки
RIGHT$(A$,K)
Выделение числа из строки
VAL(A$)
D$=LEFT$(“КОЛЕСО”,3)
КОЛ
B$=RIGHT(”КОЛЕСО”,3)
ЕСО
VAL(“r12nm”)
12
INSTR(“КОЛЕСО”,”О”)
2
INKEY$
A
Место первого вхождения
подстроки в строке
INSTR(A$,B$)
Символ нажатой клавиши
INKEY$
Машинный код символа
ASC(“…”)
Указание символа по коду
CHR$(N)
ASC(“A”)
193
CHR$(193)
A
Решение типовых задач по теме
«Обработка символьных переменных»
1. Дана символьная фраза (Международный женский день - 8 Марта). Разбить ее на
отдельные слова и вывести их на экран в столбик. Выделить числовой символ и
перевести его из символьного в числовой формат.
Cls
a$= «Международный женский день - 8 Марта»
print left$ (a$,13)
print mid$ (a$,15,7)
print mid$ (a$,23,4)
print mid$ (a$,28,1)
print mid$ (a$,30,1)
print mid$ (a$,32,5)
b$=mid$ (a$30,1)
4
.32453246.00088-01 99 01
print val(b$)
end
2. Дана символьная фраза (Международный женский день - 8 Марта). Записать слова в
фразе в обратном порядке.
Cls
a$= «Международный женский день - 8 Марта»
print mid$ (a$,32,5)+ « »+ mid$ (a$,30,1)+ « »+ mid$ (a$,28,1)+« »+ mid$ (a$,23,4)+
« »+ mid$ (a$,15,7)+« »+ left$ (a$,13)
end
3. Дана символьная фраза (Международный день - 8 Марта). Вставить слово в середину
фразы по смыслу (женский).
Cls
a$= «Международный день - 8 Марта»
print left$(a$,13)+ «женский»+ right$(a$,15)
end
4. Дана символьная фраза (Международный женский день - 8 Марта). Удалить слово из
середины фразы по смыслу (женский).
Cls
a$= «Международный женский день - 8 Марта»
print left$(a$,13)+ right$(a$,15)
end
5. Дана символьная фраза (Международный женский день - 8 Марта). Подсчитать
количество пробелов в этой фразе.
Cls
a$= «Международный женский день - 8 Марта»
5
.32453246.00088-01 99 01
for i=1 to len(a$)
if mid$(a$,i,1)= « » then k=k+1
next i
print «В исходной фразе»;к; «пробелов»
end
6. Дана произвольная символьная фраза (вводится с экрана). Подсчитать количество
пробелов в этой фразе.
Cls
input «Введите фразу »,a$
for i=1 to len(a$)
if mid$(a$,i,1)= « » then k=k+1
next i
print «В исходной фразе»;к; «пробелов»
end
7. Дана произвольная символьная фраза (вводится с экрана). Подсчитать количество
повторений буквы «П» в этой фразе.
Cls
input «Введите фразу »,a$
for i=1 to len(a$)
if mid$(a$,i,1)= «П» then k=k+1
next i
print «В исходной фразе»;к; «повторений буквы П»
end
8. Подсчитать число вхождений в текст (вводится с клавиатуры) заданного символа,
вводимого с клавиатуры.
Cls
input «Введите фразу »,a$
6
.32453246.00088-01 99 01
input «Введите какой символ надо искать »,b$
for i=1 to len(a$)
if mid$(a$,i,1)= b$ then k=k+1
next i
print «В исходной фразе»;к; «раз встречается символ»;b$
end
9. Дана произвольная символьная фраза (вводится с экрана). Запрашивается с экрана
какое слово надо найти в этой фразе. Подсчитать количество повторений этого слова в
этой фразе.
Cls
input «Введите фразу »,a$
input «Количество какое слово искать »,В$
for i=1 to len(a$)
if mid$(a$,i,len(B$))= В$ then k=k+1
next i
print «В исходной фразе»;к; «повторений слова »; В$
end
10. Дана произвольная символьная фраза (вводится с экрана). Разбить ее на отдельные
слова и записать их в столбик.
Cls
input «Введите фразу »,a$
m=1
for i=1 to len(a$)
if mid$(a$,i,1)= « » then dl=i-m: print mid$(a$,m,dl):m=i+1
next i
end
11. Задано произвольное число (вводится с экрана). Подсчитать сумму цифр этого числа.
Cls
input «Введите число »,a$
7
.32453246.00088-01 99 01
for i=1 to len(a$)
b$=mid$(a$,i,1)
s=s+val(b$)
next i
print «Сумма цифр числа равна:»;s
end
12. Задано произвольное число (вводится с экрана). Подсчитать среднее арифметическое
значение цифр этого числа.
Cls
input «Введите число »,a$
for i=1 to len(a$)
b$=mid$(a$,i,1)
s=s+val(b$)
next i
sred=sred/len(a$)
print «Среднее арифметическое цифр этого числа равно:»;sred
end
13. Составить программу, которая определяет счастливое или не счастливое число и
выводит соответствующее сообщение на экран (число считается «счастливым», если
сумма цифр первой половины числа равна сумме цифр второй половины, при этом
количество цифр в числе четное) Число вводится с клавиатуры.
Cls
input «Введите число с четным количеством цифр»,a$
for i=1 to len(a$)/2
b$=mid$(a$,i,1)
s1=s1+val(b$)
next i
for i=len(a$)/2 to len(a$)
b$=mid$(a$,i,1)
s2=s2+val(b$)
8
.32453246.00088-01 99 01
next i
if s1=s2 then print «число счастливое» else print «число несчастливое»
end
14. Дана произвольная символьная фраза (вводится с экрана). Подсчитать количество
слов в этой фразе. Между словами только один пробел.
Cls
input «Введите фразу »,a$
for i=1 to len(a$)
if mid$(a$,i,1)= « » then k=k+1
next i
print «В исходной фразе»;к+1; «слов»
end
15. Заменить в тексте, который вводится с экрана, точку на «!»
Cls
input «Введите фразу »,a$
for i=1 to len(a$)
if mid$(a$,i,1)= «.» then mid$(a$,i,1)= «!»
next i
print а$
end
16. Напечатать первое и последнее слово в произвольной фразе, которая вводится с
клавиатуры.
Cls
input «Введите фразу »,a$
9
.32453246.00088-01 99 01
i=1
1 if mid$(a$,i,1)= « » then goto 2
i=i+1
goto 1
2 print «Первое слово:»; left$(a$,i-1)
i=len(a$)
3 if mid$(a$,i,1)= « » then goto 4
i=i-1
goto3
4 n=len(a$)-i
print «Последнее слово:»; right$(a$,n)
end
17. Дано произвольное слово (вводится с экрана). Определить, является ли заданное слово
«палиндромом» («перевертышем»). Слово считается «перевертышем», если совпадает с
собой после переворачивания.
1 способ
Cls
input «Введите слово »,a$
k=0
dl=len(a$)
for i=1 to len(a$)/2
if mid$ (a$,i,1)<> mid$ (a$,dl-i+1,1) then k=1
next i
if k=0 then print «слово – палиндром» else print «слово не является палиндромом»
end
2 способ
Cls
input «Введите слово »,a$
10
.32453246.00088-01 99 01
for i=1 to len(a$)
b$=mid$(a$,I,1)+b$
next i
if a$=b$ then print “слово – палиндром” else print “слово не является палиндромом”
end
18. Дана произвольная символьная фраза (вводится с экрана). Одно заданное слово
(вводится с экрана) заменить на другое заданное слово (вводится с экрана) такой же
длины.
Cls
input «Введите фразу »,a$
input «Какое слово заменить »,в$
input «На какое слово заменить (такой же длины) »,с$
dl=len (b$)
for i=1 to len(a$)-dl+1
if mid$ (a$,i,dl)=b$ then mid$ (a$,i,dl)=c$ : i=i+dl
next i
19. Написать программу, которая рисует линии по нажатию клавиш (П - вправо, Л –
влево, В – вверх, Н – низ, С – стоп).
Cls
Screen 12
x=320
y=240
C$=” ”
1 if C$=”c” then goto 2
Pset (x,y),4
11
.32453246.00088-01 99 01
if C$=”л” then x=x-1
if C$=”п” then x=x+1
if C$=”в” then y=y-1
if C$=”н” then y=y+1
goto 1
2 end
Задачи для самостоятельного решения
1. Из слова КОЛОНИЗАЦИЯ составить как можно больше слов.
2. Дана произвольная символьная фраза (вводится с экрана). Вывести фразу в обратном
порядке (например: не надо - одан ен).
3. Дана символьная фраза (На улице светит солнце). Подсчитать количество повторений буквы
«И» в этой фразе.
4. Дана произвольная символьная фраза (вводится с экрана). Подсчитать количество
повторений буквы «И» в этой фразе.
5. Дана произвольная символьная фраза (вводится с экрана). Сравнить количество повторений
буквы «И» и «Е» в этой фразе.
6. Дана произвольная символьная фраза (вводится с экрана). Подсчитать общее количество
букв «И» и «Е» в этой фразе.
7. Дана произвольная символьная фраза (вводится с экрана).
Вывести номер позиции, в
которой первый раз встречается буква «Б». Если такой буквы нет, то выдать об этом
сообщение.
8. Дана произвольная символьная фраза (вводится с экрана). Запрашивается с экрана какой
символ надо найти в этой фразе. Вывести номер позиции, в которой первый раз встречается
этот символ. Если такого символа нет, то выдать об этом сообщение.
9. Дана произвольная символьная фраза (вводится с экрана). Запрашивается с экрана какое
слово надо найти в этой фразе. Вывести номер позиции, в которой первый раз встречается
это слово. Если такого слова нет, то выдать об этом сообщение.
10. Подсчитать сумму цифр числа 99993939387.
11. Дано произвольное число (вводится с экрана). Подсчитать количество повторений цифры 5
в этом числе.
12. Подсчитать произведение цифр числа 243516.
12
.32453246.00088-01 99 01
13. Задано произвольное число (вводится с экрана). Подсчитать произведение цифр этого
числа.
14. Дана произвольная символьная фраза (вводится с экрана). Подсчитать количество слов в
этой фразе. Между словами любое количество пробелов.
15. Заменить в тексте, который вводится с экрана, букву «а» на «о»
16. Дана произвольная символьная фраза (вводится с экрана). Разделить все слова запятыми.
17. Дана произвольная символьная фраза (вводится с экрана). Убрать в ней все пробелы.
18. Подсчитать количество предложений в заданном тексте (предложение заканчивается либо
точкой, либо восклицательным знаком, либо вопросительным знаком).
19. Написать программу, которая рисует линии по нажатию клавиш (П - вправо, Л – влево, В –
вверх, Н – низ, Ц – влево и вверх, Ч – влево и вниз, Г – вправо и вверх, Т вправо и вниз, С –
стоп).
Download