Moe Opublikowano 8 Czerwca 2010 Udostępnij Opublikowano 8 Czerwca 2010 Witam, chciałbym utworzyć taki program w pascalu, piszę tak jak bym zrobił w GML, częściowo w pascalu: // Zmienna plik=0 // Ustalamy zmienną na 0 begin delay(1000) //Czekamy sekundę writeln('Witaj! za sekundę zmienię zmienną plik na 1!'); delay(1000); plik=1 //zmieniamy zmienną na 1 if plik=1 then writeln('Powodzenie!'); End. W skrócie: 1. Ustalamy zmienną plik na 0. 2. Czekamy 1s. 3. Wyświetlamy wiadomość. 4. Czekamy 1s. 5. Zmieniamy plik na 1. 6. Gdy plik = 1 to wyświetl wiadomość. 7. Koniec. Jak takie coś zrobić? Jakie błędy robię? Pozdrawiam, Moe Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności ANtY Opublikowano 8 Czerwca 2010 Filar Społeczności Udostępnij Opublikowano 8 Czerwca 2010 program plik; uses Crt; var plik : Byte; begin plik:=0; clrscr //czyscimy ekran konsoli delay(1000); //nie jestem pewien czy jest taka komenda writeln('Witaj! za sekundę zmienię zmienną plik na 1!'); delay(1000); plik:=1; if plik=1 then writeln('Powodzenie!'); end. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Makary155 Opublikowano 8 Czerwca 2010 Udostępnij Opublikowano 8 Czerwca 2010 uses CRT; // Zmienna var plik: integer; // Ustalamy zmienną na 0 begin plik:= 0; delay(1000); //Czekamy sekundę writeln('Witaj! za sekundę zmienię zmienną plik na 1!'); delay(1000); plik:=1 //zmieniamy zmienną na 1 if plik=1 then begin writeln('Powodzenie!'); end; while not keypressed do; End. ten ostatni while jest niekonieczny, zatrzymuje program do czasu naciśnięcia klawisza. jakie błędy: -najpierw trzeba inicjować zmienną i jej typ -wartość zmiennej przypisuje się := -po if też jest begin i end z tym że end ze średnikiem. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Moe Opublikowano 8 Czerwca 2010 Autor Udostępnij Opublikowano 8 Czerwca 2010 Dziękuję! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności ANtY Opublikowano 8 Czerwca 2010 Filar Społeczności Udostępnij Opublikowano 8 Czerwca 2010 uses CRT; // Zmienna var plik: integer; // Ustalamy zmienną na 0 begin plik:= 0; delay(1000); //Czekamy sekundę writeln('Witaj! za sekundę zmienię zmienną plik na 1!'); delay(1000); plik:=1 //zmieniamy zmienną na 1 if plik=1 then begin writeln('Powodzenie!'); end; while not keypressed do; End. ten ostatni while jest niekonieczny, zatrzymuje program do czasu naciśnięcia klawisza. jakie błędy: -najpierw trzeba inicjować zmienną i jej typ -wartość zmiennej przypisuje się := -po if też jest begin i end z tym że end ze średnikiem. nie osmieszaj sie. Do jednej komendy nie trzeba pisac begina i edna -_- Poza tym na poczatku piszemy program nazwa; do tak malej wartosci nie trzeba integera while not keypressed do; End. lol? nie lepiej readln; end. ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Czarny Ass Opublikowano 8 Czerwca 2010 Udostępnij Opublikowano 8 Czerwca 2010 Można także bardziej rozbudowanie: USES CRT; VAR plik,na:integer; begin plik:=0; na:=0; delay(1000); repeat gotoxy(1,1); writeln('Witaj! za sekundę zmienię zmienną plik na ', plik + 1 ,'!'); delay(1000); plik +=1; if plik=1 THEN writeln('Powodzenie!'); until na = 1; end. Teraz będzie co sekundę dawało w nieskończoność ale jak osiągnie 1 napisze Powodzenie!. Można wstawić też po if plik=1 THEN writlen('Powodzenie!'); if plik=MAX THEN na:=1; W MAX możesz wpisz jakąś liczbę na której ma przerwać. nie lepiej readln; end. ? Nie specjalnie to polecam, bo będziesz mógł wypisywac pierdoły jakieś. Lepiej Readkey; . EDIT: I pozmieniaj wszystkie ę na e, no chyba, że dorobisz znaki polskie w pascalu. Ja wiem jak to się robi. Z miłą chęcią zrobię Ci bibliotekę ze znakami polskimi. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności ANtY Opublikowano 8 Czerwca 2010 Filar Społeczności Udostępnij Opublikowano 8 Czerwca 2010 Można także bardziej rozbudowanie: USES CRT; VAR plik,na:integer; begin plik:=0; na:=0; delay(1000); repeat gotoxy(1,1); writeln('Witaj! za sekundę zmienię zmienną plik na ', plik + 1 ,'!'); delay(1000); if plik=1 THEN writlen('Powodzenie!'); until na = 1; end. Teraz będzie co sekundę dawało w nieskończoność ale jak osiągnie 1 napisze Powodzenie!. Można wstawić też po if plik=1 THEN writlen('Powodzenie!'); if plik=MAX THEN na:=1; W MAX możesz wpisz jakąś liczbę na której ma przerwać. Po co gotoxy(1,1) , skoro automatycznie na poczatku sie tam ustawia? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Makary155 Opublikowano 8 Czerwca 2010 Udostępnij Opublikowano 8 Czerwca 2010 nie osmieszaj sie. Do jednej komendy nie trzeba pisac begina i edna -_- Poza tym na poczatku piszemy program nazwa; do tak malej wartosci nie trzeba integera while not keypressed do; End. lol? nie lepiej readln; end. ? przyzwyczajenie mistrzu. A readln nie, bo readln reaguje tylko na enter a keypressed na każdy klawisz. Nie trzeba pisać program nazwa, skompilowany ma nazwe pliku .pas . Integer a byte ma znaczenie przy megawypaśnym programie a nie przy paru linijkach na krzyż. Sam sie nie ośmieszaj takimi postami, każdy pisze tak jak mu wygodniej. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Czarny Ass Opublikowano 8 Czerwca 2010 Udostępnij Opublikowano 8 Czerwca 2010 @ANty to spróbuj bez gotoxy. Daję linka do biblioteki z polskimi znakami aby poprawnie wyświetlało się np. Witaj! za sekundę zmienię zmienną plik na 1! Oto link: https://gmclan.org/up6201_3_PLCHR.html W readme txt wszystko jest wytłumaczone. 'Wi',S_PE,'c wszystko jasne' :P (tak by było z mojej biblioteki). Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności ANtY Opublikowano 8 Czerwca 2010 Filar Społeczności Udostępnij Opublikowano 8 Czerwca 2010 przyzwyczajenie mistrzu. A readln nie, bo readln reaguje tylko na enter a keypressed na każdy klawisz. Nie trzeba pisać program nazwa, skompilowany ma nazwe pliku .pas . Integer a byte ma znaczenie przy megawypaśnym programie a nie przy paru linijkach na krzyż. Sam sie nie ośmieszaj takimi postami, każdy pisze tak jak mu wygodniej. wygodniej=/=lepiej po co innym pokazywac gorsze sposoby? Lepiej lapac dobre nawyki przy malych programach niz pozniej sie meczyc @Ferrari a co nie zadziala? xd Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Czarny Ass Opublikowano 8 Czerwca 2010 Udostępnij Opublikowano 8 Czerwca 2010 @ANtY A ja coś mówiłem, że nie zadziała? A spróbowałeś ten program bez gotoxy, jeśłi o to chodzi? Wyświetla się wszystko od nowej linijki, a z gotoxy wszystko jest czytelne. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Makary155 Opublikowano 8 Czerwca 2010 Udostępnij Opublikowano 8 Czerwca 2010 Anty, a co w moim przykładzie jest gorszego? Że zajmuje kilka bajtów więcej? Działanie jest takie samo. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności ANtY Opublikowano 8 Czerwca 2010 Filar Społeczności Udostępnij Opublikowano 8 Czerwca 2010 Anty, a co w moim przykładzie jest gorszego? Że zajmuje kilka bajtów więcej? Działanie jest takie samo. Beginy (po co wiecej pisac?), integery do tak malej zmiennej, ja bym w ogole uzyl boolean (pamiec) i reszta co wymienilem. Przy wiekszych projektach to ma znaczenie Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się