@Palwanchik

Зачем коды не работает?

Призошло ошибка при запуске программа pas.
Error: Syntax error, ")" expected but "," found

program test2;
uses crt;
var
pasyl: string;
a,b,c,d,e,f,g,h,l,m,n,p: string;
begin
a:= 'Yanwar';b:= 'Fewral';c:= 'Dekabr';
d:= 'Mart';e:= 'Aprel';f:= 'May';
g:= 'Iyun';h:= 'Iyul';l:= 'Awgust';
m:= 'Sentyabr';n:= 'Oktyabr';p:= 'Noyabr';
clrscr;
write('Bir pasylyn sanyny yada adyny yazyn: ');read(pasyl);
clrscr;
if (pasyl = a,b,c) then
write('Gysh pasly');
if (pasyl = d,e,f) then
write('Bahar pasly');
if (pasyl = g,h,l) then
write('Tomus pasly');
if (pasyl = m,n,p) then
write('Guyz pasly');


readln;
readln;
end.
  • Вопрос задан
  • 61 просмотр
Пригласить эксперта
Ответы на вопрос 1
Ответ от всемирно известного эксперта по программированию на языке Pascal с наградой "Лучшая разработка в области программного обеспечения"... он же Chat GPT (от скромности не умрет) ))

Ошибка возникает из-за неправильного использования операторов сравнения. Вместо перечисления значений через запятую, необходимо использовать логические операторы.

Шаги для исправления кода:

Проблема с синтаксисом:

В условии if вы используете конструкцию if (pasyl = a,b,c), что неверно. Правильный способ проверить несколько значений — использовать логические операторы or.

Корректное использование:

Вам нужно переписать условия с правильной логикой. Вот как это должно выглядеть:

if (pasyl = a) or (pasyl = b) or (pasyl = c) then
       write('Gysh pasly');
   if (pasyl = d) or (pasyl = e) or (pasyl = f) then
       write('Bahar pasly');
   if (pasyl = g) or (pasyl = h) or (pasyl = l) then
       write('Tomus pasly');
   if (pasyl = m) or (pasyl = n) or (pasyl = p) then
       write('Guyz pasly');


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

Вот как будет выглядеть полный код с исправлениями:

program test2;
   uses crt;
   var
       pasyl: string;
       a, b, c, d, e, f, g, h, l, m, n, p: string;
   begin
       a := 'Yanwar'; b := 'Fewral'; c := 'Dekabr';
       d := 'Mart'; e := 'Aprel'; f := 'May';
       g := 'Iyun'; h := 'Iyul'; l := 'Awgust';
       m := 'Sentyabr'; n := 'Oktyabr'; p := 'Noyabr';
       clrscr;
       
       write('Bir pasylyn sanyny yada adyny yazyn: '); read(pasyl);
       clrscr;
       
       if (pasyl = a) or (pasyl = b) or (pasyl = c) then
           write('Gysh pasly');
       if (pasyl = d) or (pasyl = e) or (pasyl = f) then
           write('Bahar pasly');
       if (pasyl = g) or (pasyl = h) or (pasyl = l) then
           write('Tomus pasly');
       if (pasyl = m) or (pasyl = n) or (pasyl = p) then
           write('Guyz pasly');

       readln;
       readln;
   end.

Заключение:
После внесения этих изменений ваш код должен корректно работать и определять время года в зависимости от введенного значения.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы