Powrót   Forum CDRinfo.pl > Różne > Komputery - oprogramowanie i sprzęt

Komputery - oprogramowanie i sprzęt Pytania i problemy niezwiązane z nagrywaniem, backupem i grami.



Witaj Nieznajomy! Zaloguj się lub Zarejestruj

Zarejestrowani użytkownicy mają dostęp do dodatkowych opcji, lepszej wyszukiwarki oraz mniejszej ilości reklam. Rejestracja jest całkowicie darmowa!

Odpowiedz na post
 
Opcje związane z dyskusją Tryby wyświetlania
Stary 09.12.2006, 23:12   #16
pawelblu
Recydywista - Wielokrotny
Zlotowicz
CDRinfo VIP
 
Avatar użytkownika pawelblu
 
Data rejestracji: 17.01.2003
Lokalizacja: Wawa
Posty: 5,265
pawelblu niedługo stanie się sławny ;) <50 - 149 pkt>pawelblu niedługo stanie się sławny ;) <50 - 149 pkt>
BTW. Narazie do tej funcjonalnosci nie potrzeba Ci listy dwukierunkowej. Korzystasz jedynie z jednego kierunku reprezentujacego stos - masz najnowszy wierzcholek i schodzisz poprzednikami. Narazie zbedna wiec wydaje sie byc pozycja 'nastepny' - chyba ze gdzies indziej jej bedziesz uzywal.
pawelblu jest offline   Odpowiedz cytując ten post

  #ads
CDRinfo.pl
Reklamowiec
 
 
 
Data rejestracji: 29.12.2008
Lokalizacja: Sieć globalna
Wiek: 31
Posty: 1227
 

CDRinfo.pl is online  
Stary 09.12.2006, 23:29   #17
Patrix
Pingwin specjalista.
 
Avatar użytkownika Patrix
 
Data rejestracji: 22.06.2002
Lokalizacja: Central Park
Posty: 15,084
Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>
ok wypisywanie i szukanie sobie zrobi***322;em/poprawi***322;em - a jak wygl***261;da***322;oby usuwanie elementu listy, bo to chyba bedzie wygl***261;da***263; r***243;***380;nie w zale***380;no***347;ci czy to b***281;dzie pocz***261;tek listy (temp^.poprzednia = nil), ***347;rodek listy (temp^.dana) czy koniec listy (temp^.nastepna = nil)

PS
Tak ale jak to zrozumiem na typie dwukierunkowym to jednokierunkowy wystarczy 'odchudzi***263;'
__________________
amiga500site
Patrix jest offline   Odpowiedz cytując ten post
Stary 10.12.2006, 00:32   #18
pawelblu
Recydywista - Wielokrotny
Zlotowicz
CDRinfo VIP
 
Avatar użytkownika pawelblu
 
Data rejestracji: 17.01.2003
Lokalizacja: Wawa
Posty: 5,265
pawelblu niedługo stanie się sławny ;) <50 - 149 pkt>pawelblu niedługo stanie się sławny ;) <50 - 149 pkt>
Cytat:
Napisany przez Patrix Podgląd Wiadomości
ok wypisywanie i szukanie sobie zrobiłem/poprawiłem - a jak wyglądałoby usuwanie elementu listy, bo to chyba bedzie wyglądać różnie w zależności czy to będzie początek listy (temp^.poprzednia = nil), środek listy (temp^.dana) czy koniec listy (temp^.nastepna = nil)

PS
Tak ale jak to zrozumiem na typie dwukierunkowym to jednokierunkowy wystarczy 'odchudzić'
Nie bedzie roznicy - schodzisz, wywalasz i przepinasz. a czy przepniesz null w jakies miejsce czy cos innego to bez znaczenia.

Nie rozumiem PS, ale wydaje mi sie ze dobrze myslisz.

Zrob moze lepiej ten stos

nil <- elem6 <- elem3 <- elem8 <- elem2 <- stos

dodanie elem5 (elem5 pokazuje na elem2, stos pokazuje na elem5)

nil <- elem6 <- elem3 <- elem8 <- elem2 <- elem 5 <- stos

wypsanie - tak jak masz.
szukanie - tak jak masz.

