13. Соотнесите этапы решения задачи по нахождению периметра прямоугольника Р=(a+b)*2 на компьютере с их содержанием: "
*
Математическая
модель
Программирование
Постановка
задачи
Р=(a+b)*2
a=int(input (“Введите
длину")),
b=int(input("Введите
ширину")) Р=(a+b)*2
Print (P)
Длина
прямоугольника
a=20, ширина
прямоугольника Б
=30
1.Значение переменной A после выполнения алгоритма становится -3
2.Значение переменной R после выполнения алгоритма становится 2
3.Значение переменной A после выполнения алгоритма становится 24
4.Значение переменной A после выполнения алгоритма становится 11
Объяснение:
1.Сперва A:=0,B:=12.
Проводим через цикл, условие B>4 истинное (B:=12, 12>4), значит выбираем да, выполняем все, что в блоке "да".
B:=B/2, B=12/2, B=6.
A:=B-A, A=6-0, A=6
из данного блока мы переходим обратно в блок с условием, условие B>4 истинное (B:=6, 6>4), значит еще раз выбираем да, выполняем все, что в блоке "да".
B:=B/2, B=6/2, B=3
A:=B-A, A=3-6, A=-3
опять же переходим обратно в блок с условием, в этот раз оно является ложью, (B:=3, 3>4 - ложь), значит мы заканчиваем алгоритм.
ответ: A=-3
2.Я буду писать только решение
G:=1, R:=1
G<3 - да (G:=1)
R:=R*G, R:=1*1, R:=1
G:=G+1, G:=1+1, G:=2
G<3 - да (G:=2)
R:=R*G, R:=1*2, R:=2
G:=G+1, G:=2+1, G:=3
G<3 - нет (G:=3, 3 не меньше 3)
ответ: R=2
3.A:=3, B:=8
B=2 - нет
B:=B/2, B:=8/2, B:=4
A:=A*B, A:=3*4, A=12
B=2 - нет
B:=B/2, B:=4/2, B:=2
A:=A*B, A:=12*2, A:=24.
B=2 - да
конец цикла
ответ: A:=24
4.A:=2, B:=2
B>14 - нет
B:=B+5, B:=2+5, B:=7
A:=A+3, A:=2+3, A=5
B>14 - нет
B:=B+5, B:=7+5, B:=12
A:=A+3, A:=5+3, A:=8.
B>14 - нет
B:=B+5, B:=12+5, B:=17
A:=A+3, A:=8+3, A:=11.
B>14 - да
конец цикла
ответ: A:=11
оцените по достоинству, очень старался#Ето вся игра и бот не может выигравать постоянно если это по #правилам
import math
numberOfSticks=int(input('\nКоличество палочек в игре: '))
def printMessageIfNOSI1(message,userGetSticks,numberOfSticks_):
if numberOfSticks_ == 1:
print(message)
return True
else:
numberOfSticks_-=userGetSticks
return (False,numberOfSticks_)
while numberOfSticks > 0:
print('| ' * numberOfSticks)
for stick in range(1,numberOfSticks+1):
print(stick,end=' ')
userGetSticks=int(input('\n\nСколько берете палочек? '))
thereWillBeSticks=numberOfSticks-userGetSticks*2
if 1 <= userGetSticks <= 3 and (thereWillBeSticks > 0 or userGetSticks==1):
status, numberOfSticks = printMessageIfNOSI1('\nВы проиграли.',userGetSticks,numberOfSticks)
if status is True: break
status, numberOfSticks = printMessageIfNOSI1('\nВы выиграли.',userGetSticks,numberOfSticks)
if status is True: break
elif thereWillBeSticks <= 0:
maxNumber=0
for i in range(math.floor(numberOfSticks/2), 1, -1):
if numberOfSticks-i*2 > 0:
maxNumber=i
break
if maxNumber==0: maxNumber=1
print("Вы можете выбрать число от 1 до {}".format(maxNumber))
else:
print('Не верный выбор')