Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задания на 0-10.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
158.72 Кб
Скачать

Задания на 0-10 баллов

1. Сконструируйте программу для формирования массива В состоящего из четных элементов массива А. Элементы массива вводятся с клавиатуры. Размер массива n.

Решение:

Program newmasiv;

uses crt;

Var a: array[1..100] of integer;

b: array[1..100] of integer;

n, i, k, kol: integer;

Begin

clrscr;

kol:=0; k:=0;

write('n='); readln (n);

For i:=1 to n do

begin

write('a[',i,']='); readln (a[i]);

if a[i] mod 2=0 then

begin

k:=k+1; b[k]:=a[i]; kol:=kol+1;

end;

if kol=0 then writeln('Четных элементов нет') else

for k:=1 to kol do

writeln('b[',k,']=',b[k]);

readln;

end;end.

2. Сконструируйте программу для нахождения суммы максимальных элементов массивов a[1..10] и b[1..10], используя процедуру для определения максимального элемента массива.

Решение:

Program proizv;

uses crt;

Type massiv=array[1..10] of integer;

Var a, b:massiv;

m1, m2,i:integer;

Procedure min (x:massiv; var m:integer);

Begin

m:=1;

for i:=1 to 10 do

if x[i]>m then m:=x[i];

end;

begin

clrscr;

write('Введите элементы массива a:');

for i:=1 to 10 do

readln(a[i]);

write('Введите элементы массива b:');

for i:=1 to 10 do

readln(b[i]);

min(a, m1);

min(b, m2);

write('Symma max elementov=', m1+m2);

readln; end.

3. Сконструируйте программу для подсчета количества положительных элементов в каждой строке матрицы размером M*N, элементы которой вводятся с клавиатуры.

Решение:

program kolpolvstr;

uses crt;

Var a: array[1..50,1..50] of integer;

i, j, m, n, kol: integer;

Begin

clrscr;

Write('Сколько строк?'); Readln(m);

Write('Сколько столбцов'); Readln(n);

For i:=1 to m do

begin

For j:=1 to n do

begin

write('a[',i,',',j,']=');

readln (a[i,j]); end;end;

for i:=1 to m do

begin

kol:=0;

for j:=1 to n do

if a[i,j]>0 then kol:=kol+1;

writeln('количество положительных элементов в ',i,'строке: ',kol);

end;

writeln; readln;

end.

4. Сконструируйте программу для подсчета количества способов выбора четырех из десяти учащихся для участия в конкурсе.

Решение:

Program socetanie;

Var n:integer; c:longint;

Function fact (a:integer):longint;

Begin

If a=0 then fact:=1

Else fact:=a*fact(a-1);

End;

Begin

C:=fact(10)/(fact(4)*fact(6));

Writeln('Количество способов=', C);

readln;

end.

5. Сконструируйте программу, которая на диске компьютера (c:) создаст файл numbers.txt и запишет в него 5 введенных пользователем целых чисел. Просмотрите при помощи редактора текста созданный файл. Убедитесь, что каждое число находится в отдельной строке.

Решение:

Program primer;

var

f: text;

n: integer;

i: integer;

begin

writeln('Создание файла ');

writeln('Введите пять целых чисел');

writeln('После ввода каждого числа нажимайте <Enter>');

Assign(f,'c:\numbers.txt');

Rewrite(f);

for i:=1 to 5 do

begin

write('->');

readln(n);

writeln(f,n);

end;

close(f);

writeln('Введенные числа записаны в файл','c:\numbers.txt');

readln; end.

6. Сконструируйте программу для вычисления факториала. При создании программы используйте функцию.

Решение:

Program primer;

Var n:integer;

Function fact(i:integer):longint;

Begin

If i=0 then fact:=1

Else fact:=i*fact(i-1);

End;

begin

write('Введите число n:'); readln(n);

writeln('Факториал n! = ', fact(n)); readln;

end.

7. Сконструируйте программу для определения минимального элемента двумерной матрицы. Используйте две процедуры: первая для формирования матрицы, вторая для нахождения минимального элемента.

Решение:

Program Ex;

uses crt;

type

mas=array[1..4,1..4] of integer;

var tab:mas;

min,i,j:integer;

Procedure Vvodmt(var m:mas);

begin

clrscr;

for i:=1 to 4 do

for j:=1 to 4 do

begin

write ('Vvedite elementi massiva',i,' ',j, ' ');

readln(m[i,j]); end; end;

Procedure Tmtab (m:mas; var rez:integer);

var i, j:byte;

begin

rez:=m[1,1];

for i:=1 to 4 do

for j:=1 to 4 do

if m[i,j]<rez then

rez:=m[i,j]; end;

begin

Vvodmt(tab);

Tmtab(tab,min);

writeln('min=',min);

repeat until keypressed;

end.

8. Сконструируйте программу, в которой функция вычисляет площадь цилиндра по задаваемым параметрам диаметра основания D и его высоты H.

Решение:

Program SC;

var a1,a2,a3:real;

Function Sqr_Cil(D,H:real):real;

var z1,z2:real;

begin

z1:=2*(Pi*D/4);

z2:=Pi*D*H;

Sqr_Cil:=z1+z2;

end;

begin

Readln(a1,a2);

a3:=Sqr_Cil(a1,a2);

Writeln(‘диаметр=’,a1:5:2,’ высота=‘,a2:5:2,

’площадь=‘,a3:7:3);

end.

9. Опишите запись Student, в которой хранятся данные об учениках разных классов: № школы, фамилия, класс. Выведите список учеников, которые учатся в восьмом классе. Количество учащихся задавать программно.

Решение:

Program LipovsevM;

Uses Crt;

Type

Uchenik=record

Shkola : integer;

Fam : string[15];

Klass : integer;

end;

Var

I,n,a,j : integer;

Massiv : array[1..100] of Uchenik;

Procedure Poisk;

Begin

for i:=1 to n do

if massiv[i].klass=8

then

with massiv[i] do

writeln(Shkola:4,' ',Fam:15,' ',klass);

End;

Begin

ClrScr;

writeln('Введите число учеников ');

write('->');

read(n);

for i:=1 to n do

begin

writeln('Введите через пробел номер школы и фамилию ученика  ');

write('->');

with massiv[i] do

begin

readln(Shkola,Fam);

write('введите класс ученика   (только число) ->');

read(Klass);

end;

end;

writeln('Ученики 8-ых классов:');

writeln('Школа Фамилия Класс');

writeln('---------------------------------');

Poisk;

ReadKey;

End.

10. Сконструируйте программу для формирования одномерного массива B, элементы которого заданы датчиком случайных чисел на интервале [-19, 26] (размер произвольный). Найдите произведение элементов с нечетными номерами.

Решение:

Program proisvednechet;