Содержание
Электронная тетрадь: Домашнее задание 19
Домашнее задание 19
Домашнее задание №19
Тема: Определение и свойства алгоритма
1. Запишите исполнителей для приведённых ниже видов работ:
Уборка мусора во дворе – дворник
Перевозка пассажиров в поезде – водитель
Выдача заработной платы – бухгалтер
Приём экзаменов в школе –учитель
Сдача экзамена в университете – экзаменатор
Набор текста на компьютере – пользователь
Приготовление еды в ресторане — повар
2. Определите полный набор данных для решения следующих задач обработки информации:
а) вычисление стоимости покупок в магазине
Стоимость каждой покупки
б) вычисление суммы сдачи от данных Вами продавцу денег
Количество данных денег
Количество сдачи
в) определение времени показа по телевизору интересующего Вас фильма
Время начала фильма
Текущее время
г) вычисление площади треугольника
Сторона а
Проведенная к ней высота h
д) определение времени падения кирпича с крыши дома
Масса кирпича
е) определение месячной платы за расход электроэнергии
Стоимость электроэнергии
Количество расходованной электроэнергии
ж) перевод русского текста на итальянский язык
Русский текст
Переводчик
з) перевод итальянского текста на русский язык
Итальянский текст
Переводчик
3. Есть исполнитель «Перевозчик», который перевозит через реку волка, козу и капусту. Напишите алгоритм перевоза через реку волка, козы и капусты, если СКИ «Перевозчика» содержит 5 команд: ВЗЯТЬ КОЗУ, ВЗЯТЬ ВОЛКА, ВЗЯТЬ КАПУСТУ, ВЫСАДИТЬ, ПЕРЕПЛЫТЬ. В лодку может поместиться только один предмет или животное. Нельзя оставлять на берегу одних волка с козой и козу с капустой.
перевозим козу
плывем за капустой
высаживаем капусту
Берем козу
переплываем
высаживаем козу
Берем волка
Переплываем
высаживаем волка
Переплываем
Берем козу
Переплываем
4. Напишите алгоритм приготовления какого-либо блюда (алгоритм должен иметь линейную структуру).
Бутерброд с маслом
1.открыаешь холодильник
2.берёшь масло
3.закрываешь холодильник
4.ставишь всё это на стол
5.берёшь нож
6.нарезаешь хлеб
7.намазываешь его маслом
8.открываешь холодильник
9.убираешь в холодильник масло
10.кладешь бутерброд на тарелочку
11.украшаешь его листом салата
11 . наслаждаешься при готовленным блюдом
5. Есть исполнитель «Арифмометр», который понимает следующие команды:
— взять число N (занести в память число N),
— умножить (перемножаются занесённые в память последние два числа),
— сложить (складываются занесённые в память последние два числа),
— вычесть (вычисляется разность занесенных в память последних двух чисел),
— результат (вывести результат)
Например, в результате выполнения алгоритма:
— взять число 5,
— взять число 10,
— взять число 2,
— вычесть,
— умножить,
— результат
получим ответ 40, так как 5*(10-2)=40.
Какой результат будет получен при выполнении приведённого ниже алгоритма?
— взять число 4,
— взять число 8,
— взять число 2,
— вычесть,
— взять число 10,
— умножить,
— взять число 56,
— вычесть,
— вычесть,
— результат.
Дайте объяснение своему ответу (приведите формулу для вычисления).
В итоге получится 0
1) в памяти занесено 4 8 2
2) в памяти после действия 4 6
3) в памяти занесено 4 6 10
4) в памяти после действия 4 60
5) в памяти занесено 4 60 56
6) в памяти после действия 4 4
7) в памяти после действия 0
6. Почему приведённые ниже алгоритмы для исполнителя «Арифмометр» не могут быть выполнены (какие свойства алгоритма нарушены)?
А) – взять число 4,
— взять число 5,
— умножить,
— вычесть,
— результат.
Б) – взять число 6,
— взять число 3,
— разделить,
— результат
В) – взять число,
— взять число,
— сложить,
— результат
А)
После действия «умножить» в стеке будет лежать результат — число 20. Следующее действие «вычесть»требует двух операторов
Б) В арифмометре не определена команда «разделить».
В) Не указаны числа в командах взять
Предыдущее
Главная страница
Подписаться на:
Комментарии к сообщению (Atom)
dz_10_2.html
Домашнее задание №19
Домашнее
задание №19
Тема:
Определение и свойства алгоритма
1. Запишите исполнителей
| |||
Уборка
Перевозка
Выдача
Приём
Сдача
Набор текста
Приготовление
| |||
2.
| |||
а) вычисление стоимости покупок в магазине
б) вычисление суммы сдачи от данных Вами
в) определение времени показа по телевизору
г) вычисление площади треугольника
д) определение времени падения кирпича с крыши
е) определение месячной платы за расход
ж) перевод русского текста на итальянский язык
з) перевод итальянского текста на русский язык
| |||
3.
| |||
| |||
4. Напишите алгоритм приготовления
| |||
| |||
5.
— взять число N (занести в
— умножить
— сложить
— вычесть
— результат
Например, в результате выполнения алгоритма:
— взять число 5,
— взять число 10,
— взять число 2,
— вычесть,
— умножить,
— результат
получим ответ 40, так как 5*(10-2)=40.
Какой результат будет получен при
— взять число 4,
— взять число 8,
— взять число 2,
— вычесть,
— взять число 10,
— умножить,
— взять число 56,
— вычесть,
— вычесть,
— результат.
Дайте объяснение своему ответу (приведите
| |||
| |||
6. Почему приведённые ниже алгоритмы для
| |||
А)
|
Страница обновлена 05. 07.2017
Год педагога и наставника Областной информационно-образовательный портал объясняем.рф Официальное СМИ Уполномоченного по правам ребенка в Ярославской области Региональный портал «Математика для всех» Интернет-сайт «Подросток и закон» Культура для школьников на портале Культура Ярославии Региональный сегмент реестра безопасных Интернет-ресурсов для детей Региональный портал «Таланты Ярославии» Минпросвещения РФ Минобрнауки РФ Национальный проект «Образование Рособрнадзор Портал «Растим детей» ГАУ ДПО ЯО «Институт развития образования» Официальный информационный портал ЕГЭ Единый портал государственных и муниципальных услуг Федеральные государственные образовательные стандарты Центр профессиональной ориентации и психологической поддержки «Ресурс» Всероссийский форум «ПроеКТОриЯ»
▶
Мой алгоритм принятия решения, что приготовить
Я не особо следую рецептам. Иногда я читаю рецепты для вдохновения, но в конечном итоге редко следую им более чем смутно.
Вместо этого я просто бессистемно мечусь, пока не придумаю, что приготовить. Это работает на удивление хорошо.
Ранее мне пришло в голову, что я делаю это с помощью жадного алгоритма. Помимо того, что это интересное понимание, это забавный каламбур (здесь позвольте мне объяснить шутку: видите ли, жадный алгоритм — это и алгоритм поиска решения из компьютерных наук, и тот, кто ест много еды, является «жадным». Поэтому юмор проистекает из двойного значения слова «жадный» в этом контексте: он точен с точки зрения алгоритмического дизайна, а также несет в себе скрытый смысл, что вы собираетесь съесть много еды. Это уже смешно? Я могу объяснить больше, если хотите).
То есть он работает, сохраняя набор ингредиентов. Алгоритм такой:
- Найдите ингредиент, который будет хорошо сочетаться с существующим набором ингредиентов.
- Если я нахожусь в режиме для этого ингредиента, принимаю его и добавляю в список.
- Повторяйте до тех пор, пока текущий набор ингредиентов не покажется вам пригодным для приготовления полноценного блюда.
Кажется, это дает неизменно хорошие результаты.
Проблема в том, что для работы требуется хорошая реализация шага 1. Я думаю, что мой метод в основном выполняет выборку отбраковки на наборе доступных вещей (т. е. случайным образом бродит по супермаркету / просматривает мой шкаф / холодильник), пока я не нахожу что-то, что бросается в глаза, и не говорю «Оооо. может работать ». Пустой набор — это особый случай, когда мне нужно выяснить, на что я настроен.
Также необходимо уметь понять, что хорошо сочетается друг с другом, не пытаясь это сделать. Некоторым кажется, что это трудно. Все, что я могу предложить в качестве совета, это то, что длительный период вегетарианства, в течение которого вы не можете есть сыр, действительно хорошо способствует развитию этого навыка (по крайней мере, так я это делал). Проблема с мясом и сыром заключается в том, что они составляют доминирующий аромат блюда, поэтому очень легко просто сделать их центральным элементом и больше ничего с ним не делать. Без этого в качестве костыля то, что вы будете делать, будет очень скучным, если вы не поймете, как заставить множество разных вкусов хорошо сочетаться друг с другом, и вы вынуждены учиться из-за инстинкта выживания. Это похоже на иммерсивный способ изучения языка, который я себе представляю.
Вот блюдо, которое я недавно приготовил. Результат:
Ньокки с соусом из баклажанов/помидоров/каперсов
Ньокки говорят сами за себя. Соус следующий:
- Приблизительно 1 кг баклажан
- 1 головка чеснока
- около 50 г сливочного масла
- «немного» оливкового масла.
- соль крупного помола «по вкусу» (извините, я знаю. Но я понятия не имею, сколько я использовал, за исключением того, что я склонен довольно сильно солить).
- Около 5 ч.л. каперсов
- 1 довольно смущающе слабый красный перец чили (примечание: рецепт требует больше перца чили, чем я использовал)
- свежий тимьян, пока мне не надоест сдирать его со стеблей
- 800 г консервированных нарезанных помидоров
Он проходил в два этапа. Честно говоря, я немного разочарован вторым этапом, потому что первый был настолько потрясающим, а конечный результат был просто очень хорошим. Возможно, вы захотите остановиться на полпути и просто съесть кусочек баклажана.
Шаг 1:
Нарежьте баклажан кубиками примерно в см. Очистите, но не раздавливайте чеснок. Нарежьте перец чили, не удаляя семян (вы можете удалить семена, если у вас настоящий перец чили, а не жалкая имитация чили, которую я нашел в швейцарском супермаркете). Поместите их в скороварку со сливочным маслом и достаточным количеством оливкового масла, чтобы баклажаны были слегка смазаны маслом, но не пропитаны им, и столько тимьяна, сколько вы можете беспокоить. Перемешайте все, затем готовьте под давлением в течение 10 минут, как только давление повысится.
В результате получился идеальный соленый чесночно-мягкий баклажан. Скороварка в основном исправила все патологии приготовления баклажанов, где есть сложная дисфункциональная середина между недоваренным и подгоревшим.
Шаг 2 – просто добавьте помидоры и каперсы, перемешайте и готовьте под давлением еще 5 минут.
В результате получается очень приятный чесночный острый соус, немного напоминающий путтанеску (в нем не было оливок, но, если подумать, они, наверное, были бы хорошим дополнением).
Основной отправной точкой этого рецепта были ньокки, найденные в супермаркете. Затем я добавил баклажан, и все остальное просто накапливается вокруг него.
Конечно, теперь я использую немного другой алгоритм для сегодняшнего ужина: промежуточный шаг с баклажанами был действительно хорош. С чем я мог это подать? (Ответ, кстати, заключается в том, что его будут подавать с лебедой, приготовленной с укропом, лимоном и фетой, а также свежеприготовленным гуакамоле. Я очень взволнован этим планом).
Алгоритм/структура данных для ответа на вопрос «какие рецепты я могу приготовить с этим набором ингредиентов?»
Формально пусть s ( U , Q ) = { V | V ∈ U и V ⊆ Q } где U , Q и V все представляют множества, а U 9002 2, более конкретно, представляет набор наборов. Например, U может быть набором (наборами) ингредиентов, необходимых для различных рецептов в поваренной книге с Q , представляющий набор ингредиентов, который у меня есть. V , представляющий рецепт, который я могу приготовить из этих ингредиентов. Запрос s ( U , Q ) соответствует вопросу «Что можно сделать из этих ингредиентов?»
Я ищу представление данных, которое индексирует U таким образом, чтобы поддерживать эффективные запросы s ( U , Q ), где Q и все члены U обычно будет небольшим по сравнению с объединением всех членов U . Кроме того, я хотел бы иметь возможность эффективно обновлять U (например, добавлять или удалять рецепт).
Я не могу не думать, что эту проблему нужно хорошо понимать, но я не смог найти для нее название или ссылку. Кто-нибудь знает стратегию для эффективного решения этой проблемы или место, где я могу больше узнать об этом?
Что касается решения, у меня была мысль построить дерево решений для набора У . В каждом узле дерева вопрос «Содержит ли ваш список ингредиентов x ?» будет задано с размером x , выбранным для максимизации числа членов U , которые будут исключены ответом. По мере обновления U это дерево решений необходимо будет перебалансировать, чтобы свести к минимуму количество вопросов, необходимых для получения правильного результата. Другая идея состоит в том, чтобы представить U чем-то вроде n -мерного логического «октодерева» (где n — количество уникальных ингредиентов).
Я считаю, что «Какие рецепты можно приготовить из этих ингредиентов?» можно ответить, взяв декартово произведение (наборов ингредиентов, необходимых для) рецептов в поваренной книге с набором мощности ингредиентов, которые у вас есть, и отфильтровав полученные упорядоченные пары для пар, в которых оба элемента равны, но это не эффективное решение, и я спрашиваю о том, как оптимизировать такую операцию; как можно составить это в SQL так, чтобы это было эффективно, и что делает SQL, чтобы это было эффективно?
Хотя я использую иллюстрацию кулинарной книги рецептов и набора ингредиентов, я предполагаю, что количество «рецептов» и количество «ингредиентов» будет очень большим (до сотен тысяч каждого), хотя количество ингредиентов в данном рецепте и количество ингредиентов в данном наборе ингредиентов будет относительно небольшим (вероятно, около 10-50 для типичного «рецепта» и около 100 для типичного «набора ингредиентов»).