Pascal- Chyba syntax ";" – Pascal – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Pascal- Chyba syntax ";" – Pascal – Fórum – Programujte.comPascal- Chyba syntax ";" – Pascal – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
alex_laco
~ Anonymní uživatel
11 příspěvků
24. 5. 2014   #1
-
0
-
Nahlásit jako SPAM
IP: 77.48.69.–
Reklama
Reklama
Kit+11
Guru
25. 5. 2014   #2
-
0
-

#1 alex_laco
Chybí ti tam středníky mezi příkazy.

Nahlásit jako SPAM
IP: 46.174.37.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
hlucheucho+10
Posthunter
25. 5. 2014   #3
-
0
-

... a přímo ti to píše v popisu chyby. Stačilo by si tu chybu dát do překladače např. na Google. Nevím, jak tvůj kód má fungovat, ale tuším, že by příkazy za druhou podmínkou měli být v "příkazových závorkách" begin/end. Ale to je jen věštění z lógru od kafe.

hu

Nahlásit jako SPAM
IP: 188.95.60.–
alex_laco
~ Anonymní uživatel
11 příspěvků
25. 5. 2014   #4
-
0
-

#2 Kit
Ahoj. Ďakujem. Středníky som tam už dal (No neviem či správne) a teraz mi to hádže toto.

Připojen obrázek.

A už neviem čo s tým. Možno je tam iba dáka blbosť. Program má slúžiť na zoradenie čísiel od najmenšieho po najväčšie. Celé to vyzerá takto.

program cisla2;
var A,B,C,A1,B2,C3,M1,M2,M3: integer;

begin
writeln('Napíš číslo A');
readln(A);
writeln('Napíš číslo B');
readln(B);
writeln('Napíš číslo C');
readln(C);
       begin
          if (A>B) then
            begin
              if (B>C) then
               A1:=C;
               B2:=B;
               C3:=A;
                else
                   if (A>C) then
                    A1:=B;
                    B2:=C;
                    C3:=A;
                      else
                        A1:=B;
                        B2:=A;
                        C3:=C;
             end;
           else
            begin
             if (B<C) then
              A1:=A;
              B2:=B;
              C3:=C;
                else
                  if (A>C) then
                   A1:=A;
                   B2:=C;
                   C3:=B;
                     else
                       A1:=C;
                       B2:=A;
                       C3:=B;
             end;
       end;

writeln(A1,'--',B2,'--',C3);
readln();

end.

Nahlásit jako SPAM
IP: 77.48.69.–
hlucheucho+10
Posthunter
25. 5. 2014   #5
-
0
-

   

 if (A>C) then
   A1:=B;
   B2:=C;
   C3:=A;
     else
       A1:=B;
       B2:=A;
       C3:=C;

přemýšlej co tam chybí. Nápověda je v mém předchozím příspěvku.

hu

Nahlásit jako SPAM
IP: 188.95.60.–
alex_laco
~ Anonymní uživatel
11 příspěvků
25. 5. 2014   #6
-
0
-

#5 hlucheucho
Ospravedlňujem sa ale neviem.

Nahlásit jako SPAM
IP: 77.48.69.–
hlucheucho+10
Posthunter
25. 5. 2014   #7
-
0
-

Při splnění podmínky se má provést několik příkazů, při nesplnění jiná sekvence příkazů.  Takže sntaxe podmínky je:

if podmínka then
  blok kódu 1
    else
      blok kódu 2

Jak vypadá blok kódu v Pascalu?

O kousek výš to máš dobře....

hu

Nahlásit jako SPAM
IP: 188.95.60.–
alex_laco
~ Anonymní uživatel
11 příspěvků
25. 5. 2014   #8
-
0
-

#7 hlucheucho

Skúsil som toto ale stále to nejde. 

begin
          if (A>B) then
            begin
              if (B>C) then
                A1:=C;
                B2:=B;
                C3:=A;
                 else
                   begin
                    if (A>C) then
                    A1:=B;
                    B2:=C;
                    C3:=A;
                      else
                        A1:=B;
                        B2:=A;
                        C3:=C;
                   end;
            end;
           else
            begin
             if (B<C) then
              A1:=A;
              B2:=B;
              C3:=C;
                else
                 begin
                  if (A>C) then
                   A1:=A;
                   B2:=C;
                   C3:=B;
                     else
                       A1:=C;
                       B2:=A;
                       C3:=B;
                 end;
             end;
       end;
Nahlásit jako SPAM
IP: 77.48.69.–
hlucheucho+10
Posthunter
25. 5. 2014   #9
-
0
-

pořád stejná chyba. Podmínka, kde se provede více příkazů:

if (B<C) then
  begin
    A1:=A;
    B2:=B;
    C3:=C;
  end;

