Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
programming - Александр.docx
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

Задание 4. Работа с массивами чисел.

Упорядочить по не возрастанию массив, содержащий 25 вещественных чисел.

Program dz4;

uses crt;

var

a:array[1..25] of real;

max, zap : real;

i, j, n_max : integer;

begin

clrscr;

writeln ('Заполнение массива случайными числами');

writeln;

randomize;

for i:= 1 to 24 do

a[i]:=random(1001)/(1+random(1000))-random(101)/(1+random(100));

a[25]:=0;

writeln('Исходный массив');

writeln;

for i:= 1 to 25 do

write(' ',a[i]);

writeln;

for i:= 1 to 25 -1 do

begin

n_max:=i;

max:=a[i];

for j:= i+1 to 25 do

if a[j]> max then

begin

max:= a[j];

n_max:=j;

end;

zap:=a[n_max];

a[n_max]:=a[i];

a[i]:=zap;

end;

writeln;

writeln('--------------массив после сортировки--------------');

writeln;

for i:= 1 to 25

do write(' ',a[i]);

writeln;

readln;

end.

Результаты выполнения программы:

Заполнение массива случайными числами

Исходный массив

1.88095238095238 -1.0693058733791 13.519696969697 0.33035757371037 2.19172413793103

-0.516508662961752 0.537649219467401 1.45 0.163203764456374 -1.17732884399551 0.2

-11.8571428571429 -0.762223436219612 0.755920820077766 -1.04939209726444

-0.664654226125137 3.1959559916741 -0.818415217644999 -1.63772796352584 0.127959632552723 0.816676077545643 0.483413141136397 -0.643972602739726 0.873150887573965

-0.292757242757243

--------------массив после сортировки--------------

13.519696969697 3.1959559916741 2.19172413793103 1.88095238095238 1.45 0.873150887573965 0.816676077545643 0.755920820077766 0.537649219467401 0.483413141136397 0.33035757371037 0.2 0.163203764456374 0.127959632552723 -0.292757242757243 -0.516508662961752 -0.643972602739726 -0.664654226125137 -0.762223436219612 -0.818415217644999 -1.04939209726444 -1.0693058733791 -1.17732884399551 -1.63772796352584 -11.8571428571429

Задание 5. Работа с множественными типами данных

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

Program dom5;

uses crt;

Var c,i,j:char;

lb:set of '<'..'>';

Begin

clrscr;

writeln('Введите строку символов(x-конец строки)');

write('=>');

lb:=[];

repeat

read(c);

if c in ['<'..'>'] then lb:=lb+[c]

until c='x';

writeln('Знаки операций отношения:');

for i:='<' to '>' do

if i in lb then write(i:2);

writeln;

readln(c);

readln(c);

End.

Результаты выполнения программы:

Введите строку символов(x-конец строки):

=>ghHJKL<jivf+vjo=kod>>vdjo<<dsx

'Знаки операций отношения:

< = >

Задание 6. Операции над множествами

В техникуме имеются секции по следующим видам спорта: лыжи, коньки, хоккей, футбол, регби и самбо. Известны виды спорта, которыми занимаются учащие­ся каждой группы. Количество групп N указано в ва­рианте.

1. Требуется построить и распечатать множество видов спорта:

а) которыми занимаются во всех группах (N=10);

б) которыми занимаются хотя бы в одной группе (N=l0);

в) которыми не занимаются ни в одной из групп (N=10).

г) которыми занимаются хотя бы в 5-и группах (N=10).

program dz6;

const n=10;

type sports=(skiing, skating, hockey, football, rugby, sambo);

group=set of sports;

groups=array[1..n] of group;

var m1:groups;

x:sports;

A,B,C,D,xm1:group;

i,j,iw,l:integer;

counter: array[sports] of integer;

s:string;

ch:char;

begin

writeln('Номера спортивных секций: 1-лыжи, 2-коньки, 3-хоккей, 4-футбол, 5-регби, 6-самбо');

for j:=1 to n do begin

writeln('введите номера секций ', j,'-ой группы');

readln(s);

l:=length(s);

for i:=1 to l do begin

ch:=s[i];

case ch of

'1': x:=skiing;

'2': x:=skating;

'3': x:=hockey;

'4': x:=football;

'5': x:=rugby;

'6': x:=sambo;

end;

m1[j]:=m1[j]+[x];

end;

end;

A:=m1[1]; B:=[]; C:=[skiing .. sambo];

for i:=1 to n do begin

A:=A*m1[i]; (*по крайней мере в одном*)

B:=B+m1[i]; (*во всех*)

C:=C-B; (*нет ни в одном*)

end;

for i:=1 to 3 do begin

case i of

1: writeln('секции которыми занимаются во всех группах');

2: writeln('секции которыми занимаются хотя бы в одной группе ');

3: writeln('которыми не занимаются ни в одной из групп ');

end;

for x:=skiing to sambo do

if x in A then

case x of

skiing: writeln('лыжи');

skating: writeln('коньки');

hockey: writeln('хоккей');

football: writeln('футбол');

rugby: writeln('регби');

sambo: writeln('самбо');

end;

if i=1 then A:=B else A:=C;

end;

writeln('секции которые есть хотя бы в 3-х техникумах:');

for x:=skiing to sambo do begin

for i:=1 to n do begin

if(x in m1[i]) then inc(counter[x]);

end;

end;

for x:=skiing to sambo do begin

if(counter[x]>2) then case x of

skiing: writeln('лыжи');

skating: writeln('коньки');

hockey: writeln('хоккей');

football: writeln('футбол');

rugby: writeln('регби');

sambo: writeln('самбо');

end;

end;

end.

Результаты выполнения программы:

Номера спортивных секций: 1-лыжи, 2-коньки, 3-хоккей, 4-футбол, 5-регби, 6-самбо

введите номера секций 1-ой группы

123

введите номера секций 2-ой группы

123

введите номера секций 3-ой группы

234

введите номера секций 4-ой группы

234

введите номера секций 5-ой группы

52

введите номера секций 6-ой группы

425

введите номера секций 7-ой группы

32145

введите номера секций 8-ой группы

425

введите номера секций 9-ой группы

23

введите номера секций 10-ой группы

21

секции которыми занимаются во всех группах

коньки

секции которыми занимаются хотя бы в одной группе

лыжи

коньки

хоккей

футбол

регби

которыми не занимаются ни в одной из групп

самбо

секции которые есть хотя бы в 3-х техникумах:

лыжи

коньки

хоккей

футбол

регби

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]