В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
dodess
dodess
27.10.2020 11:35 •  Информатика

Х |
A PascalABC.NET 3.7.2
Сервис
Файл Правка Вид Программа
Модули

• Program 1.pas* RBa1.pas* RBa2.pas
uses pt4;
var a:integer;
begin
task ('boolean2');
read (a);
I
then print (True)
then print (False);
end.

Показать ответ
Ответ:
Настя55251
Настя55251
09.02.2022 11:16
1. Даны высота треугольника h и площадь S. Вычислить сторону треугольника.

var h,S:integer;
a:real;
begin
writeln(“Input h and S”);
readln(h,S);
a:=S/h*2;
writeln(“a = “,a);
end.
2. На вход программы подается число, отличное от 0. Определить положительное оно или отрицательное.

var a:integer;
begin
writeln(“Input a”);
readln(a);
if a>0
writeln(“Positive”)
else
writeln(“Negative”);
end.
3. На вход программы подается число n. Вывести значения степеней 2 от 1 до n.

var n,i,c:integer;
begin
writeln(“Input n”);
readln(n);
c:=1;
For i:=1 to n do
begin
c:=c*2;
writeln(c);
end;
end.
4. На вход программы подается число. Вывести его факториал.

var a,n:integer;
begin
writeln(“Input a”);
readln(a);
n:=1;
while a<>1 do
begin
n:=n*a;
a:=a-1;
end;
writeln(n);
end.
5. На вход программы подается число, отличное от 0. Определить сумму цифр в числе.

var a,s:integer;
begin
writeln(“Input a”);
readln(a);
s:=0;
repeat
begin
s:=s+(a mod 10);
a:=a div 10;
end;
until a=0;
writeln(s);
end.
0,0(0 оценок)
Ответ:
Tiktak222
Tiktak222
12.02.2022 16:12

Ошибок тут достаточно, по всем пройдемся.

Первая ошибка, переменная названа как встроенная функция в Python, так делать не нужно.

Вторая ошибка, забыл ограничить if, из-за которого не будет выполняться elif. Меняем его на:

if (sum>=500) and (sum<1000)

Третья ошибка, расчет финальной цены неверный, если использовать вариант, который дан сейчас, то мы найдем процент от этой суммы, а не сумму с начисленными процентами. Меняем на:

final_sum = sums * (1+first_sale)

final_sum = sums * (1+second_sale)

Четвертая ошибка, почему у нас вывод финальной суммы через else? Получается, что если выполняются условия выше, то не выводится сумма. Этот вывод мы можем опустить ниже, а в else написать, что ввели неверные данные (если конечно подразумевается, что пользователь не должен вводить число меньшее 500), либо в elif засунуть эту строку, полной задачи у меня нет, поэтому сам с этим разберешься.

Пятая ошибка, мы не можем сложить строку с числом, нам нужно преобразовать нашу переменную к строке с str().

Исправленный код:

sums = int(input("Введите сумму покупки:"))

first_sale = 0.03

second_sale = 0.05

if sums >= 500 and sums < 1000:

   final_sum = sums * (1+first_sale)

   print("Финальная сумма равна: " + str(final_sum))

elif sums >= 1000:

   final_sum = sums * (1+second_sale)

   print("Финальная сумма равна: " + str(final_sum))

else:

   print("Введены неверные данные")

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота