Strona 1 z 1

[PASCAL] Błąd: UNIT expected

: 13 lis 2009, 23:08
autor: reason
Witam.
Mam proste pytanie. Mam na ubuntu zainstalowanego fpc. Do dzisiaj wszystko dzialalo poprawnie. Programy kompilowaly sie itd. Dzisiaj od paru godzin nie jestem w stanie skompilowac programu. Program wyrzuca na dzien dobry blad:

Kod: Zaznacz cały

system.pas(1,1) Fatal: Syntax error, "UNIT" expected but "PROGRAM" found
co ciekawe gdy kompiluje stare programy wszystko gra; caly czas uzywam tylko bibliotek CRT; nie wiem wiec gdzie jest blad; przeinstalowalem juz nawet fpc ale nie pomoglo;
wrzuce poczatek programu jeszcze zeby mozna bylo podejrzec, ale mysle, ze tam wszystko jest ok:

Kod: Zaznacz cały

program wiersz;
uses crt;
const
	max1=5;
	max2=4;
var
	a,b,i,j:integer
	tab:array[1..max1,1..max2] of integer;

begin
	clrscr;
	randomize
	writeln ('Program wypisze wiersz, w ktorym największa wartosc jest najmniejsza');
	{losowanie liczb do tablicy}
	for j:=1 to max2 do for i:=1 to max1 do t[i,j]:=random(20)+10;
	{wypisanie tablicy na ekran}
	for j:=1 to max2 do begin
		for i:=1 to max1 do write (t[i,j],' ');
		writeln ('');
	end
(...)
mam nadzieje, ze da sie to jakos rozwiazac.
Pozdrawiam ;)

Odp: [PASCAL] Błąd: UNIT expected

: 13 lis 2009, 23:45
autor: kabanek
no to po pierwsze brakuje Ci średników w kilku miejscach, oraz nie masz zdeklarowanej tablicy 't' tylko 'tab'.

Odp: [PASCAL] Błąd: UNIT expected

: 14 lis 2009, 00:04
autor: reason
i dlatego wywala tego UNITa?

Odp: [PASCAL] Błąd: UNIT expected

: 14 lis 2009, 00:28
autor: kabanek
u mnie kod wygląda tak:

Kod: Zaznacz cały

program wiersz;
uses crt;
const
	max1=5;
	max2=4;
var
	a,b,i,j:integer;
	tab:array[1..max1,1..max2] of integer;

begin
	clrscr;
	randomize;
	writeln ('Program wypisze wiersz, w ktorym największa wartosc jest najmniejsza');
	{losowanie liczb do tablicy}
	for j:=1 to max2 do for i:=1 to max1 do tab[i,j]:=random(20)+10;
	{wypisanie tablicy na ekran}
	for j:=1 to max2 do begin
		for i:=1 to max1 do write (tab[i,j],' ');
		writeln ('');
	end;
end.
i nie wywala żadnego błędu

Odp: [PASCAL] Błąd: UNIT expected

: 14 lis 2009, 10:56
autor: reason
poprawilem i rzeczywiscie dziala ;) dzieki za pomoc

Odp: [PASCAL] Błąd: UNIT expected

: 14 lis 2009, 11:26
autor: el.pescado
Plik ze źródłami powinien być nazwany nazwaprogramu.pas. Czyli, jeżeli pierwszym wierszem jest

Kod: Zaznacz cały

program wiersz;
to plik powinien nazywać się wiersz.pas.

Odp: [PASCAL] Błąd: UNIT expected

: 14 lis 2009, 13:39
autor: kabanek
el.pescado pisze:to plik powinien nazywać się wiersz.pas.
ale nie musi :mrgreen:

Odp: [PASCAL] Błąd: UNIT expected

: 14 lis 2009, 14:19
autor: el.pescado
Hmm, rzeczywiście. W każdym razie, plik nie może się nazywać system.pas - widać kompilator myli go z unitem system.