
- •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.
6.2 Условие задачи №2
Ввести одномерный массив
,
состоящий из
элементов. Каждый второй элемент
увеличить в 10 раз. Массив вывести до
изменения и после.
Блок-схема к задаче №2
Листинг программы на Pascal к задаче №2
program Zad6_2;
const Nmass=100;
var A:array[1..Nmass] of integer;
i,N: byte;
begin
writeLn('Введите число элементов в массиве A');
readLn(N);
writeLn('Вводим элементы массива A:');
for i:=1 to N do
begin
write('A[',i,']=');
readLn(A[i]);
end;
//вывод массива до измененния
writeLn('Исходный массив A:');
for i:=1 to N do
write(A[i]:5);
writeLn;
// модификация массива
for i:=1 to N do
if i mod 2 = 0 then
A[i]:=A[i]*10;
//вывод массива поле измененния
writeLn;
writeLn('массив A после изменения:');
for i:=1 to N do
write(A[i]:5);
end.
6.3 Условие задачи №3
Ввести одномерный массив
,
вывести его. Определить
– сколько раз в нём встречаются две
тройки идущие подряд. Если таковых нет,
то заменить нулями минимальный элемент
среди тех, что стоят на нечётных позициях,
а если есть, то поменять максимум среди
элементов расположенных после
,
с первым элементом массива.
Блок-схема к задаче №3
Листинг программы на Pascal к задаче №3
program Zad6_3;
const Nmass=100;
var A:array[1..Nmass] of integer;
N,i,k,Imax,Imin: byte;
buf:integer;
begin
cls;
writeLn('Введите число элементов в массиве A');
readLn(N);
writeLn('Вводим элементы массива A:');
for i:=1 to N do
begin
write('A[',i,']=');
readLn(A[i]);
end;
//вывод массива до измененния
writeLn('Исходный массив A:');
for i:=1 to N do
write(A[i]:5);
writeLn;
// определение серий троек
k:=0;
for i:=1 to N-1 do
if (A[i]=3) and (A[i+1]=3) then
k:=k+1;
// проверка условия наличия серий троек
if k=0 then
begin
WriteLn('В массиве нет серий из двух троек');
//если троек нет, то k=0,
//потому обнуляем минимум
//среди элементов стоящих на нечётных местах
Imin:=1;
for i:=1 to N do
if (A[i]<A[Imin]) and (i mod 2=0) then
Imin:=i;
A[Imin]:=0;
end
else
begin
WriteLn('В массиве всего ',k,' серий из двух троек');
//если k>0, то ищем максимум
//среди элементов после A[k]
Imax:=k+1;
for i:=k+1 to N do
if A[i]>A[Imax] then
Imax:=i;
//замена в 3 действия
buf:=A[1];
A[1]:=A[Imax];
A[Imax]:=buf;
end;
//вывод массива поле измененния
writeLn;
writeLn('массив A после изменения:');
for i:=1 to N do
write(A[i]:5);
end.
7. Двумерные массивы
7.1 Условие задачи №1
Ввести двумерный массив
.
Определить среднее геометрическое
положительных чётных элементов, считая,
что они в нём есть.
Блок-схема к задаче №1
Листинг программы на Pascal к задаче №1
program Zad7_1;
var A:array[1..3,1..4] of integer;
i,j,k: byte;
P,SrG:real;
begin
cls;
//ручной ввод массива
writeLn('Вводим элементы массива A:');
for i:=1 to 3 do
for j:=1 to 4 do
begin
write('A[',i,',',j,']=');
readLn(A[i,j]);
end;
k:=0;
P:=1;
for i:=1 to 3 do
for j:=1 to 4 do
if (A[i,j] mod 2=0) and (A[i,j]>0) then
begin
p:=p*A[i,j];
k:=k+1;
end;
// вычисление среднего геометрического как корня
// k-й степени из произведения P, составленного
// из k сомножителей
SrG := exp((1/k)*ln(p));
writeLn('всего чётных элементов ', k);
writeLn('их произведение ', p);
writeLn('среднее геометрическое ', SrG:8:2);
end.