Určitě ti to ve škole říkali a nebude to tak dávno jako u mne. Navíc by se to dalo i vygůůůůglit. Je to 23 let co jsem něco dělal v Pascalu...

hu

Nahlásit jako SPAM
IP: 188.95.60.–
p3can
~ Anonymní uživatel
312 příspěvků
25. 5. 2014   #10
-
0
-

 a pred ELSE nemuze byt strednik (je to fakt blba chyba a ta hlaska neni moc inteligentni)

Nahlásit jako SPAM
IP: 77.92.213.–
Kit+11
Guru
26. 5. 2014   #11
-
0
-

#10 p3can
Před tím "else" má tři příkazy, které zřejmě patří za "then". Proto ty tři příkazy musí být zabaleny do příkazových závorek "begin" ... "end".

A to se opakuje v celém programu několikrát.

Nahlásit jako SPAM
IP: 147.229.242.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
hlucheucho+10
Posthunter
26. 5. 2014   #12
-
0
-

#11 Kit
na to tady narážím od samého počátku, včera jsem napsal i ukázku. 

hu

Nahlásit jako SPAM
IP: 195.178.67.–
p3can
~ Anonymní uživatel
312 příspěvků
26. 5. 2014   #13
-
0
-

#11 Kit
jasny ze to musi byt v bloku begin/end. ja jen rikam ze mezi end a else nemuze byt strednik. sam si pamatuju ze je to docela zacatecnicka chyba a ten prekladac vyhodi nejakou stupidni hlasku pokud si pamatuju dobre.

Nahlásit jako SPAM
IP: 77.92.213.–
Kit+11
Guru
26. 5. 2014   #14
-
0
-

#13 p3can
Ono se to dost plete, protože třeba v C/C++ tam ten středník naopak být musí.

Zlatý Fortran, ten žádné beginy ani středníky nepotřebuje :)

Nahlásit jako SPAM
IP: 147.229.242.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
p3can
~ Anonymní uživatel
312 příspěvků
26. 5. 2014   #15
-
0
-

#14 Kit
fuj fortran nejlepsi je C#   

Nahlásit jako SPAM
IP: 77.92.213.–
Honzc
~ Anonymní uživatel
221 příspěvků
27. 5. 2014   #16
-
0
-

#8 alex_laco
Máš begin...end kde nemusí být, a naopak tam kde musí být tak je nemáš. A opravdu před else se středník nepíše.

 Ykus to takhle:

 if (A>B) then
   if (B>C) then
   begin
     A1:=C;
     B2:=B;
     C3:=A;
   end
   else
     if (A>C) then
     begin
       A1:=B;
       B2:=C;
       C3:=A;
     end
     else
     begin
       A1:=B;
       B2:=A;
       C3:=C;
     end
 else
   if (B<C) then
   begin
     A1:=A;
     B2:=B;
     C3:=C;
   end
   else
     if (A>C) then
     begin
       A1:=A;
       B2:=C;
       C3:=B;
     end
     else
     begin
       A1:=C;
       B2:=A;
       C3:=B;
     end;

Nahlásit jako SPAM
IP: 93.181.78.–
hlucheucho+10
Posthunter
27. 5. 2014   #17
-
-1
-
Mimo téma
Kit -

poznámka k efektivitě kódu: příkaz prováděný v obou větvích (if i else) může být před nebo za podmínkou 

  C3:=B;  
  if (A>C) then
     begin
       A1:=A;
       B2:=C;
     end
     else
     begin
       A1:=C;
       B2:=A;
     end;

hu

Nahlásit jako SPAM
IP: 195.178.67.–
peter
~ Anonymní uživatel
2539 příspěvků
27. 5. 2014   #18
-
0
-

Tak, jako, on uz pred IFy mohl naplnit a1,b2,c3. IFama to jen prepsat. Ale prislo mi to nepodstatny, kdyz uz to nedela cyklem, polem nebo funkci/procedurou (ktera porovna dve hodnoty a pripadne je zameni). Tez jsem si nevsiml treba prevod stringu na cislo z readln, nevim, zda to pascal dela sam...

procedure porovnej(aa,bb) begin var tmp; if (aa>bb) then begin tmp=aa; aa=bb; bb=tmp; end;end;
porovnej(a,b);
porovnej(b,c);
porovnej(a,b);
Ale bude to treba prepsat pascalove spravne.

Nahlásit jako SPAM
IP: 2001:718:2601:258:c85f:ca...–
Kit+11
Guru
27. 5. 2014   #19
-
0
-

#15 p3can
C# potřebuje složené závorky i středníky.

Co máš proti Fortranu? Je to nejvýkonnější jazyk, jaký znám. Na drcení čísel není nic lepšího.

Nahlásit jako SPAM
IP: 147.229.242.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
p3can
~ Anonymní uživatel
312 příspěvků
27. 5. 2014   #20
-
0
-

