Ostatnie cztery zadania, z którymi mam problem - Pascal.

Fristajler_2005

Ostatnie cztery zadania, z którymi mam problem - Pascal.

Post autor: Fristajler_2005 »

Proszę o pomoc (najlepiej rozwiązanie, jeśli jest taka możliwość) nast epujących zadań:

1. Napisz program liczby, który do pliku liczby.dat zapisze 100 losowych liczb
całkowitych z przedziału , a nastepnie odczyta je z tego pliku i
wyświetli na ekraniae.
2. Napisz program liczbyd umożliwiający dopisywanie dowolnej ilości liczb do pliku
utworzonego w poprzednim zadaniu.
3. Napisz program liczbyp podający lczbę w pliku liczby.dat z pozycji podanej jako
argument (program sprawdza poprawność wprowadzonego argumentu tzn. nie
może być on mniejszy o zaer i większy od rozmiaru pliku - dopuszcza
jedynie poprawne argumenty - pozycje numerujemy od zera).
4. Napisz program liczbyz, który zamieni liczbę z podanej pozycji na liczbę
wprowadzoną z klawiatury.

Bedę wdzięczny. Za rozwiązanie daje punkty pomocy ;]
Awatar użytkownika
Sulik
Użytkownik
Użytkownik
Posty: 161
Rejestracja: 1 lis 2005, o 11:50
Płeć: Mężczyzna
Lokalizacja: Warszawa
Podziękował: 7 razy
Pomógł: 44 razy

Ostatnie cztery zadania, z którymi mam problem - Pascal.

Post autor: Sulik »

Kod: Zaznacz cały

program liczby;
uses crt;
var
  f: file of byte;
  i: Integer;
  x: byte;
begin
  randomize;
  assign(f, 'liczby.dat');

  rewrite(f);
  for i:=1 to 100 do
  begin
    x := random(51);
    write(f, x);
  end;
  close(f);

  reset(f);
  clrscr;
  for i := 1 to 100 do
  begin
    read(f, x);
    write(x:4);
  end;
  close(f);

  readkey;
end.
A w czy liczby w drugim programie mają być losowane (tj. podajesz ile liczb losowych dopisać do pliku) czy program ma pytać o kolejne liczby i je dopisywać?
Fristajler_2005

Ostatnie cztery zadania, z którymi mam problem - Pascal.

Post autor: Fristajler_2005 »

To drugie raczej.

[ Dodano: Wto Lis 29, 2005 1:27 pm ]
Dziekuję za pierwszwe. Działa bez zarzutu ;p

[ Dodano: Sro Lis 30, 2005 2:13 pm ]
MÓGŁBY MI KTOŚ POMÓC W RESZCIE ZADANEK. PROOSZE
Awatar użytkownika
Sulik
Użytkownik
Użytkownik
Posty: 161
Rejestracja: 1 lis 2005, o 11:50
Płeć: Mężczyzna
Lokalizacja: Warszawa
Podziękował: 7 razy
Pomógł: 44 razy

Ostatnie cztery zadania, z którymi mam problem - Pascal.

Post autor: Sulik »

Kod: Zaznacz cały

program dodawanie;
uses crt;
var
  k: char;
  x: byte;
  f: file of byte;
begin
  assign(f, 'liczby.dat');
  reset(f);
  seek(f, filesize(f)); {przejdz na koniec pliku}
  writeln('Dodac liczbe do pliku? Nie - Esc, Tak-dowolny inny klawisz');
  k := readkey;
  while k<>#27 do
  begin
    write('Podaj liczbę od 0 do 255: ');
    readln(x);
    write(f, x);
    writeln('Dodac liczbe do pliku? Nie - Esc, Tak-dowolny inny klawisz');
    k := readkey;
  end;
  close(f);
end.
Fristajler_2005

Ostatnie cztery zadania, z którymi mam problem - Pascal.

Post autor: Fristajler_2005 »

Działa drugie zadanie. Dzienki serdeczne. Czekam na pozostałe. Z góry dziękuję

[ Dodano: Sob Gru 03, 2005 8:22 pm ]
MÓGŁBY MI KTOŚ NAPISAĆ POZOSTAŁE 2 ZADANIA? BARDZO MI NA TYM ZALEŻY. PROOSZĘ..
Fibik
Użytkownik
Użytkownik
Posty: 971
Rejestracja: 27 wrz 2005, o 22:56
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 11 razy
Pomógł: 75 razy

Ostatnie cztery zadania, z którymi mam problem - Pascal.

Post autor: Fibik »

Kod: Zaznacz cały

uses crt;
var f : file of byte;

function ustaw : longint; { ustawia pozycję w pliku }
var siz, poz : longint;
begin
  siz := FileSize(f);
  write('Podaj pozycję liczby od 0 do ', siz-1, ':');
  readln(poz);
  if poz >= siz then poz := -1;
  if poz >= 0 then seek(f,poz);
 { else writeln('Podałeś nieprawidłową pozycję.'); }
  ustaw := poz;
end;

procedure pokaz; { pokazuje liczbę z pliku }
var bytek : byte;
begin
  if ustaw >= 0 then begin 
     read(f, bytek);
     writeln('Mam liczbę: ', bytek);
  end;
end;


procedure zmiana; { zmienia liczbę w pliku }
var byteczek : Byte;
begin
  if ustaw >= 0 then begin
   write('Podaj nową liczbę <0,255>:');
   readln(byteczek);
   write(f,byteczek);
  end;
end;


begin
  Assign(f, 'liczby.dat'); 
  Reset(f);
{ if FileSize(f) < 1 then pusty plik ... można kończyć }

  while true do begin
     
   writeln('Pokazać liczbe z pliku? Nie - Esc, Tak-dowolny inny klawisz');

   if readkey = #27 then break;
     
   pokaz; { wpisz tu 'zmiana' i będzie program do zmieniania liczb.}

  end;

  close(f);
end.
ponczek
Użytkownik
Użytkownik
Posty: 3
Rejestracja: 10 sty 2006, o 15:29
Płeć: Mężczyzna
Lokalizacja: solec kujawski

Ostatnie cztery zadania, z którymi mam problem - Pascal.

Post autor: ponczek »

no pierwsze 2 zadanka łatwe nad resztą trzeba by troszke pomyśleć
ODPOWIEDZ