Шпоры по информатике1 / zadachi2
.docprogram z20;
uses wincrt;
var f:text;
n:integer;{Колличество считанных слов}
c: char;
b,m: integer;{Чило больших и малых букв}
s: string;
begin
assign (f,'z20.txt');
reset (f);
n:=0;
b:=0;
s:='';
while (not eof(f)) do
begin
read (f,c);
s:=s+c;
if (c>='A') and (c<='Z')
then
b:=b+1;
if (c>='a') and (c<='z')
then
m:=m+1;
if (c=' ')
then begin
writeln ('Больших ',b,' малых ',m);
b:=0;
m:=0;
end
end;
if c<>' '
then
writeln ('Больших ',b,' малых ',m);
writeln (s);
close (f);
end.
program z21;
uses wincrt;
var c1,c2,c3: char;
f: text;{Текстовый файл}
a,b: integer;
c: real;
code: integer;
begin
assign (f,'z21.txt');
reset (f);
readln (f, c1,c2,c3);
close(f);
val (c1, a, code);
val (c3, b, code);
case c2 of
'+': c:=a+b;
'-': c:=a-b;
'*': c:=a*b;
'/':
begin
if b=0
then writeln ('Деление на ноль')
else
c:=a/b;
end
end;
writeln ('c = ',c:8:2);
end.
program z28;
uses wincrt;
var x,a,y:real;
i,n,m :integer;
fi: real;
begin
writeln ('Введите x,a,n,m');
readln (x,a,n,m);
y:=0;
fi:=1;
for i:=1 to n do
begin
fi:=fi*i;
y:=y+x/fi;
end;
fi:=1;
for i:=1 to n do
begin
fi:=fi*i;
y:=y+a/fi;
end;
writeln ('y = ',y:8:2);
readln;
end.
program z29;
uses wincrt;
type
tarray = array [1..30,1..10] of real;
procedure vvod (var a: tarray; n,m: integer);
var i,j: integer;
begin
for i:=1 to n do
for j:=1 to m do
begin
write (i,',',j,': '); readln (a[i,j]);
end;
end;
procedure print (var a: tarray; n,m: integer);
var i,j: integer;
begin
for i:=1 to n do
begin
for j:=1 to m do
write (a[i,j]:8:2);
writeln;
end;
end;
function sa (var a: tarray; n,m: integer): real;
var
sum: real;
kol: integer;
var i,j: integer;
begin
sum:=0;
kol:=0;
for i:=1 to n do
for j:=1 to m do
if (a[i,j]>=0)
then begin
sum:=sum+a[i,j];
kol:=kol+1;
end;
sa:=sum/kol;
end;
var n1,m1, n2,m2: integer;
a,b: tarray;
begin
writeln ('Введите n1,m1,n2,m2');
readln (n1,m1,n2,m2);
vvod (a,n1,m1);
vvod (b,n2,m2);
print (a,n1,m1);
print (b,n2,m2);
writeln ('Средние арифметические ',sa(a,n1,m1):8:2, sa(b,n2,m2):8:2);
readln;
end.
Program z30;
uses wincrt;
type
tarray = array [1..100] of real;
procedure gen (var a:tarray; n: integer);
var i:integer;
begin
for i:=1 to n do
begin
if i<5
then a[i]:=cos(i);
if i>5
then a[i]:=sin(0.5*i);
end;
end;
procedure print(var a: tarray; n:integer);
var i:integer;
begin
for i:=1 to n do
write (a[i]:8:2);
writeln;
end;
function sum (var a: tarray; n: integer): real;
var i:integer;
s: real;
begin
s:= 0;
for i:=1 to n do
if a[i]>=0
then s:=s+a[i];
sum:= s;
end;
var x,y,z: tarray;
k,l,m: integer;
begin
k:=10;
l:=20;
m:=30;
gen (x,k);
gen (y,l);
gen (z,m);
print (x,k);
print (y,l);
print (z,m);
writeln ('Сумма положительных элементов массива x ', sum(x,k) :8:2);
writeln ('Сумма положительных элементов массива y ', sum(y,l) :8:2);
writeln ('Сумма положительных элементов массива z ', sum(z,m) :8:2);
readln;
end.
Program z31;
uses wincrt;
type
tarray = array [1..100] of real;
procedure gen (var a:tarray; n: integer);
var i:integer;
begin
randomize;
for i:=1 to n do
a[i]:= random*100;
end;
procedure print(var a: tarray; n:integer);
var i:integer;
begin
for i:=1 to n do
write (a[i]:8:2);
writeln;
end;
function max (var a: tarray; n: integer): real;
var i:integer;
m: real;
begin
m:= a[1];
for i:=2 to n do
if m<a[i]
then m:=a[i];
max:= m;
end;
function sum (var a: tarray; n: integer): real;
var i:integer;
s: real;
begin
s:= 0;
for i:=1 to n do
s:=s+a[i];
sum:= s;
end;
var x,y,z: tarray;
k,l,m: integer;
begin
k:=10;
l:=20;
m:=30;
gen (x,k);
gen (y,l);
gen (z,m);
print (x,k);
print (y,l);
print (z,m);
writeln ('Максимум в массиве x ', max(x,k) :8:2);
writeln ('Максимум в массиве y ', max(y,l) :8:2);
writeln ('Максимум в массиве z ', max(z,m) :8:2);
writeln ('Сумма элементов массива x ', sum(x,k) :8:2);
writeln ('Сумма элементов массива y ', sum(y,l) :8:2);
writeln ('Сумма элементов массива z ', sum(z,m) :8:2);
writeln ('Сумма максимумов массивов x,y,z ',max(x,k)+max(y,l)+max(z,m) :8:2);
readln;
end.
begin
end.
program z33;
uses wincrt;
function F (a,b: real): real;
begin
F:=a/(1+b)+b/(1+a)-(a-b);
end;
function max (a,b:real):real;
begin
if a>b
then max:=a
else max:=b;
end;
var
s,t,C: real;
begin
write ('Введите s '); readln (s);
write ('Введите t '); readln (t);
C:=F(s,t)+ max(F(t-s,s*t),F(s-t,s+t))+F(1,1);
writeln ('T=',tt:8:2);
readln;
end.
Program z32;
uses wincrt;
type tarray = array [1..100] of real;
function max (var a: tarray; n: integer): real;
var i:integer;
m: real;
begin
m:= a[1];
for i:=2 to n do
if m<a[i]
then m:=a[i];
max:= m;
end;
procedure vvod (var a:tarray; n:integer);
var i:integer;
begin
for i:=1 to n do
begin
write (i,': ');
readln (a[i]);
end;
end;
var mx, my, mz: real;
k,l,m:integer;
x,y,z: tarray;
t: real;
begin
write ('Введите k '); readln (k);
write ('Введите l '); readln (l);
write ('Введите m '); readln (m);
writeln ('Введите элементы массива x'); vvod (x,k);
writeln ('Введите элементы массива y'); vvod (y,l);
writeln ('Введите элементы массива z'); vvod (z,m);
mx:=max (x,k);
my:=max (y,l);
mz:=max (z,m);
if (mx>0)
then
t:= (my+mz)/2
else
t:=1+mx;
writeln ('t= ',t:8:2);
readln;
end.