kuchera2
06.05.2023 13:33

Это мне на завтра за раннее ! целочисленные, логические, символьные и строковые типы данных. как это сделать? . вот пример но я не его понял. 3.3.2. целочисленный тип данных над целыми числами в языке паскаль выполняются следующие операции: сложение (+), вычитание (-), умножение (*), получение целого частного (div), получение целого остатка деления (mod) и деление (/). результаты первых пяти операций — целые числа. результатом операции деления может быть вещественное число. рассмотрим пример использования операций div и mod, записав на языке паскаль программу нахождения суммы цифр вводимого с клавиатуры натурального трёхзначного числа. используем тот факт, что положительное трёхзначное число можно представить в виде следующей суммы: х — а*100 + 6*10 + с, где а,ь,с — цифры числа. чему равна сумма цифр числа 123? а числа -123? ли ваши результаты с результатами работы программы? как можно объяснить и исправить ошибку в программе? 3.3.3. символьный и строковый типы данных значением символьной величины (тип char) в языке паскаль является любой из символов, который можно получить на экране нажатием на клавиатуре одной из клавиш или комбинации клавиш, а также некоторых других символов, в том числе и невидимых. множество таких символов состоит из 256 элементов, каждому из которых согласно используемой кодовой таблице поставлен в соответствие код — число 0 до 255. символы, соответствующие первым 32 , являются , а остальные — изображаемыми. к изображаемым символам относится и пробел, имеющий код 32. знакам препинания, знакам арифметических операций, цифрам, прописным и строчным латинским буквам соответствуют коды от 33 до 127. буквам национального алфавита соответствуют коды с номерами 128 и далее. в тексте программы константу символьного типа можно задать, заключив любой изображаемый символ в апострофы: '5', 'в', '*'. если значение символьной переменной считывается с клавиатуры, то его следует набирать без апострофов. чтобы найти код символа, используют функцию ord, где в качестве параметра символ. чтобы по коду узнать символ, используют функцию chr, где в качестве параметра указывают код символа. значением строковой величины (тип string) является произвольная последовательность символов, заключенная в апострофы. в паскале (как и в алгоритмическом языке) строки можно сцеплять. пример. запишем на языке паскаль программу, в которой для введённой с клавиатуры буквы на экран выводится её код. затем на экран выводится строка, представляющая собой последовательность из трёх букв используемой кодовой таблицы: буквы, предшествующей исходной; исходной буквы; буквы, следующей за исходной. 3.3.4, логический тип данных как известно, величины логического типа принимают всего два значения; в паскале это false и true. эти константы определены так, что false < true. логические значения получаются в результате выполнения операций сравнения числовых, символьных, строковых и логических выражений. поэтому в паскале логической переменной можно присваивать результат операции сравнения. пример. напишем программу, определяющую истинность высказывания «число п является чётным» для произвольного целого числа n. пусть ans — логическая переменная, а n — целая переменная. тогда в результате выполнения оператора присваивания ans: =n mod 2 = 0 переменной ans будет присвоено значение true при любом чётном n и false в противном случае. логическим переменным можно присваивать значения логических выражений, построенных с известных вам логических функций и, или, не, которые в паскале обозначаются соответственно and, or, not. пример. напишем программу, определяющую истинность высказывания «треугольник с длинами сторон а, b, с является равнобедренным» для произвольных целых чисел а, ь, с.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
P4k3T
25.11.2020 08:43
Учитывая, что 8 букв можно переставить примерно 40 тысячами можно просто запустить поиск в ширину, сохранить для всех перестановок то, из какой строчки они получились, и потом восстановить ответ для строчки abcdefgh.

Код на python 3:
from queue import Queue

to_process = Queue()
to_process.put(("edghcbfa", None))
prec = {}

while not to_process.empty():
    s, prev = to_process.get()
    if s in prec:
        continue
    for i in range(7):
        for j in range(i + 1, 8):
            if i == 0:
                next_s = s[j::-1] + s[j+1:]
            else:
                next_s = s[:i] + s[j:i-1:-1] + s[j+1:]
            if next_s not in prec:
                to_process.put((next_s, s))
    prec[s] = prev

current = "abcdefgh"
print(current)
while prec[current] is not None:
    current = prec[current]
    print(current)

Вывод программы:
abcdefgh
edcbafgh
edcbhgfa
edbchgfa
edghcbfa

Соответственно, ответ такой:
G B
B C
H A
E A
0,0(0 оценок)
Ответ:
NikaNeo
25.11.2020 08:43
Учитывая, что 8 букв можно переставить примерно 40 тысячами можно просто запустить поиск в ширину, сохранить для всех перестановок то, из какой строчки они получились, и потом восстановить ответ для строчки abcdefgh.

Код на python 3:
from queue import Queue

to_process = Queue()
to_process.put(("edghcbfa", None))
prec = {}

while not to_process.empty():
    s, prev = to_process.get()
    if s in prec:
        continue
    for i in range(7):
        for j in range(i + 1, 8):
            if i == 0:
                next_s = s[j::-1] + s[j+1:]
            else:
                next_s = s[:i] + s[j:i-1:-1] + s[j+1:]
            if next_s not in prec:
                to_process.put((next_s, s))
    prec[s] = prev

current = "abcdefgh"
print(current)
while prec[current] is not None:
    current = prec[current]
    print(current)

Вывод программы:
abcdefgh
edcbafgh
edcbhgfa
edbchgfa
edghcbfa
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота