Файл: Лабораторная работа 4 Вариант 8 Автор работы (подпись).docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 24.11.2023
Просмотров: 215
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Затем следует некоторое количество указаний карты. Каждое указание карты состоит из одного слова и, возможно, одного натурального числа на отдельной строке. Слово — одно из набора: «вперёд», «налево», «направо», «разворот» или «стоп».
Формат вывода
Программа выводит на отдельных строках минимальное количество указаний карты, которое нужно выполнить, чтобы прийти к кладу, и направление взгляда в этот момент (одно из: «север», «юг», «запад», «восток»). Гарантируется, что карта приводит к кладу.
Решение:
x_res = int(input())
y_res = int(input())
x = 0
y = 0
while True:
answ = input()
step = int(input())
if answ == 'вперёд':
look = 'север'
y += step
elif answ == 'вправо':
look == 'восток'
x += step
elif answ =='влево':
look == 'запад'
x -= step
elif answ == 'разворот':
look == 'юг'
if answ == 'стоп' or x == x_res and y == y_res:
print(look)
print(x, y)
break
Пример работы программы:
Задача №10
Условие: Пользователь вводит одно за другим целые числа, делящиеся на 10, пока не введёт число, которое не делится на 10 Программа выводит введеные числа до тех пор, пока они делятся на 10
Формат ввода
Вводятся числа одно за другим, каждое на отдельной строке.
Формат вывода
Введеные числа, каждое на отдельной строке, пока введенные числа делятся на 10
Решение:
while True:
nm = int(input())
if nm % 10 == 0:
print(nm)
else:
break
Пример работы программы:
Задача №11
Условие: Сиракузская последовательность, или последовательность Коллатца, строится так: возьмём натуральное число n; если оно чётное, то заменим его числом n/2; если же оно нечётное, то заменим его числом 3n+1. Получившееся число — следующее в сиракузской последовательности после числа n.
Затем заменяем получившееся число по тому же правилу, и так далее.
Обычно, если проделать такую замену достаточно много раз, мы приходим к числу 1 (за которым следует снова). Например:
Определите, сколько шагов потребуется сиракузской последовательности, стартующей с заданного числа, чтобы прийти к 1
Если вы обнаружите число, сиракузская последовательность от которого не приходит к 1, то... вы, скорее всего, ошиблись. Но если нет, то поздравляем: вы прославитесь, ведь вопрос о том, всегда ли сиракузская последовательность приходит к 1 (независимо от начального числа), давно будоражит умы математиков.
Формат ввода
Вводится одно натуральное число n.
Формат вывода
Выводится одно число — количество шагов, необходимое стартующей от n сиракузской последовательности, чтобы впервые дойти до 1
Решение:
n = int(input())
count = 0
while n != 1:
if n % 2 == 0:
n //= 2
else:
n = n * 3 + 1
count += 1
else:
print(count)
Пример работы программы:
Задача №12
Условие: Несколько дней подряд метеоролог измеряет температуру воздуха в своём городе. Ваша программа считывает измеренные им значения и выводит среднее значение температуры за время измерений.
Чтобы обозначить конец ввода данных, вводится значение, меньшее -300 (реальная температура не может быть ниже -273 15).
При проведении вычислений с действительными числами ответ может незначительно отличаться от математически правильного из-за погрешностей округления; это не повлияет на проверку решения.
Формат ввода
Несколько (не меньше одного) действительных чисел на отдельных строках — температура воздуха в разные дни. Действительное число, меньшее -300
Формат вывода
Одно действительное число — средняя температура воздуха.
Решение:
count = 0
n = 0
while True:
temperature = float(input())
if temperature < -300:
break
n += temperature
count += 1
print(n / count)
Пример работы программы: