Niezalogowany (Zaloguj się)
WItaj Gościu! Możesz się teraz zalogować lub poprosić o członkowstwo na Forum Turbo Pascal Web Pag
    • CommentAuthorRobot30
    • CommentTime13 Dec 2007
     
    Mam napisać program w Turbo Pascal. Program ma: - importować dane liczbowe z pliku - wrzucać je do tabeli - podnosić wartości w tabeli do kwadratu - eksportować dane do innego pliku
    • CommentAuthorrachwal
    • CommentTime13 Dec 2007
     
    OK. Rozumiem ze juz cos napisales. Na czym sie zatrzymales w swoim programie ? Nie potrafisz wczytac z pliku danych ? Podniesc do kwadratu elementu w tablicy ? Czy jakis inny problem ... Wklej to co juz napisales ...

    Jesli liczysz, ze ktos za Ciebie odwali cala robote, to sie grubo mylisz :)
    • CommentAuthorRobot30
    • CommentTime13 Dec 2007 zmieniony
     
    Nie liczę na to że ktoś zrobi to za mnie zrobi ten program. Dopiero zaczynam się uczyć Pascala.

    program pracakontrolna; uses crt; const Plik wejsciowy:= 'Dane.txt'; var Tablica: array [1..5] of Integer; I: Integer; begin clrcsr; Assign (Plik wejsciowy); Reset (Plik wejsciowy); writeln ('Zaczytane dane: ')
    • CommentAuthorrachwal
    • CommentTime13 Dec 2007
     
    No to juz lepiej ...

    Program bedzie sie skladaz z 3 czesci logicznych :
    - czytaj z pliku
    - oblicz
    - zapisz do pliku

    Zacznijmy od pierwszej i w zasadzie trzeciej, zapoznaj sie z procedurami : assign, reset, rewrite, close. Zobacz jak je polaczyc, moze znajdziesz jakis program na tej stronie, ktory czyta z pliku i mozesz go przerobic aby przeczytac dane z pliku do tablicy. Przyjmij, ze plik tekstowy ma jedna wartosc w wierszu i wio.

    Zobacz co pisza o tych procedurach w tym manualu :
    http://www.mirrorservice.org/sites/www.gnu-pascal.de/gpc-es/
    • CommentAuthorRobot30
    • CommentTime13 Dec 2007
     
    Dzięki :)
    • CommentAuthorsteficzek
    • CommentTime13 Dec 2007 zmieniony
     


    Var Tablica : array [0..9] of Integer;
    Plik : Text;
    i : Integer;

    procedure OdczytajTablice;
    begin
    Assign(Plik,'in.txt');
    Reset(Plik);
    for i:=0 to 9 do
    Readln(Plik,Tablica[ i]);
    Close(Plik)
    end;

    procedure ZapiszTablice;
    begin
    Assign(Plik,'out.txt');
    ReWrite(Plik);
    for i:=0 to 9 do
    Writeln(Plik,Tablica[ i]*Tablica[ i]);
    Close(Plik)
    end;

    Begin
    OdczytajTablice;
    ZapiszTablice
    End.


    Program napisałem uproszczony jak tylko mogłem - nie podałeś jakiej długości ma być to tablica, ja przyjąłem 10 pozycji od 0..9, przeróbka na na inną długość
    nie powinna nastręczać kłopotów. Program nie posiada obsługi błędów więc jeśli naprzykład nie utworzysz pliku wejsciowego przed uruchomieniem programu
    program się wykrzaczy. Plik wejsciowy in.txt powinien mieć postać dziesięciu liczb napisanych jedna pod drugą.

    Pozdrawiam Stefan Pruszkiewicz
    • CommentAuthorrachwal
    • CommentTime13 Dec 2007
     
    Stefan, ludzi trzeba naprowadzac na rozwiazania, a nie dawac im gotowca na tacy bo sie nigdy niczego nie naucza :]
    • CommentAuthorRobot30
    • CommentTime14 Dec 2007
     
    dzięki za wszystkie podpowiedzi :)
    • CommentAuthorrachwal
    • CommentTime14 Dec 2007
     
    Stefan ma za dobre serce :P