ZAJĘCIA PIERWSZE II SEMESTR
program p1;
uses crt;
var n,i:integer;
tab: array[1..100] of integer;
begin
clrscr;
randomize;
writeln ('podaj liczbe n');
readln(n);
writeln;
for i:=1 to n do begin
tab[i]:=random(100);
end;
for i:=1 to n do begin
write(tab[i]);
write (' ');
end;
readln;
end.
program p2;
uses crt;
var n,i,max:integer;
tab: array[1..100] of integer;
begin
clrscr;
randomize;
writeln ('podaj liczbe n');
readln(n);
writeln;
for i:=1 to n do begin
tab[i]:=random(100);
if tab[i]>max then max:=tab[i];
end;
for i:=1 to n do begin
write(tab[i]);
write (' ');
end;
writeln;
writeln ('maksymalny elemenyt to ' ,max);
readln;
end.
program p3;
uses crt;
var n,i,max,min:integer;
tab: array[1..100] of integer;
begin
clrscr;
randomize;
writeln ('Podaj liczbe n');
readln(n);
writeln;
max:=0;
min:=100;
for i:=1 to n do begin
tab[i]:=random(100);
if tab[i]>max then max:=tab[i];
if tab[i]<min then min:=tab[i];
end;
for i:=1 to n do
begin
write(tab[i]);
write(' ');
end;
writeln;
writeln('Element maksymany to ',max);
writeln('Element minimalny to ',min);
readln;
end.
program p5;
uses crt;
var n,i,max,min,suma:integer;
tab: array[1..100] of integer;
s:real;
begin
clrscr;
randomize;
writeln ('Podaj liczbe n');
readln(n);
writeln;
for i:=1 to n do begin
tab[i]:=random(100);
suma:=suma +tab[i];
end;
s:=suma/n;
for i:=1 to n do
begin
write(tab[i]);
write (' ');
end;
writeln;
writeln('Suma tej tablicy to: ',suma);
writeln('Wartosc srednia to ',s:5:3);
readln;
end.
program p6;
uses crt;
var i:integer;
nazwisko:string;
tab: array[1..100] of string;
begin
clrscr;
randomize;
writeln ('Wpisz swoje nazwisko');
readln(nazwisko);
writeln;
for i:=1 to length(nazwisko) do
tab[i]:=nazwisko[i];
for i:=1 to length(nazwisko) do
begin
write(tab[i]);
writeln
end;
writeln;
for i:=1 to length(nazwisko) do
begin
write(' ',tab[i])
end;
writeln;
for i:=1 to length(nazwisko) do begin
write(' ',tab[i]);
writeln;
for i:=1 to i do write (' ');
end;
for i:=1 to i do
begin
for i:=10 downto i do write(' ');
write(tab[i]);
writeln;
end;
readln;
end.
program nr7;
uses crt;
var i :integer;
nazwisko :string;
tab :array[1..100] of char;
begin
clrscr;
write('Wpisz swoje nazwisko: ');
readln(nazwisko);
for i:=1 to length(nazwisko) do
tab[i]:=nazwisko[i];
for i:=1 to length(nazwisko) do
begin
write(tab[i]);
if i MOD 2 = 0 then
begin
writeln;
for i:=1 to i do write (' ');
end;
end;
readln;
end.
program nr8;
uses crt;
var i,j,temp :integer;
n :byte;
tab :array[1..10] of integer;
Begin
clrscr;
writeln(' Ile liczb będziesz wczytywał? (liczba z zakresu 1..10).');
read(n);
while ((n>10) or (n<1)) do
begin
write(' podałeś liczbę spoza zakresu, podaj inną: ');
read(n);
end;
{ wprowadzanie danych }
writeln(' Podaj ',n,' liczb ciagu ');
for i:=1 to n do
read(tab[i]);
{ wyprowadzanie danych na ekran (nie uporządkowane)}
write('Kolejnosc wprowadzania: ');
for i:=1 to n do
write(tab[i],' ');
writeln;
{ sortowanie bąbelkowe }
for i:=n downto 1 do
for j:=1 to n-1 do
if tab[j]>tab[j+1] then { zmień znak na '<' to sortowanie malejące}
begin
temp:=tab[j+1];
tab[j+1]:=tab[j];
tab[j]:=temp;
end;
{ koniec sortowania }
{ wyprowadzanie danych na ekran (uporządkowane rosnąco)}
write('Posortowane: ');
for i:=1 to n do
write(tab[i],' ');
readln;
readln;
end.
program nr9;
uses crt;
var i,j :integer;
ilocz :longint;
n :byte;
mac :array[1..20,1..20] of integer;
Begin
ilocz:=1; {warunki początkowe}
clrscr;
writeln(' Podaj rozmiar macierzy kwadratowej NxN? (liczb z zakresu 1..20).');
write('n=');read(n);
while ((n>20) or (n<1)) do
begin
write(' podales liczbe "n" spoza zakresu, podaj inna: ');
read(n);
end;
{ wprowadzanie danych }
writeln(' Podaj elementy macierzy ',n,' x ',n,' ');
for i:=1 to n do
for j:=1 to n do
read(mac[i,j]);
{ wyświetlanie na ekranie }
for i:=1 to n do
begin
writeln;
for j:=1 to n do
write(mac[i,j]:3,' ');
end;
writeln;
{ obliczanie iloczynu elementów na głównej przekątnej }
writeln(' Oto elementy macierzy znajdujace sie na glownej przekatnej: ');
for i:=1 to n do
begin
ilocz:=ilocz*mac[i,i];
write(mac[i,i],' ');
end;
write('...i ich iloczyn: '); writeln(ilocz);
readln;readln;
end.
program nr10;
uses crt;
var i,j :integer;
suma :longint;
n :byte;
mac :array[1..20,1..20] of integer;
Begin
suma:=0; {warunki początkowe}
randomize; {uruchomiony generator liczb}
clrscr;
writeln(' Podaj rozmiar macierzy kwadratowej NxN? (liczb z zakresu 1..20).');
write('n=');read(n);
while ((n>20) or (n<1)) do
begin
write(' podales liczbe "n" spoza zakresu, podaj inna: ');
read(n);
end;
{ wprowadzanie danych }
writeln(' Podaj elementy macierzy ',n,' x ',n,' ');
for i:=1 to n do
for j:=1 to n do
mac[i,j]:=random(200)-100; { losuje liczby z zakresu -100..100 }
{ wyświetlanie na ekranie }
for i:=1 to n do
begin
writeln;
for j:=1 to n do
write(mac[i,j]:3,' ');
end;
writeln;
{ obliczanie sumy elementów na głównej przekatnej }
writeln(' Oto elementy macierzy znajdujace sie na glownej przekatnej: ');
for i:=1 to n do
begin
suma:=suma + mac[i,i];
write(mac[i,i],' ');
end;
write('...i ich suma: '); writeln(suma);
readln;readln;
end.
program nr11;
uses crt;
var i,max :integer;
n,index,licznik :byte;
tab :array[1..20] of integer;
Begin
randomize; {uruchomiony generator liczb}
clrscr;
writeln(' Podaj rozmiar tablicy ? (liczba z zakresu 1..20).');
write('n=');readln(n);
while ((n>20) or (n<1)) do
begin
write(' podales liczbe "n" spoza zakresu, podaj inna: ');
readln(n);
end;
{ wprowadzanie danych }
writeln(' Automatyczne wypelnianie tablicy ',n,' - elementowej ');
for i:=1 to n do
tab[i]:=random(200)-100; { zakres liczb -100..100 }
{ wyświetlanie na ekranie }
for i:=1 to n do
write(tab[i]:3,' ');
writeln;
max:=tab[1]; { warunki początkowe }
index:=1;
writeln(' Oto wyniki: ');
for i:=2 to n do
if max<tab[i] then
begin
max:=tab[i];
index:=i;
end;
for i:=1 to n do { zliczanie elementów dodatnich }
if tab[i]>0 then
licznik:=licznik+1;
writeln(' Maksymalna wartosc wynosi: ',max);
writeln(' Pozycja maksymalnej wartosci: ',index);
writeln(' Liczb dodatnich w tablicy jest: ',licznik);
writeln;
writeln('W tablicy liczby moga sie powtarzac a w przypadku maksymalnej podawana jest pierwsza znaleziona.');
readln;
end.
program nr12;
uses crt;
var i,min :integer;
n,index,licznik :byte;
tab :array[1..20] of integer;
Begin
clrscr;
writeln(' Podaj rozmiar tablicy ? (liczba z zakresu 1..20).');
write('n=');readln(n);
while ((n>20) or (n<1)) do
begin
write(' podales liczbe "n" spoza zakresu, podaj inna: ');
readln(n);
end;
{ wprowadzanie danych }
writeln(' Wprowadz dane do tablicy ',n,' - elementowej ');
for i:=1 to n do
readln(tab[i]);
{ wyświetlanie na ekranie }
writeln;
writeln(' Tablica wypelniona liczbami: ');
for i:=1 to n do
write(tab[i]:3,' ');
writeln;
min:=tab[1]; { warunki początkowe }
index:=1;
writeln(' Oto wyniki: ');
for i:=2 to n do
if min>tab[i] then
begin
min:=tab[i];
index:=i;
end;
for i:=1 to n do { zliczanie elementów ujemnych }
if tab[i]<0 then
licznik:=licznik+1;
writeln(' Minimalna wartosc wynosi: ',min);
writeln(' Pozycja tej wartosci: ',index);
writeln(' Liczb ujemnych w tablicy jest: ',licznik);
writeln;
writeln('W tablicy liczby moga sie powtarza† a w przypadku minimalnej podawana jest pierwsza znaleziona.');
readln;
end.
7