usuwanie.
sprawdzasz czy stos nie jest nil.
sprawdzasz czy stos^.wart = co trzeba jak tak to temp1=stos^.poprz stos^.poprz = nil, stos = temp1
jak nie znalazles to teraz temp2 = stos.
i potem lecimy i sprawdzamy temp2^.poprz^.wartosc (dana to dziwna nazwa BTW). Jak znajdziemy to przepinamy jak wyzej temp1=temp2^.poprz^.poprz; temp2^.poprz^.poprz = nil; temp2^.poprz = temp1.
i tak lecisz dopoki temp2^.poprz nie bedzie nilem

Proponuje poprzerabiac na funkcje i zastanowic sie jakie wartosci powinny byc zwracane. Np. jezeli usun moze zwracac liczbe usunietych wezlow (w szczegolnosci mozesz napisac tak zeby wszystkie wystapienia usuwal, ale tak czy inaczej powinienes zzewnatrz wiedziec czy cokolwiek udalo sie wyrzucic).
pawelblu jest offline   Odpowiedz cytując ten post
Stary 09.10.2007, 19:36   #19
Berion
Hibernant
CDRinfo VIP
 
Avatar użytkownika Berion
 
Data rejestracji: 24.06.2004
Posty: 17,115
Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>
Pozwolę sobie odkopać topik ;]

Czy znalazłby się jakiś "fachman od Delphi" i mógłby mnie oświecić czemu nie mogę skompilować tego wynalazku. Dodam, że jestem newbie co pewnie od razu widać.

Kod:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls;

type
  TForm1 = class(TForm)
    ps2boot: TCheckBox;
    cdrom: TComboBoxEx;
    ps2save: TButton;
    procedure ps2saveClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  cnf: textfile;

implementation

{$R *.dfm}

begin

procedure TForm1.ps2saveClick(Sender: TObject);
begin
   if ps2boot.checked then
      begin
          assignfile(cnf, '.\SYSTEM.TXT');
          try
          rewrite(cnf);
          write('BOOT2 = '); writeln('wstawic cdroma');
          finally
          closefile(cnf);
      end;
    Application.MessageBox('Plik został pomyślnie zapisany','SYSTEM.CNF',0);
end;

end.
Głupio mi, że wysypuję się na takich banałach, ale nie mogę zrozumieć co zrobiłem źle.

errory:

