Skus vytvorit novy textovy dokument (hocikde trebars na ploche pravym->vytvorit novy...) a skopiruj tam ten svoj kod na prvej strane. Potom daj ctrl+F9 a nevidim dovo preco by to neslo
A este k tym dalsim programom, mas 3 cisla usporiadat od najmensieho po najvacsi? Tak ked uz mas min a max tak zistis aj stredne cislo a mozes vypisovat
+ tie trojuholniky: Sucet hociktorych stran musi byt vacsi ako tretia strana. Tri podmienky a hotovo. A aky trojuholnik? To neviem ako je myslene...
Sgt.Moody napísal:Opravil som to ale aj tak sa mi to nedá spustiť
ked to nejde spustit tak vyskoci siva tabulka. dole v okne sa objaci ramcek a tam su dve cisla. prve je riadok druhy je pozicia na riadku kde nastala chyba a za nim je popis chyby. ked to neopravis tak to tu preposli ale nie ako obrazok ale ako text pomocou tlacitka code
program cisla;
var a,b,c,max,min:integer;
begin
writeln('zadaj cislo a');
readln(a);
writeln('zadaj cislo b');
readln(b);
writeln('zadaj cislo c');
readln(c);
if a>b
then max:=a
else max:=b;
if max<c
then max:=c;
if a<b
then min:=a
else min:=b;
if min>c
then min:=c;
writeln('max hodnota je,', max:3:2');
writeln('min hodnota je', min:3:2');
readln;
end.
A ten 3uholník aký to je? No že či je rovnostranný, rovnoramený...
max:3:2 nemozes napisat ak pouzivas integer. To je pre upravu desatinych miest pri desatinych cislach (A teda pre typ real)
Inak je to dobre.
A k tym trojuholnikom... rovnostranny je ak a=b=c, rovnoramenny je ak su práve dve strany rovnake, pravouhly je ked plati pytagorova veta... ake su este trojuholniky...
Samozrejme na zaciatku musis zistit, cis a jedna o trojuholnik. A teda ci sucet dvoch stran je vacsi ako tretia
k tomu trojuholniku. zoradis tie cisla na to uz program mas teraz zistis ci vobec trojuohlnik moze existovat(ci sa da nakreslit). na to sa pouziva trojuholnikova nerovnost. Ta vravi: sucet dlzky lubovolnych dvoch stran v trojuholniku musi byt vacssi ako dlzka tretej strany. takze pomocou if vyhodnotis ci plati toto
k typu trojuholniku. tam asi ide o to ci je rovnostranny, rovnorameny, alebo roznostranny. to je opat jednoduche. opat cez if. a=b=c vtedy je rovnostrany. ak a=b alebo dalsia z kombinaci a=c b=c vtedy je rovnoramenny a ak a<>b<>c vtedy je roznostranny
program cisla;
var a,b,c,s,max,min:integer;
begin
writeln('zadaj cislo a');
readln(a);
writeln('zadaj cislo b');
readln(b);
writeln('zadaj cislo c');
readln(c);
if a>b
then max:=a
else max:=b;
if max<c
then max:=c;
if a<b
then min:=a
else min:=b;
if min>c
then min:=c;
writeln('Maximalne cislo je ',max);
if (a>min) and (a<max) then begin
writeln('Stredne cislo je ',a);
s:=a;
end;
if (b>min) and (b<max) then begin
writeln('Stredne cislo je ',b);
s:=b;
end;
if (c>min) and (c<max) then begin
writeln('Stredne cislo je ',c);
s:=c;
end;
writeln('Minimalne cislo je ',min);
if (a+b>c) and (b+c>a) and (c+a>b)
then begin
writeln('Trojuholnik sa da zostrojit');
if a=b=c then writeln('Trojuholnik je rovnostranny');
if (a=b) or (b=c) or (a=c) then writeln('Trojuhlnik je rovnoramenny');
if min^2+s^2=max^2 then writeln('Trojuholnik je pravouhly');
end;
else writeln('Neda sa zostrojit');
readln;
end.
Nebolo by prehľadnejšie, keby si si v premenných tie čísla usporiadal (prípadne, ak potrebuješ niekde ich pôvodné poradie, tak by si ich mohol zoradiť do iných premenných).
To a=b=c aj funguje?
Ak je trojuholník rovnostranný, tak nemôže byť iný a teda tú podmienku na rovnoramennosť daj do else (a keď je rovnostranný, tak nemôže byť pravouhlý, takže to tiež bude v tej else časti).
if a=b=c then writeln('Trojuholnik je rovnostranny'); ma vyzerat if (a=b) and (c=b) then writeln('Trojuholnik je rovnostranny');
riadok if min^2+s^2=max^2 then writeln('Trojuholnik je pravouhly'); pascal pouziva pre druhu mocninu prikaz sqr (z anglickeho square-stvorec) takze if sqr(min)+ sqr(s)=sqr(max); ale niesom si isty ci to prejde (neche sa mi spustat pascal).su to len chyby zapisu ci to vobec robi to co ma robit toto hladat nebudem a este odporucam precitat toto http://sulo.stary-gympel.sk/free-pascal-uvod/ vyhnes sa aspon zakladnym chybam a citaj co vypise debugger (to je to okno dole ktore vyskoci ked sa program nepodari spustit)
program cisla;
var a,b,c,s,max,min:integer;
begin
writeln('zadaj cislo a');
readln(a);
writeln('zadaj cislo b');
readln(b);
writeln('zadaj cislo c');
readln(c);
if a>b
then max:=a
else max:=b;
if max<c
then max:=c;
if a<b
then min:=a
else min:=b;
if min>c
then min:=c;
writeln('Maximalne cislo je ',max);
if (a>min) and (a<max) then begin
writeln('Stredne cislo je ',a);
s:=a;
end;
if (b>min) and (b<max) then begin
writeln('Stredne cislo je ',b);
s:=b;
end;
if (c>min) and (c<max) then begin
writeln('Stredne cislo je ',c);
s:=c;
end;
writeln('Minimalne cislo je ',min);
if (a+b>c) and (b+c>a) and (c+a>b)
then begin
writeln('Trojuholnik sa da zostrojit');
if (a=b) and (c=b) then writeln('Trojuholnik je rovnostranny')
else (a=b) or (b=c) or (a=c) then writeln('Trojuhlnik je rovnoramenny');
if sqr(min)+sqr(s)=sqr(max) then writeln('Trojuholnik je pravouhly');
end;
else writeln('Neda sa zostrojit');
readln;
end.