Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ОАиП часть 2. Контрольная работа №1. Вариант 14

.doc
Скачиваний:
18
Добавлен:
01.04.2014
Размер:
74.75 Кб
Скачать

УЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ

БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ

Факультет заочного, вечернего и дистанционного обучения

Специальность: программное обеспечение

информационных технологий

КОНТРОЛЬНАЯ РАБОТА № 1

по дисциплине «Основы алгоритмизации и программирования»

Вариант № 14

Зачтено с оценкой 9

Большое спасибо kam за образец!

Выполнил:

студент 1 курса ФЗВиДО

Группы

Минск 2009

Контрольная работа № 1

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

Задача №1. (Задания 1 - 15);

Даны три множества Х1, Х2, Х3, содержащие целые числа из диапазона 1..100. Известно, что мощность каждого множества равна 10. Сформировать новое множество Y в соответствии с заданием, выданным преподавателем. На экран вывести исходные и полученное множества. Значения элементов исходных множеств ввести с клавиатуры.

Задание №14

Y = (X1 - X2) * (X2 - X3).

Из множества Y выделить подмножество Y1, которое состоит из чисел, кратных 25. Определить мощность множества Y1.

Program Mnozhestvo;

{Программа преобразует множества X1, X2, X3 в новое множество Y, выделяет из него подмножество Y1,}

{состоящее из чисел, кратных 25, и находит мощность подмножества Y1.}

{Множества Х1, Х2, Х3, мощность которых равна 10, содержат целые числа из диапазона 1..100}

uses crt; {подключение стандартного модуля}

const

n=100; {максимальное значение элементов множеств}

q=3; {кол-во исходных множеств}

m=10; {мощность исходных множеств}

type mnozh = set of 1..n; {тип исходных множеств}

var

f: real;

c, i, j, mosh: integer;

x: array[1..q] of mnozh; {массив исходных множеств}

y, z: mnozh; {множества, получаемые в результате преобразований}

begin

clrscr; {очистка экрана}

{поэлементный ввод исходных множеств}

for i:=1 to q do

begin

x[i]:=[];

writeln('Vvedite mnozhestvo X', i, ' poelementno:');

for j:=1 to m do

begin

write(j, '. ');

readln(f);

{проверка введения дробного числа во множество}

if not(frac(f)=0) then

begin

writeln('Error: vvedionnoe chislo dolzhno byt celym');

j:=j-1;

end

else

begin

c:=trunc(f);

{проверка повторного введения числа}

if c in x[i] then

begin

writeln('Error: takoe chislo uzhe vvedeno, vvedite drugoe chislo');

j:=j-1;

end

else

{проверка введения числа, меньшего 1 или большего 100}

if (c>=1) and (c<=n) then

include(x[i], c)

else begin

writeln('Error: vvedionnoe chislo dolzhno byt ot 1 do 100');

j:=j-1;

end;

end;

end;

end;

writeln('');

{вывод на экран введённыx множеств}

writeln('Vvedionnye mnozhestva:');

for i:=1 to q do

begin

write('X', i, '=[');

for j:=1 to N do

if j in x[i] then write(' ', j:3, ' ');

writeln(']');

end;

writeln('');

{преобразование исходных множеств во множество Y и вывод результата}

y:=(x[1]+x[2])-(x[2]*[3]);

write('Y=[');

for i:=1 to n do

if i in y then write(' ', i:3, ' ');

writeln(']');

writeln('');

{выделение подмножества Y1, состоящего из чисел, кратных 25, вывод его на экран, нахождение его мощности}

z:=[];

mosh:=0;

i:=25;

writeln('Podmnozhestvo Y1, sostoiashchee iz chisel, kratnyh 25');

writeln('');

write('Y1=[');

repeat

if i in y then

begin

include(z,i);

mosh:=mosh+1;

write(' ', i:3, ' ');

end;

inc(i,25);

until i>n;

writeln(']');

writeln('');

{вывод мощности множества Y1 на экаран}

write('Moshchnost mnozhestva Y1 ravna ');

writeln(mosh);

writeln('');

writeln('');

readln;

end.

Тестирование программы.

Тест 1.

Исходные данные:

X1=

[1

2

3

4

5

6

25

50

75

100]

X2=

[7

8

9

10

11

12

25

50

75

100]

X3=

[13

14

15

16

17

18

25

50

75

100]

Ожидаемый результат:

Y=

[1

2

3

4

5

6

7

8

9

10

11

12

25

50

75

100]

Y1=

[25

50

75

100]

Mosh=

4

Тест 2.

Исходные данные:

X1=

[1

2

3

4

5

6

25

50

75

100]

X2=

[1

2

3

4

5

6

7

8

9

10]

X3=

[1

2

3

4

5

6

7

8

9

10]

Ожидаемый результат:

Y=

[1

2

4

5

6

7

8

9

10

25

50

75

100]

Y1=

[25

50

75

100]

Mosh=

4

Тест 3.

Исходные данные:

X1=

[1

2

3

4

5

6

7

8

9

10]

X2=

[1

2

3

4

5

6

25

50

75

100]

X3=

[1

2

3

4

5

6

7

8

9

10]

Ожидаемый результат:

Y=

[1

2

4

5

6

7

8

9

10

25

50

75

100]

Y1=

[25

50

75

100]

Mosh=

4

Тест 4.

Исходные данные:

X1=

[1

2

3

4

5

6

7

8

9

10]

X2=

[1

2

3

4

5

6

7

8

9

10]

X3=

[1

2

3

4

5

6

25

50

75

100]

Ожидаемый результат:

Y=

[1

2

4

5

6

7

8

9

10]

Y1=

[]

Mosh=

0