Помогите пожалуйста с кодом на Паскале он легкий но я его не понимаю
Program ABC
VAR a,b,c: integer
begin
a:=1,b:=3
c:=(3a-b)/a
print c
end
Это готовый кол но в нем есть ошибки и пропущены какие то значения наверное все чего нету или не правильно надо исправить что бы код работал
Отсутствуют точки с запятой - в строках 1, 2, 4, 5.
Вместо запятой в строке 4 должна быть точка с запятой.
Отсутствует точка после end.
В Pascal не существует print. Для вывода используется write или writeln. И не как у тебя, а с круглыми скобками.
Хороший преподаватель и задачи у него интересные. Это не просто Pascal, а PascalABC.Net . Исправьте код и напишите так:
##
var (a,b,c) := (1,3,0.0);
c:=(3*a-b)/a;
print(c);
или так:
##
var (a,b) := (1,3);
print((3*a-b)/a);
Преподаватель будет удивлён...
надо исправить что бы код работал
Для начала, нужно почти везде добавить разделитель операторов - точку с запятой (исключение - после begin ставить не надо). Затем никакого "print", если речь не идет про Pascal ABC _Net - либо write, либо writeln, не просто c, а в скобках - неважно, print (c), write (c) или writeln (c) или println (c). После End нужна точка. Переменная c, если уж ее вводить (хоть необязательно так-то) не может быть целочисленной (integer), если содержит дробь. Тогда уж надо было либо дробь заменить на div, либо переменную c сделать типа real. Не ошибка, но несколько замечаний: во-первых, необязательно вводить 3 переменные - достаточно 2. И, раз уж они даны, то можно их вообще как константы объявить. Т.к. значения больше 0 и меньше 255, то лучше использовать тип byte, если переменные целочисленные.
Исправление:
Program ABC;
uses crt;
var a, b: byte;
begin
clrscr;
a:=1;
b:=3;
writeln ('c=', (3*a-b)/a :0:2);
write ('Программа завершена. Для выхода нажмите клавишу Enter.');
readln;
end.
Или так можно написАть:
Program ABC;
uses crt;
const a=1;
b=3;
begin
clrscr;
writeln ('c=', (3*a-b)/a :0:2);
write ('Программа завершена. Для выхода нажмите клавишу Enter.');
readln;
end.
В чем вопрос?