#19 Kit
pokud beres jazyk jako nastroj k dosazeni specifickeho cile, tak fortran z hlediska "matematickych" vypoctu je udajne nejefektivnejsi z vice hledisek.

pokud ale beres jazyk jako komplexni nastroj pro vyvoj, tak podle me c# nema konkurenci protoze pokryva momentalne obrovske mnozstvi platforem (win, linux, andoid, mac + dalsi kompatibilni s mono) a take pokryva siroke spektrum projektu (desktop aplikace, embeded zarizeni, "mikropc", mobily, weby, servery, 3d hry ...)

Nahlásit jako SPAM
IP: 77.92.213.–
hlucheucho+10
Posthunter
27. 5. 2014   #21
-
0
-

#20 p3can
C# má silnou konkurenci v C/C++ - je multiplatformní vč. RTOS a systémů bez OS a pokrývá široké spektrum projektů až po low level aplikace na jednočipech. Silná konkurence roste i v Delphi, kde Embarcadero se silně zaměřilo na podporu mobilních zařízení.

hu

Nahlásit jako SPAM
IP: 195.178.67.–
peter
~ Anonymní uživatel
2539 příspěvků
27. 5. 2014   #22
-
0
-

Php funguje taky dobre radu let vsude :)
Jinak teda, co do efektivnosti, tak v puvodnim kodu je 5 ifu a a 18 prirazeni (Honzc). Minule jsem napsal, ze staci 3 a prirazeni asi tak polovicka. Nema smysl tedy resit jazyk.
 

Nahlásit jako SPAM
IP: 2001:718:2601:258:c85f:ca...–
Kit+11
Guru
27. 5. 2014   #23
-
0
-

#20 p3can
C# má přímou konkurenci: Javu, která pokrývá stejnou oblast použití.

Zmíněný Fortran je také multiplatformní a pokrývá široké spektrum projektů, jen se o něm tolik nemluví. Dá se použít všude tam, kde se dá použít jazyk C.

Nahlásit jako SPAM
IP: 147.229.242.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
p3can
~ Anonymní uživatel
312 příspěvků
27. 5. 2014   #24
-
0
-

#23 Kit
no nechtel bych rozjizdet nejaky flame war. chtel jsem pouze rict ze osobne povazuju C# za nejperspektivnejsi, protoze pokryva nejsirsi spektrum platforem a projektu. c/c++/fortran jsou specializovane jazyky urcene primarne pro "matematicke" typy aplikaci kde se vyzaduje vysoky vykon. to se neda moc srovnavat se C#. alternativa k C# je jedine Java. rozdim mezi java a C# je ten c# pokryva sirsi spektrum (kvuli mono) projektu.

Nahlásit jako SPAM
IP: 77.92.213.–
hlucheucho+10
Posthunter
27. 5. 2014   #25
-
0
-

C/C++ není primárně určen pro matematické aplikace

hu

Nahlásit jako SPAM
IP: 188.95.60.–
p3can
~ Anonymní uživatel
312 příspěvků
27. 5. 2014   #26
-
0
-

C/C++ je urcen hlavne pro "RTOS a systémy bez OS". dale se jeste pouziva v aplikacich kde se vyzaduje vysoky vykon jako audio/video konventory/knihovny a také 3D hry. o multiplatformnosti by se dalo diskutovat protoze C++ samo o sobe neobsahuje nic jako .NET BCL (nebo ekvivalent standartních knihoven v Jave) takze nevim presne co by se tam sdilelo.

Co se tyka napr RAD Studia XE 6 tak k tomu jsem trochu skepticky protoze v podani embarcadera je z toho pouze je jeden z mnoha "black box" systemu pro vyvoj univerzalnich aplikaci, kdezto xamarin (C#) nabizi pouze port standartnich knihoven do jazyka C#.

Nahlásit jako SPAM
IP: 77.92.213.–
Kit+11
Guru
28. 5. 2014   #27
-
0
-

#24 p3can
Píšeš, že nechceš rozjet flamewar a zároveň píšeš, že C# pokrývá širší spektrum úloh než Java. Tak co z toho je pravda?

Nahlásit jako SPAM
IP: 147.229.242.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
alex_laco
~ Anonymní uživatel
11 příspěvků
28. 5. 2014   #28
-
0
-

#9 hlucheucho
Ďakujem už to všetko funguje ako má. ;) V škole mi to ešte nevraveli lebo som ešte na základnej škole ale chystám sa ísť tou cestou. Páči sa mi tvoj štýl že nepovieš to hneď ale vysvetlíš a necháš nech na to dojdem sám ;) +1

Nahlásit jako SPAM
IP: 77.48.69.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 13 hostů

Podobná vlákna

Pascal: kurz turbo pascal II — založil Systém

Syntax — založil RePRO

Syntax highlighter — založil djanosik

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý