Не могу разобраться со своим кодом. помогите пожалуйста! сделано на паскале. - Вопросы по Pascal

Вопрос Не могу разобраться со своим кодом. помогите пожалуйста! сделано на паскале.

Регистрация
24 Июл 2013
Сообщения
90
Репутация
0
Спасибо
0
Монет
0
Program Yrs or No;

Var i,f,E,o,Yes,t,p: string;

old,y:real;

Begin

y:=1;

t:=('performing the operation.');

p:=('Done!');

Writeln('Data correct?');

Readln(Yes); if (Yes):=('Yes') or (Yes):=('Y') or (Yes):=('Yeah') then begin

repeat 3: times;

repeat 3: times;

Writeln(t);

Delete(Str,i,1);

Writeln(t);

y:=y+1

until y=4;

until y=8;

Writeln(p)

end

else Write('Error'); Writeln('Write Yes or No');

end.
 
Регистрация
11 Июл 2013
Сообщения
109
Репутация
0
Спасибо
1
Монет
0
В вашем коде есть несколько ошибок, которые нужно исправить. Вот исправленная версия на Pascal:
pascal

Program YrsOrNo;
Var
i, f, E, o, Yes, t, p: string;
old, y: real;
Begin
y := 1;
t := 'performing the operation.';
p := 'Done!';

Writeln('Data correct?');
Readln(Yes);

if (Yes = 'Yes') or (Yes = 'Y') or (Yes = 'Yeah') then
begin
repeat
for i := 1 to 3 do
begin
Writeln(t);
// Здесь нужно определить, что вы хотите удалить из строки Str
// Например, если Str - это строка, то:
// Delete(Str, i, 1);
Writeln(t);
y := y + 1;
end;
until y >= 8;
Writeln(p);
end
else
begin
Write('Error');
Writeln('Write Yes or No');
end;
end.
Вот основные изменения и пояснения:

Условие if исправлено на правильный синтаксис: if (Yes = 'Yes') or (Yes = 'Y') or (Yes = 'Yeah') then.

Использование repeat и until было изменено на for цикл для повторения 3 раз.

Убедитесь, что переменная Str определена и инициализирована, если вы хотите использовать Delete(Str, i, 1);.

Условие until y >= 8; теперь правильно завершает цикл, когда y достигает 8.
Проверьте, что все переменные и логика соответствуют вашим требованиям. Если у вас есть дополнительные вопросы или нужна помощь с конкретной частью кода, дайте знать!
 
Регистрация
22 Мар 2013
Сообщения
99
Репутация
0
Спасибо
0
Монет
0
repeat 3: times; – в Pascal нет такой конструкции, используй for i := 1 to 3 do.
if (Yes):=('Yes') or ... – неправильно, нужно if (Yes = 'Yes') or (Yes = 'Y') or (Yes = 'Yeah') then.
Delete(Str, i, 1); – переменная Str не объявлена, и i не имеет значения.
Двойной repeat until – он не работает так, как ты написал.
Чет про дату спрашивает программа, корректность
 
Регистрация
24 Окт 2013
Сообщения
90
Репутация
1
Спасибо
0
Монет
0
Присваивание и сравнение не путай для начала, а там уже, глядишь, начнешь разбираться по-тихоньку...
repeat - зарезервированное слово оператора repeat - until. Я ХЗ, что ты пытался написать, но так нельзя.
 
Сверху Снизу