меню 2.задачи 1 уровня(без разбивки на слова) 4.задачи 2 уровня( разбивка на слова) 3.контрольная 1 5.контрольная 2 6.дополнительные задачи а)задача на числа б)задача на шифровку 7.конец 1.теория
Символьные переменные Переменные,значениями которых являются строки символов,- символьные или строковые переменные Основные функции символьных переменных языка Бейсик меню 1.ASC(x$) переводит двоичный код символа в десятичное число 2.Len(x$) находит длину символьной переменной, включая пробелы. 3.MID$(x$,y,z) выдает последовательность Z символов из строки X$, с позиции Y 4.STR$(x) преобразует значение X из числовой формы в символьную. 5.CHR$(x) преобразует код в символ 6.LEFT$(a$,n) выделяет N символов слева из строки а$ 7.RIGHT$(a$,n) выделяет N символов справа из строки а$ 1.ASC(x$) переводит двоичный код символа в десятичное число 2.Len(x$) находит длину символьной переменной, включая пробелы. 3.MID$(x$,y,z) выдает последовательность Z символов из строки X$, с позиции Y 4.STR$(x) преобразует значение X из числовой формы в символьную. 5.CHR$(x) преобразует код в символ 6.LEFT$(a$,n) выделяет N символов слева из строки а$ 7.RIGHT$(a$,n) выделяет N символов справа из строки а$
Задача 1 подсчитать сколько раз встречается буква а среди символов данной строки Введите строку;a$ K=2 B$=«a» k L=len(a$) K=k+1 меню I=1 to l B$=mid$(a$,i,1) Вырезка по одной букве Rem подсчет количества букв cls input введите строку;a$ l=len(a$) for i= 1 to l b$=mid$(a$,i,1) if b$=a then k=k+1 next i printбукв а;k end программа
Задача 2 составить программу,которая переворачивает слово задом наперед Введите строку;a$ K=2 C$ C$=C$+B$ меню I=L to 1 step -1 B$=mid$(a$,i,1) Вырезка по одной букве от конца к началу программа C$=«» собака L=6 I=6 B$=«a» C$=«a» I=5 B$=«к» C$=«aк» I=4 B$=«а С$=ака L=len(a$)I=3 B$=«б C$=«акаб I=2 B$=«o» C$=«акабо I=1 B$=«c» C$=«абакос конец Rem cls c$= input введите строку;a$ l=len(a$) for i= l to 1 step -1 b$=mid$(a$,i,1) c$=c$+b$ next i print c$ end
Задача 3 заменить букву а на букву б во введенной с экрана строке Введите строку;a$ K=2 B$=«a» H$ L=len(a$) :H$=«» H$=H$+B$ меню I=1 to l B$=mid$(a$,i,1) Вырезка по одной букве программа H$=H$+б макакамакака м H$ м а б к к а б к к а б Rem замена одной буквы на другую cls H$= inputвведите строку;a$ l=len(a$) for i= 1 to L B$=mid$(A$,i,1) if b$=a then H$=H$+б else H$=H$+B$ end if next i print H$ end
Задача 4 заменить сочетание абра на сочетание мен во введенной с экрана строке Введите строку;a$ K=2 B$=«aбра» H$ L=len(a$) :H$=«» H$=H$+С$ меню I=1 to l B$=mid$(a$,i,4) Вырезка по четыре буквы программа H$=H$+мен абракадабра абра H$ мен када адабдабрабра менкад С$=mid$(a$,i,1) А$ Rem замена сочетаний букв на другую cls H$= inputвведите строку;a$ l=len(a$) for i= 1 to L B$=mid$(A$,i,4) с$= mid$(A$,i,1) if b$=aбра then H$=H$+мен i=i+3 else H$=H$+С$ end if next i print H$ end H$=H$+мен I=I+3
Задача 5 заменить сочетание мен на сочетание абра во введенной с экрана строке Введите строку;a$ K=2 B$=«мен» H$ L=len(a$) :H$=«» H$=H$+С$ меню I=1 to l B$=mid$(a$,i,3) Вырезка по три буквы программа сменамен сме H$ с менамемен абраа С$=mid$(a$,i,1) А$ H$=H$+абра I=I+2 Rem замена сочетаний букв на другую cls H$= inputвведите строку;a$ l=len(a$) for i= 1 to L B$=mid$(A$,i,3) с$= mid$(A$,i,1) if b$=мен then H$=H$+абра i=i+2 else H$=H$+С$ end if next i print H$ end
Контрольная работа 1 меню
Задача 1 Словом считается набор символов, разделенных одним или несколькими пробелами. Распечатать все слова во введенной строке. Введите строку;a$ K=2 C$=« » and B$« » H$ L=len(a$) меню I=1 to l B$=mid$(a$,I+1,1) программа _Я_ _хочу_спать_ С$=mid$(a$,i,1) А$ Nach=I+1 B$=« » and C$« » Kon=I H$=mid$(a$,nach,kon-nach+1) конец A$=_ +a$+_ i C$B$ _ Я nach 1 2 kon H$ 2 я _ 2 я 3 __ 4 _ х 5 6чо7ч у 8 у_ 8 хочу 9 _ с 10 с п13ть14ь _ спать Rem печать слов inputвведите cтроку;a$ a$= +a$+ l=len(a$) for i= 1 to l b$=mid$(a$,i,1) c$=mid$(a$,i+1,1) if b$= and c$ then nach=i+1 if b$ and c$= then kon=i H$=mid$(a$, nach, kon-nach+1):print H$ end if next i end
Задача 2 Словом считается набор символов, разделенных одним или несколькими пробелами. Определить наибольшую длину слова в строке. Введите строку;a$ K=2 C$=« » and B$« » L=len(a$) :мах=0 меню I=1 to l B$=mid$(a$,I+1,1) программа С$=mid$(a$,i,1) Nach=I+1 B$=« » and C$« » Kon=I H$=mid$(a$,nach,kon-nach+1) A$=_ +a$+_ длина L1=len(H$) L1>max Max=L1 max Rem самое длинное слово inputвведите cтроку;a$ a$= +a$+ l=len(a$):max=0 for i= 1 to l b$=mid$(a$,i,1) c$=mid$(a$,i+1,1) if b$= and c$ then nach=i+1 if b$ and c$= then kon=i H$=mid$(a$, nach, kon-nach+1) gosub длина end if next i print max end длина: L1=len(H$) if L1>max then max=L1 return
Задача 3 Словом считается набор символов, разделенных одним или несколькими пробелами. Определить количество слов, оканчивающихся на ко. Введите строку;a$ K=2 C$=« » and B$« » L=len(a$) :мах=0 меню I=1 to l B$=mid$(a$,I+1,1) программа С$=mid$(a$,i,1) Nach=I+1 B$=« » and C$« » Kon=I H$=mid$(a$,nach,kon-nach+1) A$=_ +a$+_ количество Right$(H$,2)=ko K=k+1 k Rem слово на ко inputвведите cтроку;a$ a$= +a$+ l=len(a$): k=0 for i= 1 to l b$=mid$(a$,i,1) c$=mid$(a$,i+1,1) if b$= and c$ then nach=i+1 if b$ and c$= then kon=i H$=mid$(a$, nach, kon-nach+1) gosub количество end if next i print k end количество: if right(H$,2)=ok then k=k+1 return
Задача 4 Словом считается набор символов, разделенных одним или несколькими пробелами. Распечатать самое короткое слово,начинающееся на к. если таких слов нет,дать соответствующее сообщение. Введите строку;a$ K=2 C$=« » and B$« » L=len(a$) :max=-0 меню I=1 to l B$=mid$(a$,I+1,1) программа запуск С$=mid$(a$,i,1) Nach=I+1 B$=« » and C$« » Kon=I H$=mid$(a$,nach,kon-nach+1) A$=_ +a$+_ schet M$ end schet Left$(H$,1)=«k» and L1>max L1=len(H$) Max=L1 M$=H$ F=1 нет F=1 Rem слово на к inputвведите cтроку;a$ a$= +a$+ l=len(a$):max=0 for i= 1 to l b$=mid$(a$,i,1) c$=mid$(a$,i+1,1) if b$= and c$ then nach=i+1 if b$ and c$= then kon=i H$=mid$(a$, nach, kon-nach+1) gosub schet end if next i if f=1 then print M$ else print таких слов нет end schet: if left$(H$,1)=k and L1> max then max=L1:M$=H$:f=1 return
Задача 5 Словом считается набор символов, разделенных одним или несколькими пробелами. Распечатать строку,удалив из нее все симметричные слова, если таких слов нет,дать соответствующее сообщение. Введите строку;a$ K=2 C$=« » and B$« » L=len(a$) :=-0 меню I=1 to l B$=mid$(a$,I+1,1) программа запуск С$=mid$(a$,i,1) Nach=I+1 B$=« » and C$« » Kon=I H$=mid$(a$,nach,kon-nach+1) A$=_ +a$+_ polindrom A$ end polindrom L1=len(H$):m$=«» I=I-L1 F=1 нет F=1 K=L1 to 1 step-1 R$=mid$(H$,k,1) M$=M$+R$ H$=M$ A$=left(A$,nach-1)+right$(A$,L-kon) Rem повторяющиеся символы inputвведите cтроку;a$ a$= +a$+ l=len(a$) for i= 1 to l b$=mid$(a$,i,1) c$=mid$(a$,i+1,1) if b$= and c$ then nach=i+1 if b$ and c$= then kon=i H$=mid$(a$, nach, kon-nach+1) gosub polindrom end if next i if f=1 then print A$ else print таких слов нет end polindrom: L1=len(H$):M$=«» for k= L1 to 1 step -1 R$=mid$(H$,k,1) M$=R$+M$ next k if M$=H$ then F=1:a$=left$(A$,nach-1)+right$(A$,L-kon):L=L-L1 return Выделение слов переворот вырезка
H$ D=0 R$=mid$(H$,t,1) T=k to L1 Задача 6 Словом считается набор символов, разделенных одним или несколькими пробелами. Распечатать строку,удалив из нее все слова,содержащие повторяющиеся символы, если таких слов нет,дать соответствующее сообщение. Введите строку;a$ K=2 C$=« » and B$« » L=len(a$) :=-0 меню I=1 to l B$=mid$(a$,I+1,1) программа запуск С$=mid$(a$,i,1) Nach=I+1 B$=« » and C$« » Kon=I H$=mid$(a$,nach,kon-nach+1) A$=_ +a$+_ повтор end повтор L1=len(H$):d=0 D=1 F=1 нет F=1 K=1 to L1 R$=mid$(H$,k,1) D=0 H$ R$=mid$(H$,t,1) Выделение слов Сравнение каждой буквы с последующими Rem вырезка симметричных слов inputвведите cтроку;a$ a$= +a$+ l=len(a$) for i= 1 to l b$=mid$(a$,i,1) c$=mid$(a$,i+1,1) if b$= and c$ then nach=i+1 if b$ and c$= then kon=i H$=mid$(a$, nach, kon-nach+1) gosub повтор end if next i if f=1 then print A$ else print таких слов нет end повтор: L1=len(H$):d=0 for k= 1 to L1 m$=mid$(H$,k,1) for t=k to L1 if m$=mid$(h$,t,1) then d=1 next t next k if d=0 then F=1: print H$ return
Задача 7 Словом считается набор символов, разделенных одним или несколькими пробелами. Распечатать слова четной длины,начинающиеся и оканчивающиеся на один и тот же символ,если таких слов нет,дать соответствующее сообщение. Введите строку;a$ K=2 C$=« » and B$« » L=len(a$) :=-0 меню I=1 to l B$=mid$(a$,I+1,1) программа С$=mid$(a$,i,1) Nach=I+1 B$=« » and C$« » Kon=I H$=mid$(a$,nach,kon-nach+1) A$=_ +a$+_ end nachkon L1=len(H$):d=0 F=1 нет F=1 L1 mod 2=0 And m$=n$ M$==left$(H$,1) N$=right$(H$,1) F=1 H$ nachkon Rem четные слова inputвведите cтроку;a$ a$= +a$+ l=len(a$) for i= 1 to l b$=mid$(a$,i,1) c$=mid$(a$,i+1,1) if b$= and c$ then nach=i+1 if b$ and c$= then kon=i H$=mid$(a$, nach, kon-nach+1) gosub nachkon end if next i if f=0 then print таких слов нет end nachkon: L1=len(H$) m$=left$(H$,1) n$=right$(H$,1) if m$=n$ and L1 mod 2=0 then f=1:print H$ return
Контрольная работа 2 меню
Задача 1 с клавиатуры вводится целое число.Вычислить сумму цифр его составляющих. Введите число х s Х=abs(x) :a$=str$(x): L=len(a$) меню I=1 to L Преобразование каждого символа в число программа Rem сумма цифр cls s=0 inputвведите число;x x=abs(x):aS=str$(x) l=len(a$) for i= 1 to L k=val(mid$,a$,i,1) s=s+k next i print s end K=val(mid$,a$,i,1) S=s+k
Задача 2 с клавиатуры вводится целое число.Вычислить сумму цифр его составляющих. Введите число х X= ABS(x): n=0: S=0: a=X меню I=1 to n-1 Подсчет количества цифр программа Rem сумма цифр cls s=0 inputвведите число;x x=abs(x): n=0:S=0:a=x while a>=1 a=a/10 n=n+1 wend for i= 1 to n-1 R1=X mod 10 S=S+R1 X=(X-R1)/10 next i S=S+X print S end R1=X mod 10: S=S+R1 X=(X-r1)/10 2 способ a>=1 n=n+1 a=a/10 S=s+x S
Задача 3 зашифровать, введенный с экрана текст.. L=len(A$):L1=len(B$) меню I=1 to L Вырезка из текста по одной букве программа R$=mid$(A$,I,1) a=a/10 K Введите текст A$ Введите текст, с помощью которого происходит шифровка B$ shifr K=1 to L1 T$$=mid$(B$,K,1) T$=R$ Печатается номер места символа из текста для шифровки в фразе, с помощью которой происходит шифрование. Rem шифровка cls B$=умею ли я с помощью электронно- вычислительной машины находить значения функций, а также обЪемы многогранников. inputвведите текст для шифровки;A$ L=len(A$):L1=len(B$) for i= 1 to L R$=Mid$(A$(i,1) Gosub chifr next i end chifr: for k=1 to L1 T$=mid$(B$,k,1) if T$=R$ then print k; :goto 1 next k 1 return
Задача 3 зашифровать, введенный с экрана текст.. меню Ввод 0 означает конец шифровки программа R$=mid$(B$,k,1) Введите текст, с помощью которого происходит расшифровка B$ Введите код К K=0 A$ A$=A$+R$ Rem расшифровка cls B$=умею ли я с помощью электронно- вычислительной машины находить значения функций, а также обЪемы многогранников. A$= 1 inputвведите код; K if K=0 then print A$ : end R$=mid$(A$,k,1) A$=A$+R$ goto 1