Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка для заочников_практика.doc
Скачиваний:
1
Добавлен:
10.12.2018
Размер:
5.2 Mб
Скачать

5.2 Условие задачи 2

Трижды протабулировать функцию, используя три различных цикла на интервале , , указав при этом значения функции с нечетной и четной целой частью.

Блок-схемы к задаче 2

Листинг программы на Pascal к задаче 2 (вариант с циклом for)

program Zad5_2_For;

var x0,f,x,a:real;

N,k:integer;

begin

cls;

writeLn('Введите a');

readLn(a);

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.

Листинг программы на Pascal к задаче 2 (вариант с циклом repeat)

program Zad5_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

writeLn(' - целая часть ',trunc(f) ,' четная');

x:=x+0.3;

until x>3;

end.

Листинг программы на Pascal к задаче 2 (вариант с циклом while)

program Zad5_2_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.

5.3 Условие задачи 3

Определить () первых членов рекуррентной последовательности, для которой , , , . Найти среднее арифметическое первых чётных членов.

Блок-схема к задаче 3

Листинг программы на Pascal к задаче 3

program Zad5_3_While;

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);

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.

6. Одномерные массивы

6.1 Условие задачи №1

Ввести одномерный массив , состоящий из 9 элементов. Определить среднее арифметическое чётных элементов.

Блок-схема к задаче №1

Листинг программы на Pascal к задаче 1

program Zad6_1;

var A:array[1..9] of integer;

i,k, S:integer; SrA:real;

begin

writeLn('Вводим элементы массива A:');

for i:=1 to 9 do

begin

write('A[',i,']=');

readLn(A[i]);

end;

S:=0; k:=0;

for i:=1 to 9 do

if A[i] mod 2 = 0 then

begin

S:=S+A[i];

k:=k+1;

end;

SrA:=S/k;

writeLn('среднее арифметическое = ',SrA:8:2);

end.