Kod:
  [Error] Unit1.pas(31): Statement expected but 'PROCEDURE' found
  [Error] Unit1.pas(44): ';' expected but '.' found
  [Error] Unit1.pas(46): Declaration expected but end of file found
  [Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'
Dołączone pliki
File Type: zip wynalazek.zip (6.0 KB, 28 oglądane)
__________________
Wszystko co chciałbyś wiedzieć o:
| PSX | PS2 | PS3 | Xbox |

FF000000000003010101010003010000000003010000030000 00000003010000000003010100000003010101010003010000 00000300010101010300000000000301010000000300000001 01030101010100030101000000030000000000030100000000 03000001010103000000000003010100000003000000000103 01000000000301010000000301010000000300000000000301 01010100030000000000030101000000030000000001030003 01000000000301000000030100000000030000000101030100 00000003010000030100000000030100010003010100000003 00000000000300000000000300010301000000000301000003 00000001010301010100000301010000000300000000000301 00000000030000000101030000000001030101000000030101 000000030101000000FF
Berion jest offline   Odpowiedz cytując ten post
Stary 19.10.2007, 08:44   #20
sobrus
Jukebox Hero
 
Avatar użytkownika sobrus
 
Data rejestracji: 17.09.2004
Lokalizacja: Back for the Attack
Posty: 10,800
sobrus ma z czego być dumnym <1000 - 1499 pkt>sobrus ma z czego być dumnym <1000 - 1499 pkt>sobrus ma z czego być dumnym <1000 - 1499 pkt>sobrus ma z czego być dumnym <1000 - 1499 pkt>sobrus ma z czego być dumnym <1000 - 1499 pkt>sobrus ma z czego być dumnym <1000 - 1499 pkt>sobrus ma z czego być dumnym <1000 - 1499 pkt>sobrus ma z czego być dumnym <1000 - 1499 pkt>sobrus ma z czego być dumnym <1000 - 1499 pkt>
Dawno juz w delphi nic nie robi***322;em .... ale nie pownienie***347; da***263; procedury przed beginem? ( po {R...} )?
edit:
albo po prostu wyrzuci***263; ten begin przed procedur***261; ca***322;kowicie
(end. na ko***324;cu zostaje)

Ostatnio zmieniany przez sobrus : 19.10.2007 o godz. 08:47
sobrus jest offline   Odpowiedz cytując ten post
Stary 01.12.2007, 19:12   #21
Berion
Hibernant
CDRinfo VIP
 
Avatar użytkownika Berion
 
Data rejestracji: 24.06.2004
Posty: 17,115
Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>
THX za pomoc, ale jeszcze sobie delphi odpuszcz***281; - jednak.

Tymczasem mam problem z czym innym. Jak tu zrobi***263;, aby w poni***380;szym wynalazku program sam powpisywa***322; wszystkie warto***347;ci z ASCII do tabeli.

Przesuni***281;cia s***261; ok, problem w tym, ***380;e tabela nie rysuje si***281; ca***322;a od pocz***261;tku do ko***324;ca. Nie wiem jak kto wyja***347;ni***263;.
Dołączone obrazki
File Type: png skulshit.png (8.6 KB, 413 oglądane)
Dołączone pliki
File Type: txt skulszit.txt (1.8 KB, 236 oglądane)
__________________
Wszystko co chciałbyś wiedzieć o:
| PSX | PS2 | PS3 | Xbox |

FF000000000003010101010003010000000003010000030000 00000003010000000003010100000003010101010003010000 00000300010101010300000000000301010000000300000001 01030101010100030101000000030000000000030100000000 03000001010103000000000003010100000003000000000103 01000000000301010000000301010000000300000000000301 01010100030000000000030101000000030000000001030003 01000000000301000000030100000000030000000101030100 00000003010000030100000000030100010003010100000003 00000000000300000000000300010301000000000301000003 00000001010301010100000301010000000300000000000301 00000000030000000101030000000001030101000000030101 000000030101000000FF

Ostatnio zmieniany przez Berion : 01.12.2007 o godz. 19:15
Berion jest offline   Odpowiedz cytując ten post
Stary 01.12.2007, 19:25   #22
Patrix
Pingwin specjalista.
 
Avatar użytkownika Patrix
 
Data rejestracji: 22.06.2002
Lokalizacja: Central Park
Posty: 15,084
Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>
w rysowanie tabelek nigdy sie nie bawilem (na szczescie belfrzy dali se siana z tym)

pisze tego posta aby opieprzyc Cie za stosowanie komendy goto

naprawde radze oducz sie _etykietowania_ to z***322;y nawyk i ka***380;dy programista Ci to powie, to nie asembler
__________________
amiga500site
Patrix jest offline   Odpowiedz cytując ten post
Stary 01.12.2007, 19:34   #23
Berion
Hibernant
CDRinfo VIP
 
Avatar użytkownika Berion
 
Data rejestracji: 24.06.2004
Posty: 17,115
Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>
Wszyscy mi tak mówią, tylko ni cholery nie wiem dlaczego? Jest jakaś lepsza alternatywa?
__________________
Wszystko co chciałbyś wiedzieć o:
| PSX | PS2 | PS3 | Xbox |

FF000000000003010101010003010000000003010000030000 00000003010000000003010100000003010101010003010000 00000300010101010300000000000301010000000300000001 01030101010100030101000000030000000000030100000000 03000001010103000000000003010100000003000000000103 01000000000301010000000301010000000300000000000301 01010100030000000000030101000000030000000001030003 01000000000301000000030100000000030000000101030100 00000003010000030100000000030100010003010100000003 00000000000300000000000300010301000000000301000003 00000001010301010100000301010000000300000000000301 00000000030000000101030000000001030101000000030101 000000030101000000FF
Berion jest offline   Odpowiedz cytując ten post
Stary 01.12.2007, 19:39   #24
Patrix
Pingwin specjalista.
 
Avatar użytkownika Patrix
 
Data rejestracji: 22.06.2002
Lokalizacja: Central Park
Posty: 15,084
Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>
Cytat:
Napisany przez Berion Podgląd Wiadomości
Wszyscy mi tak m***243;wi***261;, tylko ni cholery nie wiem dlaczego? Jest jaka***347; lepsza alternatywa?

jak juz chcesz miec petle nieskonczona wracajaca do poczatku po nacisnieciu dowolnego klawisza...

Kod:
program bleble;

uses crt;

var
zonk:integer;

begin
zonk:=1;
 repeat
  clrscr;
  writeln('tutaj program...');
  readln;
 until zonk <> 1;
end.
do zonk'a wpisujesz 1,
petla repeat (powtarzaj) until (dop***243;ki) zonk <> 1 - logicznie, ze zawsze bedzie =1 wiec nie bedzie miec konca
__________________
amiga500site

Ostatnio zmieniany przez Patrix : 01.12.2007 o godz. 19:43
Patrix jest offline   Odpowiedz cytując ten post
Stary 01.12.2007, 19:46   #25
Berion
Hibernant
CDRinfo VIP
 
Avatar użytkownika Berion
 
Data rejestracji: 24.06.2004
Posty: 17,115
Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>
Nie pomy***347;la***322;em o tym

Ale powiedz please, czemu etykiety to niedobry pomys***322;?
__________________
Wszystko co chciałbyś wiedzieć o:
| PSX | PS2 | PS3 | Xbox |

FF000000000003010101010003010000000003010000030000 00000003010000000003010100000003010101010003010000 00000300010101010300000000000301010000000300000001 01030101010100030101000000030000000000030100000000 03000001010103000000000003010100000003000000000103 01000000000301010000000301010000000300000000000301 01010100030000000000030101000000030000000001030003 01000000000301000000030100000000030000000101030100 00000003010000030100000000030100010003010100000003 00000000000300000000000300010301000000000301000003 00000001010301010100000301010000000300000000000301 00000000030000000101030000000001030101000000030101 000000030101000000FF
Berion jest offline   Odpowiedz cytując ten post
Stary 01.12.2007, 20:09   #26
Patrix
Pingwin specjalista.
 
Avatar użytkownika Patrix
 
Data rejestracji: 22.06.2002
Lokalizacja: Central Park
Posty: 15,084
Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>Patrix ma z czego być dumnym <1000 - 1499 pkt>
Cytat:
Napisany przez Berion Podgląd Wiadomości
Ale powiedz please, czemu etykiety to niedobry pomys***322;?
bo jest be
za pomoc***261; goto nie mo***380;na skoczy***263; do innej procedury, p***281;tli...

poza tym estetyka...
tworzenie menu za pomoca goto jest kozackie... i tak wyglada...
zamiast je robic za pomoca goto/etykiet i if'ow to lepiej podzielic program na procedury i wywolywac je za pomoca case... wygl***261;da ***322;adniej i logiczniej...


napisalem Ci na kolanie menu... teraz zr***243;b to samo na goto teraz rozumiesz?
Kod:
program bleble;
uses crt;
var
zonk,zonk1:integer;

procedure aa;
        begin
                writeln('jeden');
        end;
procedure bb;
        begin
                writeln('dwa');
        end;
procedure menu;
        begin
                writeln('[1] procedura aa');
                writeln('[2] procedura bb');
                writeln('[3] wyjdz');
                read(zonk);
        end;
begin
        clrscr;
        zonk1 := 1;
        repeat
         menu;
           case zonk of
                1: aa;
                2: bb;
                3: exit;
           end;
        until zonk1 <> 1;
        readln;
end.
po pewnym czasie doszedlbys do wniosku:

jesli bedziesz miec kilkanascie etykiet to stracisz kontrole nad programem...

np.

masz w programie kolejno (gdzies tam miedzy kodem)

label zonk1;
(...)
label zonk2;
(...)
label zonk3
(...)
label zonkN

i teraz tak jak wywolasz etykiete zonk1; to wykona sie wszystko w innych etykietach nizej czy tego chcesz czy nie...
jesli wywolasz zonk2; to tez za kazdym razem wykona sie wszystko co pod nia...

wywolujac procedure case'm _wyjmujesz_ do wykonania potrzebny Ci FRAGMENT programu, tego nie uzyskasz za pomoca goto
__________________
amiga500site

Ostatnio zmieniany przez Patrix : 01.12.2007 o godz. 20:18
Patrix jest offline   Odpowiedz cytując ten post
Stary 02.12.2007, 12:17   #27
sobrus
Jukebox Hero
 
Avatar użytkownika sobrus
 
Data rejestracji: 17.09.2004
Lokalizacja: Back for the Attack
Posty: 10,800
sobrus ma z czego być dumnym <1000 - 1499 pkt>sobrus ma z czego być dumnym <1000 - 1499 pkt>sobrus ma z czego być dumnym <1000 - 1499 pkt>sobrus ma z czego być dumnym <1000 - 1499 pkt>sobrus ma z czego być dumnym <1000 - 1499 pkt>sobrus ma z czego być dumnym <1000 - 1499 pkt>sobrus ma z czego być dumnym <1000 - 1499 pkt>sobrus ma z czego być dumnym <1000 - 1499 pkt>sobrus ma z czego być dumnym <1000 - 1499 pkt>
etykiety i goto to paskudny pomys***322;. ka***380;dy rozs***261;dny programista opieprzy za ich stosowanie i z***322;apie si***281; za g***322;owe jak przyjdzie mu czyta***263; taki kod...
u mnie na studiach stosowanie tego by***322;o ca***322;kowicie zabronione i te***380; na pocz***261;tku si***281; dziwi***322;em czemu bo jako dziecko stosowa***322;em goto nagminnie w basicu (C64 ).

Nie spotka***322;em ani jednej rzeczy kt***243;r***261; wygodniej by***322;oby zrobi***263; przez goto. Z teoretycznego punktu widzenia dawno jest udowodnione ***380;e wszystko da si***281; napisa***263; trzema typami instrukcji - sekwencji ( ; ), iteracji (while) i selekcji (if). Reszta to tylko dodatki.

Ostatnio zmieniany przez sobrus : 02.12.2007 o godz. 12:23
sobrus jest offline   Odpowiedz cytując ten post
Stary 02.12.2007, 12:39   #28
pawelblu
Recydywista - Wielokrotny
Zlotowicz
CDRinfo VIP
 
Avatar użytkownika pawelblu
 
Data rejestracji: 17.01.2003
Lokalizacja: Wawa
Posty: 5,265
pawelblu niedługo stanie się sławny ;) <50 - 149 pkt>pawelblu niedługo stanie się sławny ;) <50 - 149 pkt>
Cytat:
Napisany przez Berion Podgląd Wiadomości
Wszyscy mi tak m***243;wi***261;, tylko ni cholery nie wiem dlaczego? Jest jaka***347; lepsza alternatywa?
Programy w kt***243;rych u***380;yto instrukcji goto s***261; nieweryfikowalne formalnie. Gdy masz zwyk***322;e p***281;tle mo***380;na np. policzy***263; niezmiennik p***281;tli.

