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

СДЕЛАТЬ НУЖНО НА PYTHON!
По правилам дорожного движения, на зеленый свет светофора
можно ехать, на красный нельзя, а желтый – обрати внимание.
Напишите программу, которая будет в зависимости от цвета
светофора давать правильную команду
Input 1:
Зеленый
Input 3:
Желтый
Input 2:
Красный
Output 2:
Остановись
Output 1:
Можно ехать
Output 3:
Внимание

👇
Ответ:
vanschool
vanschool
29.05.2022

5960302 х у нас так вышдо

4,4(95 оценок)
Открыть все ответы
Ответ:
Senenadasha2017
Senenadasha2017
29.05.2022

Самое маленькое по размеру.

Если яблоко в руке больше, чем на столе то:

Положить яблоко во вторую корзину

Если меньше, то:

Оставить его на столе, а во вторую корзину положить предыдущее яблоко, которое лежало на столе.

Даны два массива, в одном - случайные числа, второй такого же размера, как и первый, но не содержит элементов.

Найти в первом массиве самый маленький элемент и присвоить переменной min - этот элемент. Все остальные - переместить во второй массив.

Программа:

var basket1, basket2:array[0..10] of integer;  

min, i: integer;

begin

 // Переменные по умолчанию 0, в таком случае не можем быть минимального числа.  

 // Но я знаю, что в массиве, максимальное число = 100. Возьмём его за минимальное - для сравнения.

 min := 101;  

 

 // Заполняем первый массив случайными числами. От 0 до 100.  

 for i:=0 to 10 do

   begin

     basket1[i] := random(100);  

     basket2[i] := 0;

     write(basket1[i]:3);  

   end;  

   

 writeln();

 

 for i:=0 to 10 do

   if basket1[i] < min then

     begin

       basket2[i] := min;

       min := basket1[i];  

     end

   else

     basket2[i] := basket1[i];

   

 writeln(min);

 

end.

Объяснение:

Здесь не надо писать программу. Я очень сомневаюсь, что в 9 классе нужно будет написать программу под это задание.

Строки которые начинаются с // - являются комментариями, их можно удалить.

4,4(23 оценок)
Ответ:
serzh1425
serzh1425
29.05.2022

Объяснение:

Эта задача сводится к задаче поиска пути на графе пространства состояний.

Состояние - положение черепашки на поле - (x, y).

Граф пространства состояний состоит из таких вершин-состояний, их количество N * M.

Переходов между вершинами всего два: R и D.

Здесь можно заметить, что прийти к одним и тем же вершинам мы можем разными путями. Например, путь из (0,0) в (1,1) можно расписать и как RD ((0,0) -> (0,1) -> (1,1)), и как DR ((0,0) -> (1,0) -> (1,1)), но это два разных маршрута.

Однако при неизменном ценовом листе максимальная стоимость и оный маршрут в любой клетке поля значение строго определённое и неизменное во времени.

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

Итак, для каждого состояния у нас есть два правила перехода. Рассчитывая максимальную стоимость маршрута для состояния (x,y) мы следуем алгоритму:

Если можем идти вправо, рассчитываем параметры для этого маршрутаЕсли можем идти вниз, рассчитываем параметры для этого маршрутаВыбираем между путями, если можем идти, или стоим, если уже не можемК выбранному варианту добавляем параметры текущего состояния

Если такой алгоритм применить к состоянию (0,0), то дойдем до (N, M) и получим максимальную цену и маршрут.

Код:

import re

from typing import List

cache = {}

def calculate_max_way_price(x: int, y: int, prices: List[List[int]], m:int, n:int):

   if (x, y) in cache:

       return cache[(x, y)]

   direction = ''

   cost = prices[y][x]

   x_cost, y_cost = -1, -1

   x_way, y_way = '', ''

   if x < m - 1:

       x_cost, x_way = calculate_max_way_price(x + 1, y, prices, m, n)

   if y < n - 1:

       y_cost, y_way = calculate_max_way_price(x, y + 1, prices, m, n)

   if not (x_cost < 0 and y_cost < 0):

       if x_cost > y_cost:

           cost += x_cost

           direction = 'R' + x_way

       else:

           cost += y_cost

           direction = 'D' + y_way

   cache[(x, y)] = (cost, direction)

   return cost, direction

MNtext = input('Enter N M: ')

MN = [int(x) for x in re.findall(r'\d+', MNtext)]

if len(MN) != 2:

   print("Input data error! It is not M and N")

   exit(-1)

N, M = MN[0], MN[1]

MAX_STEP_PRICE = 100

data = input('Enter all numbers separated by spaces. You must type ' + str(M*N) + ' elements:')

data = [int(x) for x in re.findall(r'\d+', data)]

if len(data) != N * M:

   print("Input data error! Too few/many numbers")

   exit(-2)

prices = []

for j in range(N):

   prices.append(data[M*j:M*(j+1)])

print(calculate_max_way_price(0, 0, prices, M, N))

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