Информатика_всем
.pdfbegin
writeLn('первая и последняя цифры не
равны');
if x1>x4 then begin
Y:=x1;
x1:=x4;
x4:=Y; end
else begin
Y:=x2;
x2:=x3;
x3:=Y; end
end;
X:= 1000*x1 + 100*x2 + 10*x3 + x4;
writeLn('в результате преобразований получено число ', X);
end.
7. ЦИКЛИЧЕСКИЕ ВЫЧИСЛИТЕЛЬНЫЕ ПРОЦЕССЫ (МАТЕМАТИЧЕСКИЕ РЯДЫ)
Трижды определить значение выражения, используя три различных
k |
|
n2 |
|||
цикла S |
|
|
|
. |
|
|
|
|
|||
|
|||||
n 1 |
|
n x |
19
Б л о к - с х е м ы к з а д а ч е № 7 |
|
|
|
||
|
|
|
|
Начало |
|
|
|
Начало |
|
|
|
|
|
|
|
Ввод k, x |
|
|
|
Ввод k, x |
|
|
|
|
|
|
|
S := 0 |
|
Начало |
|
S := 0 |
|
|
|
|
|
|
|
n := 1 |
|
Ввод k, x |
|
n := 1 |
|
|
|
|
|
|
|
|
|
S := 0 |
|
|
|
n ≤ k |
|
|
|
|
|
|
|
|
|
S := S + |
n2 |
|
|
n := 1 , k |
|
n x |
|
|
|
|
|
|
|
S := S + |
n2 |
|
|
|
|
|
|
S := S + |
n2 |
n := n + 1 |
|
n x |
|
n x |
|
|
|
|
|
|
|
|
|
n := n + 1 |
|
|
|
n > k |
|
|
|
Вывод S |
|
|
|
|
|
Конец |
|
Вывод S |
|
Вывод S |
|
|
|
|
|
||
|
|
|
|
|
|
|
|
Конец |
|
Конец |
|
|
|
|
|
|
a) |
|
|
|
использование |
б) |
в) |
|
цикла for |
|||
использование |
использование |
||
|
|||
|
цикла repeat |
цикла while |
Л и с т и н г п р о г р а м м ы н а P a s c a l к з а д а ч е № 7 ( в а р и а н т с ц и к л о м f o r )
program Z7_1_For; var n,k:integer; x,S:real;
begin cls;
writeLn('Введите k, x'); readLn(k,x);
for n:=1 to k do S:=S+sqr(n)/sqrt(n+x);
writeLn(' полученная сумма S= ' , S:8:3); end.
20
Л и с т и н г п р о г р а м м ы н а P a s c a l к з а д а ч е № 7 ( в а р и а н т с ц и к л о м r e p e a t )
program Z7_2_Repeat;
var n,k:integer; x,S:real;
begin cls;
writeLn('Введите k, x'); readLn(k,x);
S:=0;
n:=1; repeat
S:=S+sqr(n)/sqrt(n+x);
n:=n+1; until n>k;
writeLn(' полученная сумма S= ',S:8:3); end.
Л и с т и н г п р о г р а м м ы н а P a s c a l к з а д а ч е № 7 ( в а р и а н т с ц и к л о м w h i l e )
program Z7_3_While;
var n,k:integer; x,S:real;
begin cls;
writeLn('Введите k, x'); readLn(k,x);
S:=0;
n:=1;
while n <= k do begin
S:=S+sqr(n)/sqrt(n+x);
n:=n+1;
end;
writeLn(' полученная сумма S= ' ,S:8:3);
end.
21
8. ЦИКЛИЧЕСКИЕ ВЫЧИСЛИТЕЛЬНЫЕ ПРОЦЕССЫ |
||||
(ЗНАЧЕНИЯ ФУНКЦИИ) |
|
|
||
Трижды протабулировать функцию, используя три различных цикла |
||||
2 |
|
x 2;3 x 0,3 |
||
f x x a на интервале |
|
, |
, указав при этом значения |
|
функции с нечетной и четной целой частью. |
|
|||
Б л о к - с х е м ы к з а д а ч е № 8 |
|
|||
|
|
|
|
Начало |
|
Начало |
|
|
|
|
|
|
|
Ввод a |
|
Ввод a |
|
|
|
|
|
|
|
x0:=-2 |
|
x0:=-2 |
|
|
|
N:=trunc((3-x0)/0.3) |
|
|
f := (x+a)2 |
|
|
|
|
|
|
|
k := 0 , N |
|
|
|
|
|
|
|
Вывод x, f |
|
x:=x0+0.3*k |
|
|
|
|
|
|
trunc(f) mod 2 ≠ 0 |
|
|
f := (x+a)2 |
|
|
|
|
|
|
‘Целая часть’ |
‘Целая часть’ |
|
|
|
trunc(f) ‘нечетная’ |
trunc(f) ‘четная’ |
|
Вывод x, f |
|
|
|
trunc(f) mod 2 ≠ 0 |
|
|
x := x + 0.3 |
|
|
|
|
||
‘Целая часть’ |
‘Целая часть’ |
|
|
|
trunc(f) ‘нечетная’ |
trunc(f) ‘четная’ |
|
x > 3 |
|
|
|
|
|
Конец |
|
Конец |
|
|
|
a) использование цикла for |
б) использование цикла repeat |
|||
|
|
|
22 |
|
|
Начало |
|
Ввод a |
|
x0:=-2 |
|
x ≤ 3 |
|
f := (x+a)2 |
|
Вывод x, f |
trunc(f) mod 2 ≠ 0 |
|
‘Целая часть’ |
‘Целая часть’ |
trunc(f) ‘нечетная’ |
trunc(f) ‘четная’ |
|
x := x + 0.3 |
|
Конец |
в) использование цикла while |
Л и с т и н г п р о г р а м м ы н а P a s c a l к з а д а ч е № 8 ( в а р и а н т с ц и к л о м f o r )
program Z8_1_For;
var x0,f,x,a:real;
N,k:integer;
begin
cls;
writeLn('Введите a');
readLn(a);
23
x0:=-2;
N:=trunc((3-x0)/0.3); //Вычисляем число итераций for k:=0 to N do
begin
x:=x0+0.3*k; //Вычисляем очередной х f:=sqr(x+a);
write('f(',x:8:2,') =',f:8:2); if trunc(f) mod 2 <> 0 then
writeLn(' - целая часть ',trunc(f) ,'
нечетная ') else
writeLn(' - целая часть ',trunc(f) ,'
четная'); end;
end.
Л и с т и н г п р о г р а м м ы н а P a s c a l к з а д а ч е № 8 ( в а р и а н т с ц и к л о м r e p e a t )
program Z8_2_Repeat; var f,x,a:real; begin
cls; writeLn('Введите a'); readLn(a);
x:=-2; repeat
f:=sqr(x+a); write('f(',x:8:2,') =',f:8:2); if trunc(f) mod 2 <> 0 then
writeLn(' - целая часть ',trunc(f) ,'
нечетная ') else
24
writeLn(' - целая часть ',trunc(f) ,'
четная');
x:=x+0.3; until x>3;
end.
Л и с т и н г п р о г р а м м ы н а P a s c a l к з а д а ч е № 8 ( в а р и а н т с ц и к л о м w h i l e )
program Z8_3_While; var f,x,a:real; begin
cls; writeLn('Введите a'); readLn(a);
x:=-2;
while x <= 3 do begin
f:=sqr(x+a); write('f(',x:8:2,') =',f:8:2); if trunc(f) mod 2 <> 0 then
begin
writeLn(' - целая часть ',trunc(f) ,'
нечетная ')
end else
writeLn(' - целая часть ',trunc(f) ,'
четная');
x:=x+0.3;
end;
end.
25
9. ЦИКЛИЧЕСКИЕ ВЫЧИСЛИТЕЛЬНЫЕ ПРОЦЕССЫ (ПОСЛЕДОВАТЕЛЬНОСТИ).
Определить N ( N 3 ) первых членов рекуррентной последователь-
ности, для которой |
a a a a |
a 0 |
, |
a 2 |
, |
a 3 |
. Найти |
|
k k1 k2 |
k , |
1 |
2 |
3 |
||||
|
|
3 |
|
|
|
среднее арифметическое
Б л о к - с х е м а к з а д а ч е № 9 |
|
|
1 |
Начало |
|
|
ak:=ak-1+ak-3+ak-2 |
Ввод N |
|
|
ak-3:=ak-2; ak-2:=ak-1; |
|
ak-1:=ak |
|
k := k+1 |
N ≤ 3 |
|
|
Вывод k, ak |
Ввод N |
|
|
ak mod 2 = 0 |
ak-3:=0; ak-2:=2; |
S:=S+ak; |
ak-1:=3; |
Kchet:=Kchet+1 |
k:= 3 |
|
Вывод ak-3; ak-2; |
k = N |
|
|
ak-1:=3; |
|
S := 2 |
SrA:=S/Kchet |
Kchet:=2 |
Вывод SrA |
||
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
1 |
Конец |
|
26
Л и с т и н г п р о г р а м м ы н а P a s c a l к з а д а ч е № 9 program Z9;
var ak_3,ak_2,ak_1,ak:integer; SrA,S:real; k,N,Kchet:integer;
begin
writeLn('введите N'); readLn(N);
while N<=3 do begin
writeLn('введите N'); readLn(N);
end; ak_3:=0; ak_2:=2; ak_1:=3; k:=3;
writeln(1:5,' z=',ak_3); writeln(2:5,' z=',ak_2); writeln(3:5,' z=',ak_1);
//Задаем начальное значение для суммы S первых
//трех значений и Kchet - их количества.
//Четные 0 и 2, => S=0+2=2 и Kchet = 1+1 = 2 S:=2;
Kchet:=2; repeat
ak:=ak_1+ak_3+ak_2; ak_3:=ak_2; ak_2:=ak_1; ak_1:=ak;
inc(k);
27
writeln(k:5,' z=',ak); if ak mod 2=0 then
begin S:=S+ak;
Kchet:=Kchet+1;
end; until k=N; SrA:=S/Kchet;
writeLn('Среднее арифметическое четных равно ',
SrA);
end.
10. РАСЧЕТЫ В ОДНОМЕРНЫХ МАССИВАХ
Ввести одномерный массив A, состоящий из девяти элементов. Опре-
делить среднее арифметическое четных элементов.
Б л о к - с х е м а к з а д а ч е № 1 0 |
|
|
1 |
Начало |
i := 1, 9 |
|
|
i := 1 , 9 |
A[ i ] mod 2 = 0 |
|
|
k:=k+1 |
|
Ввод A[ i ] |
|
S:=S+A[ i ] |
|
S := 0 |
|
k := 0 |
|
|
SrA := S/k |
1 |
|
|
Вывод SrA |
|
Конец |
28