1)ИЗ СЛОВА АЛГОРИТМИЗАЦИЯ СОСТАВИТЬ СЛОВА: АЛГОРИТМ,РИТМ,ГОРА,РАЦИЯ,ЗИМА 2)ОПРЕДЕЛИТЬ САМОЕ ДЛИННОЕ...

Тематика Информатика
Уровень 5 - 9 классы
алгоритмизация составление слов самое длинное слово QBASIC программирование задачи текстовые операции
0

1)ИЗ СЛОВА АЛГОРИТМИЗАЦИЯ СОСТАВИТЬ СЛОВА: АЛГОРИТМ,РИТМ,ГОРА,РАЦИЯ,ЗИМА 2)ОПРЕДЕЛИТЬ САМОЕ ДЛИННОЕ ИЗ ТРЁХ ВВЕДЕННЫХ СЛОВ ПРОГРАММА QBASIC

avatar
задан 23 дня назад

2 Ответа

0

Для решения поставленных задач в языке программирования QBASIC можно написать программу, которая будет выполнять следующие действия:

  1. Сначала мы составим слова из букв слова "АЛГОРИТМИЗАЦИЯ".
  2. Затем определим самое длинное из трёх введённых слов.

Вот пример кода на QBASIC для выполнения обеих задач:

' Задача 1: Составление слов
DIM words(5) AS STRING
words(1) = "АЛГОРИТМ"
words(2) = "РИТМ"
words(3) = "ГОРА"
words(4) = "РАЦИЯ"
words(5) = "ЗИМА"

PRINT "Составленные слова:"
FOR i = 1 TO 5
    PRINT words(i)
NEXT i

' Задача 2: Определение самого длинного слова
DIM inputWords(3) AS STRING
DIM maxLength AS INTEGER
DIM longestWord AS STRING

PRINT "Введите три слова:"
FOR i = 1 TO 3
    INPUT "Слово "; i; ": "; inputWords(i)
NEXT i

maxLength = 0
longestWord = ""

FOR i = 1 TO 3
    IF LEN(inputWords(i)) > maxLength THEN
        maxLength = LEN(inputWords(i))
        longestWord = inputWords(i)
    END IF
NEXT i

PRINT "Самое длинное слово: "; longestWord

Объяснение кода:

  1. Составление слов:

    • Мы объявляем массив words, в который помещаем заранее известные слова, составленные из букв слова "АЛГОРИТМИЗАЦИЯ".
    • Затем с помощью цикла FOR выводим каждое слово на экран.
  2. Определение самого длинного слова:

    • Создаём массив inputWords для хранения трёх введённых пользователем слов.
    • Используем цикл для запроса ввода слов у пользователя.
    • В цикле FOR проверяем длину каждого введённого слова с помощью функции LEN(). Если длина слова больше текущей максимальной длины, обновляем maxLength и сохраняем это слово в longestWord.
    • В конце программы выводим самое длинное слово.

Как использовать программу:

  1. Скопируйте код в среду программирования QBASIC.
  2. Запустите программу.
  3. Введите три слова, когда программа попросит, и получите результат — самое длинное из введённых слов.

avatar
ответил 23 дня назад
0

Для выполнения указанных задач в программе QBASIC можно написать соответствующий код. Рассмотрим каждую задачу по отдельности.


Часть 1: Составление слов из заданного

Задача: Из слова "АЛГОРИТМИЗАЦИЯ" нужно проверить, можно ли составить слова: "АЛГОРИТМ", "РИТМ", "ГОРА", "РАЦИЯ", "ЗИМА".
Для этого нужно проверить, содержатся ли все буквы из каждого слова в заданном исходном слове. Также важно учесть количество повторений букв.


Часть 2: Определение самого длинного из трёх введённых слов

Задача: Ввести три слова и определить, какое из них является самым длинным.


Программа на языке QBASIC

CLS
' Задача 1: Проверка возможности составления слов
PRINT "Задача 1: Проверка составления слов из слова 'АЛГОРИТМИЗАЦИЯ'"

