М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации

Программирование Python Нужно подробно объяснить принцип работы кода

Условие задачи
Рассмотрим слова из больших латинских букв и шаблоны, состоящие из больших латинских букв и символов «?» и «*».
Будем считать, что слово подходит под шаблон, если в шаблоне можно заменить каждый символ «?» на большую латинскую букву, а каждый символ «*» – на последовательность (возможно, пустую) больших латинских букв, так, чтобы получилось требуемое слово. Написать программу, определяющую, подходит ли слово под шаблон.
Входные данные - две строки: в одной строке записан шаблон – последовательность больших латинских букв, «?» и «*», в другой – слово, состоящее только из больших латинских букв. Обе строки не превышают 255 символов.
Выходные данные - необходимо вывести слово «YES», если слово подходит под шаблон и «NO» в противном случае.

Пример
Ввод:
ABBCDA
A*CDA
Вывод:
YES

Код

# Ввод данных
s = input("Слово: ")
p = input("Шаблон: ")

# match возвращает True, если подстрока s, начинающаяся с позиции spos,
# соответствует шаблону (подстрока p, которая начинается
# с позиции ppos)

def match(spos, ppos):
if (spos == len(s)) or (ppos == len(p)):
return (spos == len(s) and ppos == len(p))
elif p[ppos] == '?':
return match(spos + 1, ppos + 1)
elif p[ppos] == '*':
for i in range(spos, len(s)):
if match(i, ppos + 1):
return True
else:
return (s[spos] == p[ppos]) and (match(spos + 1, ppos + 1))
return False

if match(0, 0):
print('YES')
else:
print('NO')

👇
Ответ:
Anonimka89
Anonimka89
30.06.2020

Принцип работы рекурсивный

Объяснение:

# В комментариях я использовал слово итерация в значении запуска новой функции с данными spos/ppos большими на 1 (аналогично с циклом for

# Ввод данных

s = input("Слово: ")

p = input("Шаблон: ")

# match возвращает True, если подстрока s, начинающаяся с позиции spos,

# соответствует шаблону (подстрока p, которая начинается

# с позиции ppos)

def match(spos, ppos):

   if (spos == len(s)) or (ppos == len(p)):

       return (spos == len(s) and ppos == len(p)) #когда все символы слова либо шаблона пройдены возвращается True, если и шаблон и слово пройдены полностью, в другом случае возвращается False

   elif p[ppos] == '?':

       return match(spos + 1, ppos + 1) #когда встречается ? начинается новая итерация

   elif p[ppos] == '*': #проверка если подстрока - *

       for i in range(spos, len(s)): #обход всех оставшихся символов слова

           if match(i, ppos + 1):

               return True #если дочерняя функция (вызванная выше) выдала True, цикл for заканчивается до выдавая True

   else: #выполняется когда не встретилось */?

       return (s[spos] == p[ppos]) and (match(spos + 1, ppos + 1))# проверка на равентсво соответствующих (по индексу) символов слова и шаблона и запуск новой функции (итерации)

if match(0, 0):

   print('YES') #если результат функции True в консоль выводится 'YES', иначе 'NO'

else:

   print('NO')

4,6(64 оценок)
Открыть все ответы
Ответ:
konobeevvlad
konobeevvlad
30.06.2020
1.сколько цветов будет содержать палитра, если каждый базовый цвет кодировать двумя битами?
 2^2=4
2.Какой объем видеопамяти в в кбайтах нужен для хранения изображения размером 640х250 пикселей и используещего 16-цветную политуру ?
16=2^4
640*250*4= 640000 бит=  640000/8 байт=80000/1024Кб=78,125Кб
3.видеопамять имеет объем, в котором может хранится 4-х цветное изображение размером 300х200.
Какого размера изображение можно хранить в том же объеме памяти, если оно будет использовать 256-ти цветную палитру?
300х200*2=120000 бит
256=2^8
120000бит/8= 15000 -> Ширина*высоту <= 15000 пискселей, например 150*100
4.Сколько цветов можно максимально использовать для хранения изображения размером
350x200 пикселей если объем страницы видеопамяти 65 кбайт
65кб/(35*200)=65кб/(35*200)*8*1024=76,06857143
76>=2^6 -> кол-во цветов 6
5.Пусть видеопамять компьютера имеет объем 512 кбайт.
Размер графической сетки 640x480.
Сколько страниц может одновременно разместиться в видеопамяти при палитре из 256 цветов?
256=2^8
8*640*480=2457600 бит=300кб
Таким образом одна страница
4,5(22 оценок)
Ответ:
azatbaykov00
azatbaykov00
30.06.2020

ермин «алгоритм», впервые употребленный в современном значении. Лейбницем (1646–1716), является латинизированной формой имени великого персидского математика Мухаммеда бен Муссы аль-Хорезми (ок. 783 – ок. 850). Его книга «Об индийском счете» в XII в. была переведена на латинский язык и пользовалась широкой популярностью не одно столетие. Имя автора европейцы произносили как Алгоритми (Algorithmi), и со временем так стали называть в Европе всю систему десятичной арифметики.

Научное определение алгоритма дал А. Чёрч в 1930 году. В наше время понятие алгоритма является одним из основополагающих понятий вычислительной математики и информатики.

Алгоритм — это точное и полное описание последовательности действий над заданными объектами, позволяющее получить конечный результат.

Можно сказать, что алгоритм решения какой-либо задачи — это последовательность шагов реализации (или нахождения) этого решения, а процесс построения алгоритма (алгоритмизация) — разложение задачи на элементарные действия или операции.

Область математики, известная как теория алгоритмов, посвящена исследованию свойств записи, области применения различных алгоритмов, а также созданию новых алгоритмов. Теория алгоритмов находит широкое применение в различных областях деятельности человека — в технике, производстве, медицине, образовании и т. д. Появление компьютера позволило решать чрезвычайно сложные, трудоемкие задачи.

Определение алгоритма для применения в области информатики нуждается в некотором уточнении. Во-первых, решение задач в информатике всегда связано с преобразованием информации, а значит, исходными данными и результатом работы алгоритма должна быть информация. Это может быть представлено в виде схемы.

Объяснение:

4,7(28 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