Автор работы: Пользователь скрыл имя, 16 Декабря 2012 в 13:13, задача
Информатиканы оқыту процесінің мақсаты - жеке оқушының есеп шығаруын дамыту, шығарылған есептің бағдарламасын құру мектептегі білім сапасын арттыру болып табылады.
then writeln(‘бәрі тең’) else writeln(‘екеуі тең’);
end.
№30
Екі үшбұрыш қабырғалары a, b, c және d, e, f берілген. Қайсы үшбұрыштың ауданы үлкен екенін аңықтау қажет.
program esep2;
var a,b,c,d,e,f,p1,p2,S1,S2:real;
begin
writeln(’1-ші үшбұрыш қабырғаларын енгіз:’);
readln(a,b,c);
writeln(’2-ші үшбұрыш
readln(d,e,f);
p1:=(a+b+c)/2;
p2:=(d+e+f)/2;
S1:=sqrt(p1*(p1-a)*(p1-b)*(p1-
S2:= sqrt(p2*(p2-d)*(p2-e)*(p2-f));
if S1>S2 then writeln(‘үлкені 1-үшбұрыш, ауданы =’, S1:8:2)
else writeln(‘үлкені 2-үшбұрыш, ауданы =’, S2:8:2)
end.
№31
a, b, c және d төрт түзу сызығының ұзындықтары берілген. Осылар квадраттың немесе тікбүрышты төртбұрыштың қабырғалары бола алады ма? Соны тексеріңдер.
program esep3;
var a,b,c,d:integer;
begin
writeln(’үзындықтарды енгіз:’);
write(’a=’); read(a);
write(’b=’); read(b);
write(’c=’); read(c);
write(’d=’); read(d);
if (a=b) and (a=c) and (a=d) and (b=c) and (b=d) and (c=d)
then writeln(‘Квадрат қабырғалары бола алады’);
if (a=c) and (b=d) then writeln(‘Тікбұрышты төртбұрыштың қабырғалары бола алады’)
else writeln(‘Тікбұрышты
end.
№32
Үшбұрыштың қабырғалары x, y және z берілген. Осы үшбұрыштың тікбұрышты үшбұрыш екенін анақтау керек. Егер солай болып шықса, онда оның қай қабырғасы гепотенуза болатынын табыңдар.
program ushburish;
uses crt;
var x, y, z:real;
begin
clrscr;
writeln;
writeln('үшбұрыш қабырғаларын енгіз:');
write('x='); readln(x);
write('y='); readln(y);
write('z='); readln(z);
if (z<>sqrt(sqr(x)+sqr(y))) and (x<>sqrt(sqr(z)+sqr(y)))
and (y<>sqrt(sqr(x)+sqr(z)))
then writeln('тік бұрышты үшбұрыш бола алмайды');
if (z=sqrt(sqr(x)+sqr(y)))
then writeln('тік бұрышты үшбұрыш бола алады, гипотенузасы z=',z:6:2);
if (x=sqrt(sqr(z)+sqr(y)))
then writeln('тік бұрышты үшбұрыш бола алады, гипотенузасы x=',x:6:2);
if (y=sqrt(sqr(x)+sqr(z)))
then writeln('тік бұрышты үшбұрыш бола алады, гипотенузасы y=',y:6:2);
end.
№33
P натурал сан болғанда, a p өрнегін есептейтін бағдарлама құрыңдар
for to do
program esep;
var i,n:integer;
p,a,S:real;
begin
writeln('шекарасын көрсет: ');
readln(n);
a:=5;
S:=1; p:=1;
for i:=1 to n do
begin
S:=S*exp(p*ln(a));
writeln('a= ',a:8:2,' p= ',i:5, ' S =',S:8:2);
end;
end.
While do
program esep;
var i,n:integer;
p,a,S:real;
begin
writeln('шекарасын көрсет: ');
readln(n);
a:=5;
S:=1; p:=1;
while i<n do
begin
i:=i+1;
S:=S*exp(p*ln(a));
writeln('a= ',a:8:2,' p= ',i:5, ' S =',S:8:2);
end;
end.
№34
Төмендегі өрнектің мәнің табу қажет:
a) program esep;
var i,n:integer;
S: real;
begin
writeln('n-ді енгіз:');
readln(n);
S:=0;
for i:=1 to n do
S:=S+1/i;
write(S:8:4)
end.
ә) program esep;
var i,n:integer;
S:real;
begin
readln(n);
S:=0;
for i:=2 to n do
S:=S+1/((i-1)*i);
write(S:8:4)
end.
б) program esep;
var i,n:integer;
S:real;
begin
readln(n);
S:=0;
for i:=1 to n do
if i mod 2=0 then S:=S+(-1)/i else S:=S+1/i;
write(S:8:4);
end.
в) program esep;
var i,n:integer;
S:real;
begin
readln(n);
S:=1;
for i:=1 to n do
S:=S*(1+1/(sqr(i)));
write(S:8:4);
end.
г) program esep;
var i,n:integer;
S:real;
begin
readln(n);
S:=0;
for i:=0 to n do
S:=S+(1/(sqr((2*i)+1)));
write(S:8:4);
end.
№35
1-ден 100-ге дейінгі
тақ сандардың жєне жұп
program esep;
var i, k, t,n,S1,S2 :integer;
begin
writeln('n-ді енгіз:');
readln(n);
t:=0; k:=0;
for i:=1 to n do
if i mod 2=1 then begin t:=i; S1:=S1+i; end else begin k:=i; S2:=S2+i; end;
write('1-ден ', n, ' -ге дейінгі тақ сандардың қосындысы ', S1:6, ' жұп сандардың қосындысы', S2:6);
end.
№36
Әрбір бактерия бір минутта екіге бөлінеді. Басында бір бактерия берілген деп, 5, 7, 9, ... 15 минуттан кейін неше бактерия пайда болатынын табыңдар. Жаңа пайда болған бактериялар да минут сайын көбейіп отырады.
program bakterialar;
var a,S:real;
begin
writeln('минут санын енгіз:');
readln(a);
S:=exp(a*ln(2));
writeln(a:6:2,'-минуттан
end.
№37
Бірөлшемді массивтің ішіндегі индексі жұп болатын ең кіші элементті анықтау.
program massiv;
var a,b:array[1..10] of integer;
i:integer;
min:integer;
begin
for i:=1 to 10 do
read(a[i]);
for i:=1 to 10 do
min:=a[1];
for i:=2 to 10 do
if (i mod 2 =0) and (a[i] < min) then min:=a[i];
write(min:8);
end.
№38
Бірөлшемді массивтің ішіндегі ең үлкен элементті анықтау.
program massiv;
var a:array[1..10] of integer;
i:integer;
max:integer;
begin
for i:=1 to 10 do
read(a[i]);
for i:=1 to 10 do
max:=a[1];
for i:=2 to 10 do
if a[i] > max then max:=a[i];
write(max:8);
end.
№39
Бірөлшемді массивтің элементтерін өсу реті бойынша сұрыптау.
program suriptau;
const n=10;
var z:array[1..n] of integer;
i,j,k:integer;
begin
for i:=1 to n do read(z[i]);
for j:=1 to n-1 do
begin
for i:=1 to n-1 do
if z[i]>z[i+1] then begin k:=z[i];
z[i+1]:=k;
end;
end;
for i:=1 to n do write(z[i],' ');
end.
№40
Бірөлшемді массивтің ішіндегі ең үлкен элементті алып тастау.
program massiv;
label 1;
const n=5;
var a,b:array[1..5] of integer;
i,k:integer;
max:integer;
begin
for i:=1 to 5 do
read(a[i]);
for i:=1 to 5 do
max:=a[1]; k:=1;
for i:=2 to 5 do
if a[i] > max then begin max:=a[i]; k:=i; end;
if k=1 then begin for i:=2 to n do write(a[i],' '); goto 1; end;
for i:=1 to k-1 do
write(a[i],' ');
for i:=k+1 to 5 do
write(a[i],' ');
end.
№41
Екіөлшемді 5х4 массив берілген. Екінші жолдың бойынан ең кіші элементті анықтау.
program matrica;
var a:array[1..5,1..4] of integer;
min:integer;
i,j:integer;
begin
for i:=1 to 5 do
for j:=1 to 4 do
read(a[i,j]);
min:=a[2,1];
for j:=2 to 4 do
if a[2,j]<min then min:=a[2,j];
write(min:8);
end.
№42
Екіөлшемді 5х4 массив берілген. Төртінші бағанда орналасқан элементтердің көбейтіндісін анықтау
program matrica;
var a:array[1..5,1..4] of integer;
p:integer;
i,j:integer;
begin
for i:=1 to 5 do
for j:=1 to 4 do
read(a[i,j]);
p:=1;
for i:=1 to 5 do
p:=p*a[i,4];
write(p:8);
end.
№43
Екіөлшемді 3х3 массив
берілген. Осы массивтің индекстерінің
қосындысы тақ болатын
program matrica;
var a:array[1..3,1..3] of integer;
p:integer;
i,j:integer;
begin
for i:=1 to 3 do
for j:=1 to 3 do
read(a[i,j]);
for i:=1 to 3 do
begin
for j:=1 to 3 do
if (i+j) mod 2=1 then
write(a[i,j],' ');
writeln;
end;
end.
№44
Екіөлшемді 4х5 массив берілген. Осы массивтің жұп элементтерін 0-ге, тақ элементтерін 1-ге айналдыру қажет.
program matrica;
var a:array[1..4,1..5] of integer;
p:integer;
i,j:integer;
begin
for i:=1 to 4 do
for j:=1 to 5 do
read(a[i,j]);
for i:=1 to 4 do begin
for j:=1 to 5 do
if a[i,j] mod 2=1 then a[i,j]:=1 else a[i,j]:=0;
end;
for i:=1 to 4 do begin
for j:=1 to 5 do
write(a[i,j],' ');
writeln;
end;
end.
№45
Екіөлшемді 5х5 матрица берілген. Осы массивтің негізгі диагональ элементтерінің қосындысын табу.
program matrica;
var a:array[1..5,1..5] of integer;
S:integer;
i,j:integer;
begin
for i:=1 to 4 do
for j:=1 to 4 do
read(a[i,j]);
S:=0;
for i:=1 to 4 do
for j:=1 to 4 do
if i=j then S:=S+a[i,j];
write(S:8);
end.
№46
Екіөлшемді 4х4 матрица берілген. Осы массивтің кері диагоналінің астыңғы бөлігіндегі теріс элементтердің санын табу.
program matrica;
const n=4;
var a:array[1..n,1..n] of integer;
S:integer;
i,j:integer;
begin
for i:=1 to n do
for j:=1 to n do
read(a[i,j]);
S:=0;
for i:=1 to n do
for j:=1 to n do
if ((i+j)>(n+1)) and (a[i,j]<0) then S:=S+1;
write(S:8);
end.
№47
Екіөлшемді 5х5 матрица берілген. Осы массивтің негізгі диагоналінің үстіңгі бөлігіндегі нөлдердің санын анықтау.
program matrica;
const n=5;
var a:array[1..n,1..n] of integer;
S:integer;
i,j:integer;
begin
for i:=1 to n do
for j:=1 to n do
read(a[i,j]);
S:=0;
for i:=1 to n do
for j:=1 to n do
if (i<j) and (a[i,j]=0) then S:=S+1;
write(S:8);
end.
№48
20 элементтен тұратын бүтін сандар массиві берілген. Осы массивтің әрбір төртінші орында тұрған элементтерін нөлге айналдыру.
program auistiru;
const n=20;
var a:array[1..n] of integer;
i:integer;
begin
for i:=1 to n do
read(a[i]);
for i:=1 to n do
if i mod 4=0 then a[i]:=0;
for i:=1 to n do write(a[i],' ');
end.
№49
4х5 матрица берілген. Матрицаның әрбір жолын өсу реті бойынша сұрыптаңыз.
program suriptau;
const n=4; m=5;
var a:array[1..n,1..m] of integer;
i,j,s,k:integer;
BEGIN
for i:=1 to n do
for j:=1 to m do
read(a[i,j]);
for i:=1 to n do begin
for j:=1 to n do begin
for s:=1 to n do
if a[i,s]>a[i,s+1] then
begin
k:=a[i,s];
a[i,s]:=a[i,s+1];
a[i,s+1]:=k;
end;
end;
end;
for i:=1 to n do begin
for j:=1 to m do
write(a[i,j],' ');
writeln;
end;
END.
№50
Алмаста N алма бар. Сыныптағы M бала одан әрқайсысы 1 алма беруден сұрады. Алмасқа әр алманың салмағы қанша грамм екені белгілі. M баланың әрқайсысына бір алмадан бере отырып, Алмас өзінде қалған алмалардың (N-M) жалпы салмағы максимум болуын басты назарда үстауы керек.
Мысал: Берілгені: N=10 M=7
25 85 1 6 9 23 41 2 6 10
Нәтиже: 151
program almalar;
const n1=100;
var a:array[1..n1] of integer;
i,j,k,m,n:integer;
f1,f2:text;
S:integer;
BEGIN
Writeln('Алмалардың санын енгіз:');
Readln(n);
Writeln('балалардың санын санын енгіз:');
readln(m);
if (m>n) or (m=n) then writeln('балалардың саны алмалардың санынан аспауы немесе тең болмауы керек');
for i:=1 to n do read(a[i]);
for j:=1 to n-1 do
begin
for i:=1 to n-1 do
if a[i]>a[i+1] then
begin
k:=a[i];
a[i]:=a[i+1];
a[i+1]:=k;
end;
end;
S:=0;
for i:=m+1 to n do S:=S+a[i];
writeln(S:8);
END.
№51
Төмендегі өрнекті есептеу:
Z=(a n+b m)c r-d k
program darezhesepteu;
var a,b,c,d,n,m,r,k,Z,f1,f2,f3,f4:
procedure darezhe(s,t:real; var q:real);
begin
q:=exp(t*ln(s));
end;
BEGIN
read(a,n,b,m,c,r,d,k);
darezhe(a,n,f1);
darezhe(b,m,f2);
darezhe(c,r,f3);
darezhe(d,k,f4);
Z:=(f1+f2)*f3-f4;
write(Z:8:2);
END.
№52
Берілген жолдың ішіндегі сөздердің санын анықтау.
program sozder;
var S:string;
k,i:integer;
BEGIN
read(S);
k:=0;
for i:=1 to length(S) do
if S[i]=' ' then k:=k+1;
write(k+1:8,' сөз');
END.
№53
Берілген жолдың ішіндегі 3 символдан тұратын сөздерді экранға шығару.
program esep;
var s:string; i,k:integer;
begin
read(S); k:=0; i:=1;
while i<=length(S) do
begin
if s[i]<>' ' then begin
k:=k+1;
i:=i+1;
end
else begin
if k=3 then begin
writeln(copy(S,i-k,k));
k:=0; i:=i+1;
end
else begin
k:=0;
i:=i+1;
end;
end;
end;
if k=3 then writeln(copy(S,i-k,k));
end.
№54
Кері оқылатын сөздерді
«аударылады», ал басқа сөздерді «аударылмайды»
деп шығаратын бағдарлама.
program arip;
var s1,s2: string;
i:integer;
begin
readln(s1); s2:=’’;
for i=length(s1) downto 1 do begin
s2:=s2+s1[i];
end;
if s1=s2 then writeln (s1,‘аударылады’);
else writeln (s1,‘аударылмайды’);
end.
Қолданылған әдебиеттер және басқа да ақпарат көздері:
1.Ван Тассел Д. Стиль, «Разработка, эффективность, отладка и испытание программ» - Москва «Мир», 1981г.
2.Информатика. Задачник-практикум в 2 т. / Под ред. И.Г. Семакина, Е.К. Хеннера: Том 2. — Москва. Лаборатория Базовых Знаний, 1999г
3.С.А.Абрамова, Е.В.Зима. «Начала
программирования на языке
-Москва «Наука»,1987г
4. http://infcd.metodist.ru/
5. Окулов. С.М., Основы программирования. – 3-е изд. – Mосква: БИНОМ. Лаборатория знаний, 2006.
6. Тен А.С., Кабдулов Г. С. Практические задания по Паскль, Алматы, 2005г
7. Мұхамбетжанова С. Т. Паскаль бағдарламалау тілі, Алматы-2007 жыл.
8. Интернеттен алынған