Nieformalnie te***380; jest gorzej - du***380;o gorsza czytelno***347;***263;. Pami***281;taj ***380;e z za***322;o***380;enia oprogramowania nie pisze jedna osoba. Natomiast je***380;eli chodzi o optymalno***347;***263; to dobre zrobienie goto jest bardziej efektywne od zwyk***322;ych p***281;tli, ale trudno jest zrobi***263; dobre i przemy***347;lane labele i instrukcje goto, cho***263; mo***380;na. Tak jest np. w niekt***243;rych fragmentach kodu w j***261;drze linuxa (albo by***322;o, przynajmniej w 2.4).

Cytat:
Napisany przez sobrus Podgląd Wiadomości
Z teoretycznego punktu widzenia dawno jest udowodnione ***380;e wszystko da si***281; napisa***263; trzema typami instrukcji - sekwencji ( ; ), iteracji (while) i selekcji (if). Reszta to tylko dodatki.
Hehehe. No nie do ko***324;ca, a raczej nie w t***261; stron***281;. Prawda wygl***261;da tak ***380;e np. taki while jest t***322;umaczony przez kompilator na goto goto jest instukcj***261; procesora, while to "lukier syntaktyczny", ale taki do***347;***263; estetycznie i funkcjonalnie niezb***281;dny.

p***281;tle i ify s***261; t***322;umaczone na test rekord***243;w (inst. procesora) i odpowiedni skok do odpowiedniej etykiety (inst. procesora).

Ostatnio zmieniany przez pawelblu : 02.12.2007 o godz. 12:47
pawelblu jest offline   Odpowiedz cytując ten post
Stary 02.12.2007, 14:23   #29
Berion
Hibernant
CDRinfo VIP
 
Avatar użytkownika Berion
 
Data rejestracji: 24.06.2004
Posty: 17,115
Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>Berion jest wybitnie uzdolniony i zna sie rzeczowo na sprawach <1500 - 1999 pkt>
Za odpowiedzi wszystkim dzi***281;kuj***281;. Goto wykre***347;lam ze s***322;ownika ;]

//nikt nie wie co jest zr***261;bane w rysowaniu tych tabelek? Zlitujcie si***281; nad moj***261; biedn***261; dusz***261;...
__________________
Wszystko co chciałbyś wiedzieć o:
| PSX | PS2 | PS3 | Xbox |

FF000000000003010101010003010000000003010000030000 00000003010000000003010100000003010101010003010000 00000300010101010300000000000301010000000300000001 01030101010100030101000000030000000000030100000000 03000001010103000000000003010100000003000000000103 01000000000301010000000301010000000300000000000301 01010100030000000000030101000000030000000001030003 01000000000301000000030100000000030000000101030100 00000003010000030100000000030100010003010100000003 00000000000300000000000300010301000000000301000003 00000001010301010100000301010000000300000000000301 00000000030000000101030000000001030101000000030101 000000030101000000FF
Berion jest offline   Odpowiedz cytując ten post
Stary 02.12.2007, 16:46   #30
sobrus
Jukebox Hero
 
