Решение на задача: "Учебна зала"
Условие на задачата: Учебна зала има правоъгълен размер l на w метра, без колони във вътрешността си. Залата е разделена на две части – лява и дясна, с коридор - приблизително по средата. В лявата и в дясната част има редици с бюра. В задната част на залата има голяма входна врата. В предната част на залата има катедра с подиум за преподавателя. Едно работно място заема 70 на 120 cm (маса с размер 70 на 40 cm + място за стол и преминаване с размер 70 на 80 cm). Коридорът е широк поне 100 cm. Изчислено е, че заради входната врата (която е с отвор 160 cm) се губи точно 1 работно място, а заради катедрата (която е с размер 160 на 120 cm) се губят точно 2 работни места. Напишете програма, която въвежда размери на учебната зала и изчислява броя работни места в нея при описаното разположение (вж. фигурата).
Здравейте,
Има ли алтернативен начин за решаване на задачата, освен показания начин с редовете и бюрата? Мисля, че логиката на предложеното от мен по-долу решение е вярна, но резултатът е (138) с 9 работни места повече от решението (129). Разбирам, че тънкит момент е в определянето на типа данни като цели числа ( integer) и целочислено деление, но къде точно бъркам?
l_m = float(input("Enter the length of the room in meters: "))
w_m = float(input("Enter the width of the room in meters: "))
w_cm = w_m * 100
l_cm = l_m * 100
print(f"Conversion of the width of the room in centimeters, 'w_cm': {w_cm} cm")
print(f"Conversion of the length of the room in centimeters, l_cm: {l_cm} cm")
area_room_cm = (l_cm * w_cm)
print(f"The area of the room is: {int(area_room_cm)} cm")
desk_cm = 70 * 40
print(f"desk_cm = {desk_cm}")
place_cm = 70 * 80
print(f"place_cm = {place_cm}")
work_place_cm = desk_cm + place_cm
print (f"work_place_cm = {work_place_cm}")
effective_area_room = area_room_cm - (100*1500) - 3*(work_place_cm)
print (f"effective area of the room_cm = {int(effective_area_room)}")
number_workplaces = effective_area_room // work_place_cm
print (f"number of workplaces = {int(number_workplaces)}")
(100*1500) : Това е изчислената площ на коридора в сm (или : 1 m * 1.5m), която също не се включва в полезната площ т.е. там няма работи места.
@Stanislava_Vasileva
В такъв случай, трябва да умножите 1000 по дължината на стаята в cm а не по 100 (което е 1м):