DIM sourceWord AS STRING
sourceWord = "АЛГОРИТМИЗАЦИЯ"

DIM wordsToCheck(5) AS STRING
wordsToCheck(1) = "АЛГОРИТМ"
wordsToCheck(2) = "РИТМ"
wordsToCheck(3) = "ГОРА"
wordsToCheck(4) = "РАЦИЯ"
wordsToCheck(5) = "ЗИМА"

FOR i = 1 TO 5
    DIM tempSource AS STRING
    tempSource = sourceWord
    DIM currentWord AS STRING
    currentWord = wordsToCheck(i)
    DIM isPossible AS INTEGER
    isPossible = 1 ' Флаг возможности составления слова

    FOR j = 1 TO LEN(currentWord)
        DIM letter AS STRING
        letter = MID$(currentWord, j, 1) ' Берём очередную букву из проверяемого слова
        DIM pos AS INTEGER
        pos = INSTR(tempSource, letter) ' Проверяем, есть ли буква в исходном слове
        IF pos > 0 THEN
            tempSource = LEFT$(tempSource, pos - 1) + MID$(tempSource, pos + 1) ' Удаляем найденную букву
        ELSE
            isPossible = 0 ' Если буквы нет, то составить слово невозможно
            EXIT FOR
        END IF
    NEXT j

    IF isPossible = 1 THEN
        PRINT "Слово "; currentWord; " можно составить."
    ELSE
        PRINT "Слово "; currentWord; " нельзя составить."
    END IF
NEXT i

PRINT
PRINT "Задача 2: Определение самого длинного из трёх слов"

' Ввод трёх слов
DIM word1 AS STRING, word2 AS STRING, word3 AS STRING
PRINT "Введите первое слово: "; : INPUT word1
PRINT "Введите второе слово: "; : INPUT word2
PRINT "Введите третье слово: "; : INPUT word3

' Поиск самого длинного слова
DIM maxLength AS INTEGER
DIM longestWord AS STRING

maxLength = LEN(word1)
longestWord = word1

IF LEN(word2) > maxLength THEN
    maxLength = LEN(word2)
    longestWord = word2
END IF

IF LEN(word3) > maxLength THEN
    maxLength = LEN(word3)
    longestWord = word3
END IF

PRINT "Самое длинное слово: "; longestWord; " (длина: "; maxLength; " символов)"
END

Объяснение программы

Часть 1: Проверка составления слов

  1. Заданное слово "АЛГОРИТМИЗАЦИЯ" сохраняется в переменной sourceWord.
  2. Слова, которые нужно проверить, сохраняются в массиве wordsToCheck.
  3. Для каждого слова из массива:
    • Проверяется, содержатся ли его буквы в исходном слове.
    • Если буква найдена, она удаляется из временной копии исходного слова (tempSource), чтобы учесть количество повторений букв.
    • Если все буквы найдены, слово можно составить; иначе — нельзя.

Часть 2: Определение самого длинного слова

  1. Пользователь вводит три слова.
  2. Сравнивается длина каждого слова.
  3. Находится слово с максимальной длиной, которое затем выводится.

Пример работы программы

Вывод для задачи 1:

Задача 1: Проверка составления слов из слова 'АЛГОРИТМИЗАЦИЯ'
Слово АЛГОРИТМ можно составить.
Слово РИТМ можно составить.
Слово ГОРА можно составить.
Слово РАЦИЯ можно составить.
Слово ЗИМА можно составить.

Вывод для задачи 2:

Задача 2: Определение самого длинного из трёх слов
Введите первое слово: АЛГОРИТМ
Введите второе слово: РАЦИЯ
Введите третье слово: ИНФОРМАТИКА
Самое длинное слово: ИНФОРМАТИКА (длина: 11 символов)

Эта программа решает обе задачи и помогает наглядно увидеть их выполнение.

avatar
ответил 23 дня назад

Ваш ответ

Вопросы по теме