- Преподавателю
- Информатика
- Изучаем язык BASIC. Занятие 27 Нахождение самого длинного слова и функция ASC (A$)
Изучаем язык BASIC. Занятие 27 Нахождение самого длинного слова и функция ASC (A$)
Раздел | Информатика |
Класс | - |
Тип | Конспекты |
Автор | Гегелашвили Т.П. |
Дата | 30.08.2015 |
Формат | doc |
Изображения | Нет |
Занятие 27
Распечатать все слова предложения, которые состоят из тех же символов, что и третье слово предложения. Если таких слов нет, то выдать сообщение.
CLS
INPUT A$
A$=A$ + "‗"
K = 1 : S=0
L = LEN(A$)
DO
N = INSTR (K,A$,"‗")
S = S + 1
SL$(S) = MID$(A$, K, N-K)
SK(S)=LEN(SL$(S))
K = N + 1
LOOP WHILE N <> L
F = 0
FOR I = 1 TO S
IF SL$(I) = SL$(3) AND I < > 3 THEN F = 1 : PRINT SL$(I); "‗";
NEXT I
IF F = 0 THEN PRINT "таких слов нет"
Найти самое длинное слово и распечатать его, поставив первый символ на последнее место.
Ввод
max = -1000
FOR I = 1 TO S
IF SK(I) > max THEN max = SK(I) : D = I
NEXT I
PRINT SL$(D)
X$ = MID$(SL$(D),2) + MID$(SL$(D),1,1)
PRINT X$
Функция ASC(A$) позволяет выбирать код ASCII первой литеры цепочки A$.
В заданной строке символов подсчитать количество слов, которые начинаются с заглавной буквы.
Ввод
F = 0
FOR I = 1 TO S
X$ = MID$(SL$(I),1,1)
C = ASC(X$)
IF C >= 65 AND C <= 90 THEN F = 1 : D = D + 1
NEXT I
IF F = 1 THEN PRINT "Количество = "; D
IF F = 0 THEN PRINT "таких слов нет"
В заданной строке символов найти самое длинное слово, которые начинаются с заглавной буквы.
Ввод
F = 0
max = -1000
FOR I = 1 TO S
X$ = MID$(SL$(I),1,1)
C = ASC(X$)
IF C >= 65 AND C <= 90 AND SK(I) > max THEN max = SK(I) : D = I : F = 1
NEXT I
IF F = 1 THEN PRINT SL$(D)
IF F = 0 THEN PRINT "таких слов нет"
Определить среднее количество символов в словах четной длины, если таких слов нет выдать сообщение.
Ввод
F = 0
FOR I = 1 TO S
IF SK(I)/2 = SK(I)\2 THEN N = N + SK(I) : D = D + 1 : F = 1
NEXT I
IF F = 1 THEN PRINT "SR = "; N/D
IF F = 0 THEN PRINT "таких слов нет"
Домашнее задание. Распечатать самое короткое слово, начинающееся с прописной буквы.
Ввод
F = 0
min = 1000
FOR I = 1 TO S
X$ = MID$(SL$(I),1,1)
C = ASC(X$)
IF C >= 97 AND C <= 122 AND SK(I) < min THEN min = SK(I) : D = I : F = 1
NEXT I
IF F = 1 THEN PRINT SL$(D)
IF F = 0 THEN PRINT "таких слов нет"
Создать одномерный массив из слов полностью расположенных в первой половине строки, если таких слов нет выдать сообщение.
CLS
INPUT A$
A$=A$ + "‗"
K = 1 : S=0
L = LEN(A$)
DO
N = INSTR (K,A$,"‗")
S = S + 1
SL$(S) = MID$(A$, K, N-K)
SK(S)=LEN(SL$(S))
K = N + 1
C = MID$(SL$(S), SK(S), 1)
LOOP WHILE N <> L\2 AND C <= L\2
FOR I = 1 TO S
PRINT SL$(I);
NEXT I