Помощь - Поиск - Пользователи - Календарь
Полная версия: Пмогите плиз с оформлением
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Мартын
Люди помогите пожалуйста , не могу оформить задачу. У нас учитель казел, не может зачесть ппрограмму пока она правельно не будет отфарматированна ! Тобишь типа два пробела от begin нуна делать и так далее

Вот можете посматреть что в этих двух программа не правельно расставлено ? И как сделать оформление правельным

Цитата

var i,f,n,x :integer;
b:boolean;
begin
readln(n);
f:=1;
b:=true;
i:=0;
repeat
readln (x) ;
if x<f then
b:=false;
f:=x;
i:=i+1
until (b=false) or (i=n);
if b then writeln ('vozrast');
if (not b) then writeln ('net');
end.


И вот вторая программка
Цитата

var j,a,b,h: integer;
x,y,z: real;
f,f2:boolean;
const eps=0.0000000001;
begin
write('Ââåäèòå a,b,h: ');
readln(a,b,h);
writeln('x | y | z');
f:=false;
f2:=false;
while a<b do
begin
x:=a;
if(sin(x)>=0) and ((x*x + sqrt(sin(x)))<>0) then
begin
y:=1/(x*x + sqrt(sin(x)));
f:=true;
end;

if(x>0) and (sin(x)<>0) then
begin
z:=1/( exp(sqrt(x))) - cos(x)/sin(x);
f2:=true;
end;
if(f=true) and (f2=true) then writeln(x,'|',y,'|',z);
if(f=true) and (f2=false) then writeln(x,'|',y,'|_');
if(f=false) and (f2=true) then writeln(x,'|_|',z);
if(f=false) and (f2=false) then writeln(x,'|_|_');
a:=a+h;
f:=false;
f2:=false;
end;
end.
Гость
извеняюсь чуток не правльно кинул программы, через цитату кинул поетому пробелы убрались
var j,a,b,h: integer;
x,y,z: real;
f,f2:boolean;
const eps=0.0000000001;
begin
write('Ââåäèòå a,b,h: ');
readln(a,b,h);
writeln('x | y | z');
f:=false;
f2:=false;
while a<b do
begin
x:=a;
if(sin(x)>=0) and ((x*x + sqrt(sin(x)))<>0) then
begin
y:=1/(x*x + sqrt(sin(x)));
f:=true;
end;

if(x>0) and (sin(x)<>0) then
begin
z:=1/( exp(sqrt(x))) - cos(x)/sin(x);
f2:=true;
end;
if(f=true) and (f2=true) then writeln(x,'|',y,'|',z);
if(f=true) and (f2=false) then writeln(x,'|',y,'|_');
if(f=false) and (f2=true) then writeln(x,'|_|',z);
if(f=false) and (f2=false) then writeln(x,'|_|_');
a:=a+h;
f:=false;
f2:=false;
end;
end.

И еще
var i,f,n,x :integer;
b:boolean;
begin
readln(n);
f:=1;
b:=true;
i:=0;
repeat
readln (x) ;
if x<f then
b:=false;
f:=x;
i:=i+1
until (b=false) or (i=n);
if b then writeln ('vozrast');
if (not b) then writeln ('net');
end.


М
Можешь называть меня "казлом", но сообщения надо правильно оформлять. Ставь паскалевские теги!
-- Лопарь

Артемий
Цитата
учитель казел

да нет,учитель как раз правильно делает!
sintanial
ну блин я полтора часа пытался отформатировать так нечего и не получилось. Я конечно погоречился(просто уже какую неделю не могу сдать =) ), он не казел но все же, он даже не может проверить правльность задачи, хотя бы правельность проверил бы =(( .
Ну так что, что тута можно отфармотировать ?=) а то я уже не знаю )
Артемий
Не хочу быть многословным, но понимаешь, иногда именно проверить бывает сложно с таким форматированием.
sintanial
артемий пожалуйста покажи где ошибка =)
volvo
Цитата
что тута можно отфармотировать ?
Да много чего... Программа вообще-то должна быть написана так, чтобы с первого взгляда было понятно, что к чему. Вот у тебя этого как раз нет... Например, тут:

    if x<f then
b:=false;
f:=x; { <--- вот эта строка что, ТОЖЕ к If относится? }
i:=i+1


а если нет, то почему она ровно ПОД той строкой, которая выполняется при истинном условии? Она должна быть левее...
Гость
Люди можете пожалуйста отфармотировать и выложить сдесь. А я посматрю, и запомню как надо, и в следующий раз не буду уже допускать такие ошибки =)
Lapp
Тебе же volvo написал все. Сдвинь две строчки, начиная с той, которую он отметил, на две позиции влево. Точно такая же ситуация есть и в другой проге.
Еще желательно var, const и type - тоже форматировать. Вот так:
type
tType1 = integer;
tType2 = real;
tType3 = record
a,b,c,d: real;
p: pointer;
end;

var
v1,v2: tType1;
v3: tType2;

Еще одна рекомендация, но это на любителя: писать begin в конце строчки типа if. Вот так:
if a<b then begin
Oper1;
Oper2;
end
else begin
Oper3;
Oper4;
end;

Если же if не требует begin (то есть только один оператор за ним), то писать его на той же строке:
if a<b then c:=a+b else c:=a-b;
Аналогично с wile, for и repeat.
В остальном у тебя все вполне прилично, вроде.. если я ничего не пропустил smile.gif.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.