Даю 100 баллов информатика
в коде снизу когда запускаю код пишет ошибку Встречено 'else', а ожидался оператор что там нужно дописать/написать что бы все получилось вот условие задачи Перший товар коштує А грн., другий йде зі знижкою 20%. У покупця є К грн.
Чи зможе він купити обидва ці товари, якщо так, то яка його решта?
program f;
begin
var A,k:integer;
var c,d,b:real;
writeln ('введіть скільки коштує перший товар');
readln(A);
writeln ('введіть скільки у покупця є грошей');
readln(k);
b:=a*0.8;
d:=a+b;
c:=k-d;
if (d<=k) then
writeln ('так зможе купити');
writeln (c);
else
('ні не зможе')
end.
Answers & Comments
Ошибки:
1) ошибка "ожидается оператор" потому, что между then и else у вас стоят два оператора writeln.
Без дополнительных конструкций там можно только один оператор (и он идёт без точки с запятой в конце, если после него будет else). Я так и сделал- оба сообщения уместил в один оператор writeln.
Если хотите два или больше операторов- то их надо помещать в составной оператор - то есть, начинать с begin и заканчивать end;
2) перед последним сообщением не было оператора writeln.
3) также, переменные a и k были целыми (а ведь цена на товар и сумма денег у покупателя могут быть и дробными)
Программа после устранения ошибок:
program f;
begin
var A,k,c,d,b:real;
writeln ('Введіть скільки коштує перший товар');
readln(A);
writeln ('Введіть скільки у покупця є грошей');
readln(k);
b:=a*0.8;
d:=a+b;
c:=k-d;
if (d<=k) then
writeln ('Так зможе купити. Решта= ',c)
else
writeln ('Ні не зможе.')
end.