Program var a,b,c,d,e:integer r,t,h,g,n,S,P,O:real begin writenln('введите стоимость первого
продукта') read('a') writenln('введи стоимость второго продукта') read('b') writenln('введите стоимость третьего продукта') read('c') writenln('введите стоимость четвертого продукта') read('d') writenln('введите стоимость пятого продукта') read('e') writenln('введите стоимость первого продукта за один килограмм или за одну штуку) read('r) writenln('введите стоимость второго продукта за один килограмм или за одну штуку') read('t') writenln('введите стоимость третьего продукта за один килограмм или за одну штуку') read('h) writenln('введите стоимость четвертого продукта за один килограмм или за одну штуку') read('g') writenln('введите стоимость пятого продукта за один килограмм или за одну штуку') read('n') S:=(a*r)+(b*t)+(c*h)+(d*g)+(e*n)('стоимость покупки') writenln('введите сумму платежа') read('P') for(S>=2000) do O:=S-P writenln(O)('сдача') end помогите пожалуйста найти де проблему и если не затруднит напишите правильную проблему заранее спасибоОтветы на вопрос
Ответ:
Ты точки с запятой не проставил и точку после последнего енд и ты оформил фор как в с плюс плюс а это паскал если не ошибаюс и реад не надо ковычки и комментарии неправильно вроде все
В предложенном вами коде есть несколько проблем. Вот некоторые из них:
Отсутствуют точки с запятой в конце каждой строки, что приведет к ошибкам компиляции.
Команды
writenlnиreadневерно написаны. Правильные команды должны бытьwritelnиreadln.Все переменные должны быть разделены точкой с запятой после их объявления.
Оператор
forиспользуется неправильно. Вам нужно использовать операторifдля проверки условияS >= 2000, а затем вычислить значениеOкак разницу междуSиP.
Вот исправленный код с учетом указанных проблем:
pascalvar a, b, c, d, e: integer; r, t, h, g, n, S, P, O: real; begin writeln('Введите стоимость первого продукта'); readln(a); writeln('Введите стоимость второго продукта'); readln(b); writeln('Введите стоимость третьего продукта'); readln(c); writeln('Введите стоимость четвертого продукта'); readln(d); writeln('Введите стоимость пятого продукта'); readln(e); writeln('Введите стоимость первого продукта за один килограмм или за одну штуку'); readln(r); writeln('Введите стоимость второго продукта за один килограмм или за одну штуку'); readln(t); writeln('Введите стоимость третьего продукта за один килограмм или за одну штуку'); readln(h); writeln('Введите стоимость четвертого продукта за один килограмм или за одну штуку'); readln(g); writeln('Введите стоимость пятого продукта за один килограмм или за одну штуку'); readln(n); S := (a * r) + (b * t) + (c * h) + (d * g) + (e * n); writeln('Стоимость покупки:', S:0:2); writeln('Введите сумму платежа'); readln(P); if S >= 2000 then O := S - P; writeln('Сдача:', O:0:2); end.
Помимо этих исправлений, я также добавил форматирование для вывода чисел с плавающей запятой с двумя знаками после запятой. Обратите внимание, что я использовал readln вместо read для чтения значений переменных с новой строки.
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili
