programik w pascalu - nida help ;/

Problemy dotyczące programowania.

Moderatorzy: Moderatorzy, Administratorzy

Awatar użytkownika
Rookie One
Użytkownik
Posty: 230
Rejestracja: 2004-11-13, 13:16
Lokalizacja: Gliwice
Kontakt:

Re: programik w pascalu - nida help ;/

Post autor: Rookie One »

tadziu pisze:sorki, mialem na mysli apostrofy. jednak zauwaz, ze ty ich nie uzyles i haslo mozesz sobie wpisywac do woli - i tak nie przejdzie...
Niby w ktorym miejscu brak apostrofow?! Przeciez na poczatku jest stala haslo, jej wartosc jest w apostrofach, a nazw zmiennych nie wpisuje sie w apostrofy... ;/
Rookie One pisze:

Kod: Zaznacz cały

const
   haslo = 'Pascal';
(...)

Kod: Zaznacz cały

   until (wprowadz = haslo);
I gdzie ci tu brakuje apostrofow, hm???
[color=darkblue][b]- [ Slackware 10.2, kernel 2.4.31 ]
- [ Windows XP Home SP2 ][/b][/color]
[size=75]Pentium 4 3 GHz HT, 512 MB RAM, Intel 915G[/size]
Registered Linux User #372988
tadziu
Użytkownik
Posty: 325
Rejestracja: 2004-05-23, 18:21
Lokalizacja: Gdańsk
Kontakt:

Re: programik w pascalu - nida help ;/

Post autor: tadziu »

wybacz, coś mi się na oczy rzuciło chyba :/ zdawało mi się, że hasłem ma byc 'haslo' i jakoś nie popatrzyłem, ze to nazwa stałej...
Linux registered user #325402
Awatar użytkownika
PaST
Użytkownik
Posty: 521
Rejestracja: 2004-09-09, 20:19
Lokalizacja: Siedlce
Kontakt:

Re: programik w pascalu - nida help ;/

Post autor: PaST »

jacol pisze:Witam! Nie programowałem w Pascalu z 10 lat ale o ile dobrze pamiętam to np. BP 5.0 ma wbudowany odpluskwiacz i polecenie pracy krokowej. Więc kolega może odpluskwic kod sam .Pozdrawiam jacol
FreePascal user :)
"Lepiej być ambitnym, a nie tylko tak sądzić" @ NumerRaz
Awatar użytkownika
mina86
Moderator
Posty: 3338
Rejestracja: 2004-06-14, 21:58
Lokalizacja: Linux 5.x x86_64
Kontakt:

Re: programik w pascalu - nida help ;/

Post autor: mina86 »

1. else jest zbędny i jego brak wcale nic nie zmienia.
2. haslo nie może być w apostrofach bo to zadeklarowana stała.
3. Naprawdę nie wiem co się czepiacie tego kodu? Przyznaje, że mi osobiście się nie podoba, ale to kwestia gustu. Z całą pewnością nie powiem, że jest nieczytelny.
4. petla tzreba zainicjować bo jak nie to w przypadku różnych kompilatorów program może zachowywać się różnie.
5. Warunek 1=2 można zmienić kulturalnym false.
6. C/C++ rulez.
7. Java sux.
A teraz czas na moja wersję ;)

Kod: Zaznacz cały

uses crt;
const haslo = 'Pascal'; 
var str: string; 
    i: byte;

Begin 
   i:=0;
   repeat
      if i<>0 then delay(5000);
      write('Podaj haslo: ');
      readln(str);
      i:=i+1;
   until (str=haslo) or (i=4);

   if str<>haslo then begin
      writeln('Dostep zabrioniony');
      for i:=1 to 10 do begin
         sound(3160); 
         delay(500); 
         sound(3190); 
         delay(500);
      end;
      nosound;
      exit;
   end;

   {program wlasciwy}
end.
Jeszcze by się przydało zablokować Ctr+C/Break, ale nie pamiętam już dokładnie jak to się robiło.
Zastrzegam sobie prawo nieanalizowania postów pisanych niepoprawną polszczyzną.
Post generated automatically by A.I. system code name ‘mina86’ in response to the previous one.
Awatar użytkownika
kruszek
Użytkownik
Posty: 381
Rejestracja: 2004-08-30, 19:11
Lokalizacja: Kraków

Re: programik w pascalu - nida help ;/

Post autor: kruszek »

mina86 pisze:Jeszcze by się przydało zablokować Ctr+C/Break, ale nie pamiętam już dokładnie jak to się robiło.
Ctrl-C uzytkownik nic zlego nie zrobi... tzn... nie przelamie """zabezpieczen"""... co najwyzej wywali sie z programu... to samo moze osiagnac wpisujac kilka razy zle haslo...

no chyba, ze jest tu jakis Buffer-Overflow :wink:
jacol
Przyjaciel Forum
Posty: 680
Rejestracja: 2004-06-12, 17:34

Re: programik w pascalu - nida help ;/

Post autor: jacol »

W myśl zasady wędka a nie ryba: http://www.freepascal.org/sdown.html odnośnnik do dokumentacji. :D Pozdrawiam jacol.
Awatar użytkownika
kruszek
Użytkownik
Posty: 381
Rejestracja: 2004-08-30, 19:11
Lokalizacja: Kraków

Re: programik w pascalu - nida help ;/

Post autor: kruszek »

jacol pisze:W myśl zasady wędka a nie ryba...
Idealista :roll:
"Java jest jak kobieta, na poczatku czlowiek nie jest do niej przekonany, ale potem zycie go zmusza, aby sie przekonal"
Awatar użytkownika
mina86
Moderator
Posty: 3338
Rejestracja: 2004-06-14, 21:58
Lokalizacja: Linux 5.x x86_64
Kontakt:

Re: programik w pascalu - nida help ;/

Post autor: mina86 »

kruszek pisze:Ctrl-C uzytkownik nic zlego nie zrobi... tzn... nie przelamie """zabezpieczen"""... co najwyzej wywali sie z programu... to samo moze osiagnac wpisujac kilka razy zle haslo...
Chodzi o to, żeby już osobnik musiał czekać te 5 sekund po wpisaniu złego hasła ;)
Zastrzegam sobie prawo nieanalizowania postów pisanych niepoprawną polszczyzną.
Post generated automatically by A.I. system code name ‘mina86’ in response to the previous one.
Awatar użytkownika
kruszek
Użytkownik
Posty: 381
Rejestracja: 2004-08-30, 19:11
Lokalizacja: Kraków

Re: programik w pascalu - nida help ;/

Post autor: kruszek »

masz calkowita racje min86... znowu dal o sobie znac moj zbyt waskotorowy sposob myslenia... nigdy nie opanuje sztuki Hackproofing Turbo Pascala :(...

ide sie ciac :evil:
"Java jest jak kobieta, na poczatku czlowiek nie jest do niej przekonany, ale potem zycie go zmusza, aby sie przekonal"
Awatar użytkownika
Rookie One
Użytkownik
Posty: 230
Rejestracja: 2004-11-13, 13:16
Lokalizacja: Gliwice
Kontakt:

Re: programik w pascalu - nida help ;/

Post autor: Rookie One »

mina86 pisze:1. else jest zbędny i jego brak wcale nic nie zmienia.
No nie... ;/

No to prosze, skompiluj sobie ten program bez else i zobacz jak zadziala... Zycze powodzenia.
mina86 pisze:2. haslo nie może być w apostrofach bo to zadeklarowana stała.
Czyzbym nie wyrazal sie jasno?
Rookie One pisze:Przeciez na poczatku jest stala haslo, jej wartosc jest w apostrofach, a nazw zmiennych nie wpisuje sie w apostrofy... ;/
Rookie One pisze:

Kod: Zaznacz cały

const
   haslo = 'Pascal';
(...)

Kod: Zaznacz cały

   until (wprowadz = haslo);
mina86 pisze:4. petla tzreba zainicjować bo jak nie to w przypadku różnych kompilatorów program może zachowywać się różnie.
I tak 99,9% kompilatorow pascala samemu inicjuje zmienne. ;)
mina86 pisze:5. Warunek 1=2 można zmienić kulturalnym false.
No dobra, z tym sie zgodze. ;)
mina86 pisze:6. C/C++ rulez.
7. Java sux.
Sprawy wzgledne. Przeczytalbys lepiej to, co napisalem wczesniej (http://www.freepascal.org/advantage.html).
[color=darkblue][b]- [ Slackware 10.2, kernel 2.4.31 ]
- [ Windows XP Home SP2 ][/b][/color]
[size=75]Pentium 4 3 GHz HT, 512 MB RAM, Intel 915G[/size]
Registered Linux User #372988
Awatar użytkownika
kruszek
Użytkownik
Posty: 381
Rejestracja: 2004-08-30, 19:11
Lokalizacja: Kraków

Re: programik w pascalu - nida help ;/

Post autor: kruszek »

Rookie One pisze:I tak 99,9% kompilatorow pascala samemu inicjuje zmienne. ;)
z tego co napisales wynika istnienie przynajmniej 1000 kompilatorow Pascala ;)...

