Datuve :: Forums :: Arhīvs :: Kā var ierobežot goto pascal?

Datuve

Mana Datuve

Reģistrācija | Noteikumi | Paroles atjaunošana



Forums

Ieskaties


Raksti

Lietotāji online

Lietotāji online: 101

Reģistrētie lietotāji online: 0

Viesi online: 101

Datuve.lv video
Top.LV

Kā var ierobežot goto pascal?

Ievietoja: normis_161 @ 2008.03.07 22:36  

program  p1;
uses crt, lodex;
Label 1, 2, 3, 4, 5;
var r, a, g, b, c, h, l, u, x, y: integer;
   t: char;

Begin
   clrscr;
   Writeln('A = Lode');
   Writeln('B = Kubs');
   Writeln('C = Piramida');
   Writeln('D = Konus');
   Writeln('E = Cilindrs');

              writeln('Kuru no dotajam figuram izvelesimies?');
              readln(t);

                if t='A' then goto 1;
                If t='B' then goto 2;
                If t='C' then goto 3;
                If t='D' then goto 4;
                If t='E' then goto 5;

             1: Begin
                writeln('Ievadiet radiusu, lai aprekinatu lodes tilpumu');
                readln(r);
                Writeln('lodes tilpums ir ', lode(r):2:2);
                 readkey;
                  end;


        2: Begin
            writeln('Ievadiet kuba malu, lai aprekinatu kuba tilpums');
            readln(a);
             Writeln('kuba tilpums ir ', kubs(a):2:2);
             readln;
             end;
.....................
end.
Neliels paraugs no manas programmas. Man rādās tāds jautājums, kāpēc katrs goto netiek ierobežots? Vnk domāju, ka ar "end;"  viņš tiks ierobežots. Vnk tagad ir tāda situācija, kad viņš pāriet uz "1:", tad viņš nebeidzas pie pirmā "end;", bet gan pie pašas programmas "end."
p.s. Ja rodas jautājums, kāpēc es izmantoju goto, tad tas ir tāpēc, ka ar viņu man sanāca tas, ko es gribēju - izveidot izvēli, bet tikai pagaidām daļēju.

Komentāri:

#1 EmilsK @ 2008.03.07 22:41

Man izklausas ka kaut kur readln; nav, palasi http:\\www.liis.lv

#2 mefisto @ 2008.03.07 22:47

Tev vispār nevajadzētu lietot goto, tas izraisa smadzeņu vēzi un impotenci.

#3 normis_161 @ 2008.03.07 22:52

Skaidrs. Paldies. Būs tad kaut kas cits jālieto, jo cik noprotu, tad te neko nevar izdarīt, izņemot, to, ka ir jāmaina princips.

#4 WildGun @ 2008.03.07 23:01

Īsti vairs neatceros - vai Paskālā nav CASE ?

#5 gruzawix @ 2008.03.07 23:04

ir CASE un to ļoti labi varētu izmantot šādu izvēlņu veidošanā

#6 mefisto @ 2008.03.07 23:07

un procedūras arī var veidot,

#7 WildGun @ 2008.03.07 23:09

Vispār jau GO TO tiek uzskatīts par ļoti sliktu toni. Pat Beisikā.

#8 normis_161 @ 2008.03.07 23:15

Es tikko pabeidzu. :) Es izmantoju šādu variantu: "if.... then...."

#9 pyro @ 2008.03.08 12:01

go to ierobežot var tikai pieliekot citu goto beigās, jo goto vnk nomaina vietu no kuras turpināsies secīgi izpildīties kods. bet kā jau cilvēki norādīja - goto nevajag lietot.