Изучаем язык BASIC. Занятие 27 Нахождение самого длинного слова и функция ASC (A$)

Раздел Информатика
Класс -
Тип Конспекты
Автор
Дата
Формат doc
Изображения Нет
For-Teacher.ru - все для учителя
Поделитесь с коллегами:

Занятие 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


© 2010-2022