Top.Mail.Ru
Ответы

Помогите пожалуйста с кодом на Паскале он легкий но я его не понимаю

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 . Исправьте код и напишите так:

123456789
 ##  
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, если переменные целочисленные.

Исправление:

1234567891011
 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. 

Или так можно написАть:

12345678910
 Program ABC; 
uses crt; 
const a=1; 
      b=3; 
begin 
clrscr; 
writeln ('c=', (3*a-b)/a :0:2); 
write ('Программа завершена. Для выхода нажмите клавишу Enter.'); 
readln; 
end. 
Аватар пользователя
Гуру

В чем вопрос?