1. Pascal uzdevums
Programmā ievadīt teksta failu , veikt tā apstrādi un apstrādes rezultātu izvadīt citā teksta failā. Ja ievades failā divas viena otrai sekojošas rindas ir vienādas, tad izvades failā atstāt tikai vienu rindu
program Lab1;
uses Wincrt;
var InpFile, OutFile: text;
OutFileName: string;
temp,rinda :string;
const InpFileName='lab1.txt';
begin
clrscr;
Assign (InpFile, InpFileName);
Reset (InpFile);
writeln ('Ievadi faila nosaukmu!');
readln (OutFileName);
Assign (OutFile, OutFileName);
Rewrite (OutFile);
rinda := '';
writeln('Faila saturs : ');
while (not EOF (InpFile)) do
begin
readln (InpFile, rinda);
writeln (rinda);
if (temp=rinda) then
continue;
temp := rinda;
writeln (outfile,'Apstraadaatais teksts = ''' + rinda + '''');
end;
close (InpFile);
close (OutFile);
readkey;
end.
2. pascal uzdevums
Galvenajā programmā no TEXT faila ievadīt integer masīvu 20 elementi. Izvadīt ievadīto masīvu uz ekrāna un citā TEXT failā.
Atrast masīva divu mazāko elementu summu. Ja summa ir mazāka par 10, sakārtot masīvu augošā secībā.
Procedūras darba rezultātu un modificēto masīvu izvadīt uz ekrāna un TEXT failā. Masīva apstrādi veikt ar iekšējo procedūru. Risinājumu veikt ar 3 līmeņu programmu. Paredzēt datu nodošanu caur parametriem un kopējiem (globāliem) mainīgajiem. Datus no faila drīkst ievadīt tikai vienu reizi. Apakšprogrammas nedrīkst saturēt ievada/izvada operatorus.
program Lab2;
uses Wincrt;
const ElSk=20;
InpFileName='lab2.txt';
type MyMas=array[1..ElSk] of integer;
var ms: MyMas;
InpFile, {Ievada datu fails}
OutFile {rezultatu fails}
:TEXT;
i, summa2 : integer;
ch : char; OutfileName: string;
label TESTING, ENDING;
procedure BUBLE( var a: MyMas);
var i, j, temp : integer;
begin
for i:=1 to ElSk-1 do
for j:=i+1 to ElSk do
if a[i]< a[j] then
begin temp:= a[i];
a[i]:=a[j];
a[j]:=temp;
end;
end;
{BUBLE}
procedure PROCMAS( var a: MyMas; var S2: integer);
var i : integer;
function SUM2(A:MyMas):integer;
var i, sum : integer;
begin
BUBLE(A);
sum:=0;
for i:=elsk-1 to elsk do
sum:=sum+a[i];
SUM2:=sum;
end ;
begin
S2 := sum2(a);
if (S2<10) then BUBLE(a);
end;
begin
Assign(InpFile, InpFileName );
Reset(InpFile);
writeln(' ievadi rezultata faila vaardu');
readln(OutFileName);
assign(OutFile, OutFilename);
rewrite(OutFile);
TESTING: CLRSCR;
for i:=1 to ElSk do Read(InpFile, ms[i]);
if EOF(InpFile) then goto ENDING;
writeln( 'Ievaditie dati');
for i:=1 to ElSk do begin
write(' "', i:2,'" ', ms[i]:4, ' ');
write(Outfile, ms[i]:3);
end;
PROCMAS( ms, summa2);
writeln(Outfile);
writeln( 'Divu mazako masiva elementu summa ir ', summa2);
writeln(Outfile, 'Divu mazako masiva elementu summa ir ', summa2);
writeln('REZULTATA MASIVS');
for i:=1 to ElSk do begin
write(' "',i:2,'" ', ms[i]:4, ' ');
write(Outfile, ms[i]:3);
end;
writeln(' Ievadi y vai Y lai turpinatu vai ko lai beigtu');
readln(Ch);
if (ch='Y') or (ch='y') then begin
write(Outfile, Char(13)+Char(10));
goto TESTING;
end;
ENDING: close(InpFile); close(OutFile);
end.
Lūk pieejami divi pascal uzdevumi, ja ir vajadzīgi padomi vai palīdzība pascal uzdevumu risināšanā,tad rakstiet. Teorētiski ir pieejami vēl vairāk pascal uzdevumi, ja būs kādam interese varu publicēt.
man ir jautājums par otro pascal uzdevumu, kas notiek, ja programma ir jāveido ar 4. līmeņiem? kur tieši kas mainās?
AtbildētDzēst