Avatar użytkownika sobrus
 
Data rejestracji: 17.09.2004
Lokalizacja: Back for the Attack
Posty: 10,800
sobrus ma z czego być dumnym <1000 - 1499 pkt>sobrus ma z czego być dumnym <1000 - 1499 pkt>sobrus ma z czego być dumnym <1000 - 1499 pkt>sobrus ma z czego być dumnym <1000 - 1499 pkt>sobrus ma z czego być dumnym <1000 - 1499 pkt>sobrus ma z czego być dumnym <1000 - 1499 pkt>sobrus ma z czego być dumnym <1000 - 1499 pkt>sobrus ma z czego być dumnym <1000 - 1499 pkt>sobrus ma z czego być dumnym <1000 - 1499 pkt>
@pawe***322;blu
nie m***243;wie jak to wygl***261;da w sprz***281;towej realizacji na procesorze tylko z punktu widzenia algorytmiki. Oczywi***347;cie ***380;e while jest t***322;umaczony na instrukcje testu i skoku (a tak***380;e na ca***322;***261; mas***281; innych typu wrzucenie zmiennej do rejestru) bo taka jest budowa obecnych procesor***243;w. Dlatego w asseblerze oczywi***347;cie etykiety s***261;.

Kiedy***347; na wyk***322;adzie by***322;a maszyna kt***243;ra mia***322;a kilka strasznie prymitywnych instrukcji typu skok, zwi***281;kszenie warto***347;ci o 1 itp.
I by***322;a ca***322;kowicie r***243;wnowa***380;na wszystkim obecnym komputerom. Tylko ***380;e zrobienie na niej czegokolwiek na poziomie 3+5 to by***322;a masakra. Ale kompilator pewnie zrobi***263; by si***281; da***322;o

Ostatnio zmieniany przez sobrus : 02.12.2007 o godz. 16:55
sobrus jest offline   Odpowiedz cytując ten post
Odpowiedz na post


Twoje uprawnienia:
Nie możesz rozpoczynać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz umieszczać załączników
Nie możesz edytować swoich postów

BB codeWłączone
EmotikonkiWłączone
Kody [IMG]Włączone
Kody HTML są Wyłączone

Teleport


Wszystkie czasy w strefie CET. Aktualna godzina: 12:46.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.