
Шпоры по информатике1 / zadachi1
.docProgram bilet13;
Uses winCrt;
Var S : String; a,b,c,rez,des : Integer; x1,x2:real;
Begin
Write('vvedte koficient pri x*x: ');
ReadLn(a);
Write('vvedte koficient pri x: ');
ReadLn(b);
Write('Vvedite svobodnii chlen: ');
ReadLn(c); des:=b*b-4*a*c; if des>=0
then
begin x1:=(-b-sqrt(des))/(2*a); x2:=(-b+sqrt(des))/(2*a);
if x1=x2 then writeln('odin koren =',x1:6:2) else Writeln('dva korni =',x1:6:2,' ',x2:6:2); end;
else writeln('kornei net');
WriteLn('Najmite <Enter>, chtobi viiti.');
ReadLn;
End.
Program bilet13;
Uses winCrt;
Var S : String; x,c,rez:real;
Begin
ClrScr;
Write('vvedite X: ');
ReadLn(x); if x>0
then
begin
c:=ln(x)/3;
rez:=exp(c);
writeln('Koren 3 stepeni iz ',x:6:2,' =',rez:6:2);
end;
if x=0
then writeln('Koren 3 stepeni iz 0 = 0');
if x<0
then
begin
c:=x*(-1);
c:=ln(c)/3;
rez:=exp(c)*(-1);
writeln('Koren 3 stepeni iz ',x:6:2,' =',rez:6:2);
end;
WriteLn('najmite <Enter>, chtobi viiti.'); ReadLn;End.
Program bilet13;
Uses Crt;
Var S : String; x,c,rez:real;
Begin
ClrScr;
Write('Введит X: ');
ReadLn(x);
if x>0
then
begin
c:=ln(x)/3;
rez:=exp(c);
writeln('Корень 3 степени из ',x:6:2,' =',rez:6:2);
end;
if x=0
then writeln('Корень 3 степени из 0 = 0');
if x<0
then
begin
c:=x*(-1);
c:=ln(c)/3;
rez:=exp(c)*(-1);
writeln('Корень 3 степени из ',x:6:2,' =',rez:6:2);
end;
WriteLn('Нажмите <Enter>, чтобы выйти.');
ReadLn;
End.
Program bilet14;
Uses Crt;
Var S : String; dd,mm,gggg,dr,mr,gr,vozr: Integer;
Begin
ClrScr;
Writeln('Введите текущую дату d m gggg'); readln(dd,mm,gggg); writeln('Введите дату вашего рождения'); readln(dr,mr,gr); vozr:=gggg-gr;
if mm<mr then vozr:=vozr-1;
if ((mm=mr)and(dd<dr)) then vozr:=vozr-1; writeln('Количество полных прожитых лет равно ',vozr); readln;
end.
Program bilet15;
Uses Crt;
Var a,b,c,s : Integer; tek,x1,x2:real;
Begin
ClrScr; s:=0;
Writeln('Введите коэффициенты уравнения A B C'); readln(a,b,c);
x1:=(c-a*b)/a;
x2:=(-1*(a*b+c)/a);
if x1+b>=0 then begin writeln('Корень уравнения =',x1:6:2);s:=s+1;end;
if ((x2+b<=0)and(x1<>x2)) then begin writeln('Корень уравнения =',x2:6:2);s:=s+1;end;
writeln('Количество корней ',s);
readln;
end.
****
Program bilet16;
Uses Crt;
Var a,b,c,s : Integer; max,rab:real;
Begin
ClrScr;
writeln('Введите длины сторон треугольника');
readln(a,b,c);
max:=(a+b)/2+abs((a-b)/2);
max:=(max+c)/2+abs((max-c)/2);
if 2*max<a+b+c
then
begin
if 2*sqr(max)<sqr(a)+sqr(b)+sqr(c) then writeln('Отрезки образуют остроугольный треугольник');
if 2*sqr(max)=sqr(a)+sqr(b)+sqr(c) then writeln('Отрезки образуют прямоугольный треугольник');
if 2*sqr(max)>sqr(a)+sqr(b)+sqr(c) then writeln('Отрезки образуют тупоугольный треугольник');
end
else
writeln('Отрезки не образуют треугольник');
readln;
end.
Program bilet1;
Uses Crt;
Var dl,td,ts,i,j : Integer; tek:char; stroka :string;
str : array[1..10] of String;
flag:Boolean;
Begin
ClrScr;
writeln('Введите строку');
readln(stroka);
dl:=length(stroka);
stroka[dl+1]:=' ';
td:=0;
ts:=1;
for i:=1 to dl+1 do
begin
if stroka[i]<>' ' then td:=td+1
else begin str[ts]:=copy(stroka,i-td,td);td:=0;ts:=ts+1;end;
end;
repeat
flag:=true;
for i:=1 to ts-2 do
for j:=1 to 5 do
if str[i][j]>str[i+1][j]
then
begin
if flag=true
then
begin
stroka:=str[i];str[i]:=str[i+1];str[i+1]:=stroka;
flag:=false;
end;
end
else
if str[i][j]=str[i+1][j] then continue else break;
until flag;
for i:=1 to ts do
writeln(str[i]);
readln;
end.
Program bilet2; uses crt;
Var
nezdali,sostipendiey,i :integer; ozenka: array[1..20] of integer; begin
for i:=1 to 20 do
begin
writeln('Введите оценку',i,'-го студента'); readln(ozenka[i]);
end;
for i:=1 to 20 do
begin
if ozenka[i]<3 then nezdali:=nezdali+1;
if ozenka[i]>3 then sostipendiey:=sostipendiey+1;
end;
writeln('Не здали ',nezdali);
writeln('Количество студентов здавших на 4 и 5 ',sostipendiey); readln; end.
Program bilet3; uses crt; var s,i:integer;
ch: array[1..7] of integer; begin
clrscr;
for i:=1 to 7 do
begin
writeln('Введите число компьютеров собранных в ',i,' день'); readln(ch[i]);
end;
for i:=1 to 7 do
s:=s+ch[i];
writeln('В среднем за день',s/7:6:2);
readln;
end.
Program bilet4; uses crt; var s,i,j:integer;
ch: array[1..5,1..3] of integer; sr: array[1..5] of integer; begin
clrscr;
for i:=1 to 5 do
for j:=1 to 3 do
Begin
writeln('Введите оценку ',i,' студента за ',j,' экзамен'); readln(ch[i][j]);
sr[i]:=sr[i]+ch[i][j];
end;
for i:=1 to 5 do
begin
writeln('Средний балл ',i,'-го студента = ',sr[i]/3:6:2);
s:=s+sr[i];
end;
writeln('Общий средний балл = ',s/15:6:2);
readln;
end.
Program bilet5; uses crt; var s,i,j,n,m,nomer:integer; mat: array[1..20,1..20] of integer; flag:Boolean;
begin randomize; flag:=false; clrscr;
writeln('Введите количество строк и столбцов');
readln(n,m);
for i:=1 to n do
for j:=1 to m do
mat[i][j]:=random(100)-50;
for i:=1 to m do
begin
if flag<>true
then
begin
flag:=true;
for j:=1 to n do
if mat[j][i] < 0 then flag:=false;
end;
if flag=true then begin nomer:=i;break; end;
end;
if nomer<>0 then writeln('Номер ряда ',nomer) else writeln('Такого ряда нет');
readln;
end.
Program bilet6; uses crt; var n,i,j:integer; s:real;
a: array[1..25,1..25] of real;
begin
writeln('Введите число строк');
readln(n);
for i:=1 to n do
for j:=1 to n do
a[i][j]:=(i-j)/2;
for i:=1 to n do
s:=s+a[i][i];
writeln('Сумма элементов главной диагонали',s:6:2);
readln;
end.
Program bilet7; uses crt,graph;
Var grDriver : Integer; grMode : Integer;
ErrCode : Integer;
Begin clrscr; grDriver:=Detect; InitGraph(grDriver, grMode, ''); ErrCode:=GraphResult; setcolor(red);
If ErrCode = grOk Then Begin
Графика
SetLineStyle(0, 3, 1); line(100,100,200,100);
SetLineStyle(1, 3, 1); line(100,200,200,200);
SetLineStyle(2, 3, 1); line(100,300,200,300);
SetLineStyle(3, 3, 1); line(100,400,200,400); ReadLn; CloseGraph;
End
Else WriteLn('Ошибка инициализации графики:', GraphErrorMsg(ErrCode)); end.
Program bilet8; uses crt,Graph;
Var grDriver,i,j : Integer; grMode : Integer;
ErrCode : Integer;
Begin grDriver:=Detect; InitGraph(grDriver, grMode, ''); ErrCode:=GraphResult; If ErrCode = grOk Then
Begin
Графика
for i:=0 to 15 do
for j:=1 to 8 do
begin
setfillstyle(j,i);
bar(round((640/16)*(i)),round((240/8)*(j-1)),round((640/16)*(i+1)),round((240/8)*(j)));
end;
ReadLn;
CloseGraph;
End
Else WriteLn('Ошибка инициализации графики:', GraphErrorMsg(ErrCode));
End.
Program bilet9;
Uses Graph,crt;
Var grDriver : Integer; grMode : Integer;
ErrCode : Integer;
Begin grDriver:=Detect; InitGraph(grDriver, grMode, ''); ErrCode:=GraphResult; If ErrCode = grOk Then
Begin
Графика
randomize;
repeat
setfillstyle(random(8),random(15));
fillellipse(random(640),random(480), random(100),random(50));
until keypressed;
ReadLn;
CloseGraph;
End
Else WriteLn('Ошибка инициализации графики:', GraphErrorMsg(ErrCode));
End.
Program bilet10;
Uses Graph,crt;
Var grDriver : Integer; grMode : Integer;
ErrCode : Integer;
Begin grDriver:=Detect; InitGraph(grDriver, grMode, ''); ErrCode:=GraphResult; If ErrCode = grOk Then
Begin
Графика
setcolor(red);
circle(320,240,15);
line(320,255,320,355);
line(320,355,280,430);
line(320,355,360,430);
repeat
setcolor(red);
line(270,270,370,270);
delay(5000);
setcolor(black);
line(270,270,370,270);
setcolor(red);
line(280,240,320,270);
line(360,240,320,270);
delay(5000);
setcolor(black);
line(280,240,320,270);
line(360,240,320,270);
until keypressed;
ReadLn;
CloseGraph;
End
Else WriteLn('Ошибка инициализации графики:', GraphErrorMsg(ErrCode));
End.
Program bilet11;
Uses Graph,crt;
Var grDriver,i : Integer; grMode : Integer;
ErrCode : Integer; a:array[1..7] of integer;
Begin randomize; for i:=1 to 7 do a[i]:=random(200); grDriver:=Detect; InitGraph(grDriver, grMode, ''); ErrCode:=GraphResult; If ErrCode = grOk Then
Begin
Графика setcolor(red); for i:=1 to 7 do rectangle(round((480/7)*(i-1)),100,round((480/7)*i),100+a[i]);
ReadLn;
CloseGraph;
End
Else WriteLn('Ошибка инициализации графики:', GraphErrorMsg(ErrCode)); End.
Program bilet17; uses crt; type Zapis = record
Name,Sir,Fath:String; nomer:integer; end;
var i,j,n,zad:integer; name1,sir1,fath1:string; sprav : array[1..10] of Zapis;
begin
textcolor(green); repeat clrscr; writeln('Введите номер задания'); writeln('1-ввод информации'); writeln('2-вывод содержимого справочника'); writeln('3-поиск номера по фамилии,имени и отчеству'); writeln('4 - Exit');
readln(zad); case zad of 1 :begin
clrscr;
writeln('Введите количество записей'); readln(n);
for i:=1 to n do
with sprav[i] do
begin
writeln('Введите имя');
readln(name);
writeln('Введите фамилию');
readln(sir);
writeln('Введите отчество');
readln(fath);
writeln('Введите номер телефона'); readln(nomer);
end;
end;
2 :begin
clrscr;
for i:=1 to n do
with sprav[i] do
begin
write(name,' ');
write(sir,' ');
write(fath,' ');
writeln(nomer);
end;
readln;
end;
3 :begin
writeln('Введите имя');
readln(name1);
writeln('Введите фамилию');
readln(sir1);
writeln('Введите отчество');
readln(fath1);
for i:=1 to n do
with sprav[i] do
if((name=name1)and(sir=sir1)and(fath=fath1)) then begin writeln(name,' ',sir,' ',fath,' ',nomer); break;end; readln;
end;
end;
until zad=4;
end.
Program bilet18; uses crt; type Zapis = record
sir,dolg,podr,sex:String; dd,mm,gg:integer; end;
var
podr1:string; i,j,n,zad,d1,m1,g1:integer; sprav : array[1..10] of Zapis;
begin
textcolor(green);
d1:=30;
m1:=30;
g1:=25675;
repeat
clrscr;
writeln('Введите номер задания'); writeln('1-ввод информации'); writeln('2-вывод содержимого справочника'); writeln('3-вывод списков указанного отдела'); writeln('4-поиск самого старшего мужчины'); writeln('5 - Exit');
readln(zad);
case zad of
1 :begin
clrscr;
writeln('Введите количество записей'); readln(n);
for i:=1 to n do
with sprav[i] do
begin
writeln('Введите фамилию');
readln(sir);
writeln('Введите подразделение'); readln(podr); writeln('Введите должность'); readln(dolg); writeln('Введите пол'); readln(sex); writeln('Введите дату рождения'); readln(dd,mm,gg);
end;
end;
2 :begin
clrscr;
for i:=1 to n do
with sprav[i] do
begin
write(sir,' ');
write(podr,' '); write(dolg,' '); write(sex,' ');
writeln(dd,' ',mm,' ',gg); end;
readln;
end;
3 :begin
clrscr;
writeln('Введите подразделение');
readln(podr1);
for i:=1 to n do
with sprav[i] do
if podr1=podr then
begin
write(sir,' ');
write(podr,' ');
write(dolg,' ');
write(sex,' ');
writeln(dd,' ',mm,' ',gg); end;
readln;
end;
4 :begin
for i:=1 to n do
with sprav[i] do
if sex='m'
then
if gg<g1
then
begin g1:=gg;m1:=mm;d1:=dd; end else
if gg=g1
then
if mm<m1
then
begin g1:=gg;m1:=mm;d1:=dd; end else
if mm=m1
then
if dd<d1
then
begin g1:=gg;m1:=mm;d1:=dd; end;
for i:=1 to n do
with sprav[i] do
if ((sex='m')and(dd=d1)and(mm=m1)and(gg=g1))
then
begin
write(sir,' ');
write(podr,' ');
write(dolg,' ');
write(sex,' ');
writeln(dd,' ',mm,' ',gg);
end;
readln;
end;
end;
until zad=5;
end.
Program bilet19;
Uses Crt;
Var dl,td,ts,i,j : Integer; tek:char; stroka,puti :string; f:text;
str : array[1..10] of String;
flag:Boolean;
Begin
ClrScr;
writeln('Введите строку');
readln(stroka);
dl:=length(stroka);
td:=0;
ts:=1;
for i:=1 to dl+1 do
begin
if ((stroka[i]<>' ')and(stroka[i]<>'.')) then td:=td+1
else
begin
str[ts]:=copy(stroka,i-td,td);td:=0;ts:=ts+1;
end;
end;
delete(stroka,1,length(str[1]));
insert(str[ts-1],stroka,1);
delete(stroka,length(stroka)-length(str[ts-1]),length(str[ts-1]));
insert(str[1],stroka,length(stroka));
writeln(stroka);
readln;
writeln('Введите имя файла');
readln(puti);
Assign(F,puti); rewrite(f); writeln(f,stroka); close(f);
end.
Program bilet20;
Uses Crt;
Var pr,i,j : Integer; tek:char; stroka,puti :string; f:text;
Begin
ClrScr;
Assign(F,'E:\Саша\tp7\tp7\BIN\1.txt'); reset(f);
read(f,stroka);
close(f);
writeln(stroka);
pr:=length(stroka);
for i:=1 to length(stroka) do
if ((stroka[i]=upcase(stroka[i]))and((stroka[i]<>' ')or(stroka[i]<>'.'))) then pr:=pr-1; writeln('Прописных букв ',pr);
readln;
end.
Program bilet21;
Uses Crt;
Var pr,i,j,a,b : Integer; tek:char; stroka,puti :string; f:text;
Begin
ClrScr;
Assign(F,'E:\Саша\tp7\tp7\BIN\1.txt'); reset(f);
read(f,stroka);
close(f);
write(stroka);
if stroka[1]='0'then a:=0;
if stroka[1]='1'then a:=1;
if stroka[1]='2'then a:=2;
if stroka[1]='3'then a:=3;
if stroka[1]='4'then a:=4;
if stroka[1]='5'then a:=5;
if stroka[1]='6'then a:=6;
if stroka[1]='7'then a:=7;
if stroka[1]='8'then a:=8;
if stroka[1]='9'then a:=9;
if stroka[3]='0'then b:=0;
if stroka[3]='1'then b:=1;
if stroka[3]='2'then b:=2;
if stroka[3]='3'then b:=3;
if stroka[3]='4'then b:=4;
if stroka[3]='5'then b:=5;
if stroka[3]='6'then b:=6;
if stroka[3]='7'then b:=7;
if stroka[3]='8'then b:=8;
if stroka[3]='9'then b:=9;
if stroka[2]='+' then writeln('=',a+b);
if stroka[2]='-' then writeln('=',a-b);
if stroka[2]='*' then writeln('=',a*b);
if stroka[2]='/' then writeln('=',a/b:6:2); readln;
end.