a tak na serio to raczej powinnes inicjalizowac wszystkie zmienne przed uzyciem
"Java jest jak kobieta, na poczatku czlowiek nie jest do niej przekonany, ale potem zycie go zmusza, aby sie przekonal"
Awatar użytkownika
mina86
Moderator
Posty: 3338
Rejestracja: 2004-06-14, 21:58
Lokalizacja: Linux 5.x x86_64
Kontakt:

Re: programik w pascalu - nida help ;/

Post autor: mina86 »

Rookie One pisze:
mina86 pisze:1. else jest zbędny i jego brak wcale nic nie zmienia.
No nie... ;/

No to prosze, skompiluj sobie ten program bez else i zobacz jak zadziala... Zycze powodzenia.
Kompilatora takowego nie posiadam, ale widze kod programu i widze co on będzie robił:

Kod: Zaznacz cały

powtarzaj
  odczytaj hasło
  jeżeli petla = 4 to
    powtarzaj
      wyświetl komunikat i wygeneruj dźwięk
    az 1 = 2 (czyli powtarzaj w kółko)
    dodaj 1 do pętla
aż wprwoadzone = hasło
W momencie gdy petla = 4 to program wpada w neiskończoną pętle i z niej nie wychodzi czyli siłą rzeczy nic co dalej się już nie wykona. Jeżeli petla <> 4 to ta nieskończona pętla jest omijana i do petla dodawane jest 1.

<dopisek>
I jeszcze schemat blokowy jakby ktoś chciał:

Kod: Zaznacz cały

     ( START )
         |
+---->---+
|        |
| [ odczyt hasla ]
|        |         T
|  < petla = 4? > --------->--+--<-----------+
^        | N                  V              |
|   [ inc(petla) ]  [ komunikat i dzwiek ]   ^
|        |                    |              |
| N      |                    +---->---------+
+---< wprowadzone = haslo? >
         | T
    [ program ]
         |
     ( STOP )
Niezależnie czy z else czy bez jest on taki sam.
</dopisek>
Rookie One pisze:
mina86 pisze:4. petla tzreba zainicjować bo jak nie to w przypadku różnych kompilatorów program może zachowywać się różnie.
I tak 99,9% kompilatorow pascala samemu inicjuje zmienne. ;)
Potem wejdzie Ci to w nawyk i różne programy nie będą działać. Proszę bardzo, Twoja sprawa, ale osobiście radze programy wszelkie pisać ładnie i czytelnie.
Rookie One pisze:
mina86 pisze:6. C/C++ rulez.
7. Java sux.
Sprawy wzgledne.
Zbyt poważnie podszedłeś do tych punktów ;)
Rookie One pisze:Przeczytalbys lepiej to, co napisalem wczesniej (http://www.freepascal.org/advantage.html).
Argumenty tam przedstawione wcale nie są takie definitywne i z niektórymi się kompletnei nie zgadzam inne nie wskazują wyższości nad C/C++ jeszcze inne pokazują, że w Pascalu jest coś inaczej rozwiązane, ale czy lepiej to już nie wiadomo, zatem nie warto sporu tego kontynuować.
Zastrzegam sobie prawo nieanalizowania postów pisanych niepoprawną polszczyzną.
Post generated automatically by A.I. system code name ‘mina86’ in response to the previous one.
demonus
Użytkownik
Posty: 14
Rejestracja: 2004-09-29, 15:37
Lokalizacja: lodz

Re: programik w pascalu - nida help ;/

Post autor: demonus »

a i tak pascala warto znac, a nuz dostaniesz jakies mikrokontroler stary do zaprogramowania i co... i pascal :) na szczescie to naprawde stary sprzet musi byc :P
Awatar użytkownika
ahes
Użytkownik
Posty: 1047
Rejestracja: 2004-05-28, 10:44
Lokalizacja: Krakow
Kontakt:

Re: programik w pascalu - nida help ;/

Post autor: ahes »

Obrazek
[b][url=http://rootnode.net]rootnode.net[/url] :: Konta shellowe z piekła[/b]
ODPOWIEDZ