RelaxДом

RelaxДом (https://forum.relaxdom.net/index.php)
-   Программирование (https://forum.relaxdom.net/forumdisplay.php?f=48)
-   -   Pascal (https://forum.relaxdom.net/showthread.php?t=798)

Хитрый_жук 25.02.2008 18:31

Re: Pascal
 
Цитата:

Сообщение от slime (Сообщение 45524)
1. не smile а slime!
2. почему это в паскале не прокатит подобная вещь? "x=5;y=6;print x+y;" или я не совсем понял что ты имел ввиду, но на паскале это можно написать следующим образом:
Код:

x = 5;
y = 6;
z = x + y;
WRITE(z);

да и писать в одну строку не абсурд, просто это кривой стиль, но компилятору по барабану в принципе ты хоть всю прогу в одну строку напиши он у тебя ее съест и не подавится))) (в случае если конечно код без ошибок) а вообще то правильно конечно все писать по BNF

= везде на := замени для начала)

Добавлено через 1 минуту
Цитата:

Сообщение от firstvirus (Сообщение 45630)
А в Си или Бейсике это можно написать в одну строку. Что иногда усложняет отлов багов.

Зачем все в 1 строку писать? Код плохо читаем без форматирования ... Ты сам в нем запутаешся ...

slime 26.02.2008 20:16

Re: Pascal
 
Цитата:

Сообщение от Хитрый_жук (Сообщение 45725)
= везде на := замени для начала)

блин касяг)) ща все поправлю=)
Цитата:

Зачем все в 1 строку писать? Код плохо читаем без форматирования ... Ты сам в нем запутаешся ...
+1 с форматированием код гораздо легче читаем да и выглядит красивее))

Floris 17.04.2008 22:12

Re: Pascal
 
Объясните как делать сортировку по возростанию ???

Infinity 08.06.2008 00:30

Re: Pascal
 
эм...как то ваще не коректно поставлен вопрос но вот короче такую лажу попробуй может те имено это надо...
procedure SortBubble(var a: Tdata);
var i, j: Integer;
tmp : integer;

begin

for i := 2to N do begin
for j := N downto i do
if a[j-1] > a[j] then begin //сравнение элэметов
tmp := a[j]; // jбмен элэментов местами
a[j] := a[j-1];
a[a-1] =: tmp
end
end;
end;




вот короче нечто того.....я просто непойму что имено надо тебе

Crash 19.02.2009 15:17

Re: Pascal
 
Лучше без goto бы.

firstvirus 21.02.2009 18:05

Re: Pascal
 
Program Kvadratnoe_yravnenie;
var a,b,c,D,x1,x2:real;
label 1,2,3;
begin
writeln('Введите число a');
read(a);
writeln('Введите число b');
read(b);
writeln('Введите число с');
read(c);
D:=b*b-4*a*c;
if D<0 then write('Корней нет');
else
if D=0 then x1:=-b/2*a
begin
write('Уравнение имеет два одинаквых корня x=', x1);
end;
else
begin
x1:=(-b+sqrt(D))/(2*a);
x2:=(-b-sqrt(D))/(2*a);
write('Уравнение имеет два различных действительных корня ');
writeln('x1=',x1);
writeln('x2=',x2);
end;
end.

begin...end - используются как скобки исполняемого кода. Если ты не хочешь такие куски ставить в основной код то помести код в функцию и вызывай ее, но так будет дольше выполнятся программа, хотя это не заметно при нынешних мощах. Про существование goto забудь как страшный сон. Нет его и пользоваться низзя.
Я когда учился в РМТ у нас препод ставил баллы за выполненную работу. За goto в программе он ставил неуд без возможности пересдать.

yoshkin_kot 22.02.2009 01:22

Re: Pascal
 
вапщет ваши 2 проги с множеством ошибок :D
правильнее буит так:
Цитата:

var
a,b,c,x,x1,x2,d:real;
begin
writeln('Введи a:');
readln(a);
writeln('Введи b:');
readln(b);
writeln('Введи c:');
readln(c);
If a=0 then
begin
if b=0 then
begin
if c=0 then
begin
writeln('Бесконечное множество решений')
end
else
writeln('Уравнение не имеет смысла')
end
else
begin
x:=-c/b;
writeln('Корень уравнения равен:',x:5:2)
end;
end
else
begin
d:=sqr(b)-4*a*c;
if d<0 then
begin
writeln('Уравнение не имеет корней')
end
else
begin
x1:=(-b+sqrt(d))/2*a;
x2:=(-b-sqrt(d))/2*a;
writeln('Дискриминант:',d:5:2);
writeln('Первый корень уравнения равен:',x1:5:2);
writeln('Второй корень уравнения равен:',x2:5:2)
end;
end;
readln
end.


Часовой пояс GMT +4, время: 01:04.

Powered by vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot