- •4. Разветвляющиеся вычислительные процессы.
- •4.1 Условие задачи 1
- •4.2 Условие задачи 2
- •5. Циклические вычислительные процессы
- •5.1 Условие задачи 1
- •5.2 Условие задачи 2
- •5.3 Условие задачи 3
- •6. Одномерные массивы
- •6.1 Условие задачи №1
- •6.2 Условие задачи №2
- •6.3 Условие задачи №3
- •7. Двумерные массивы
- •7.1 Условие задачи №1
- •7.2 Условие задачи №2
- •7.3. Условие задачи №3
- •8. Подпрограммы
- •8.1 Условие задачи 1
- •8.2 Условие задачи 2
- •9. Файлы.
- •9.1 Условие задачи 1
- •9.2 Условие задачи 2
- •9.3 Условие задачи 3
- •Сборник задач для семестровых работ по информатике
- •400131, Волгоград, просп. Им. В. И. Ленина, 28, корп. 1.
- •400131, Волгоград, просп. Им. В. И. Ленина, 28, корп. 7.
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.