Контрольная работа № 5
(рекурсия, множества, записи)

Примерный вариант

1. Определить, какой минимальный объём оперативной памяти требуется для хранения каждой из объявленных переменных.

a) Type CompCh = Record re, im: Real end;
   Var Spis : array[1..100,0..39] of CompCh;
b) Type Kol = Record name : string[10]; fone : LongInt end;
   Var T: array [-1..10] of Kol;
c) Var Uch: Record fam, name: string[15]; year : Word end;
d) Var M: set of '0'..'9';

2. Описать рекурсивную функцию pow(x, n) от вещественного x (x <> 0) и целого n, которая вычисляет величину xn согласно формуле

Рекурсивное определение степени

3. Вычислить значения выражений

a) [2,3,5,7]<=[1..9]; b) ['c', 'b']=['b'..'c'];
c) trunc(3.9) in [1,3,5]; d) [2..13]*[3,13..60]+[4..10]-[5..15]*[6];
e) [2..10]-[4,6]-[2..12]*[8..15]; f) (['0'..'7']+['2'..'9'])*(['a']+['z']).

4. Решить задачу с использованием множества: имеется строка, содержащая русский текст. Вывести те буквы, которые являются общими для первых трёх предложений текста.

5. Заданы некоторые типы даннх и объявлены переменные:

         Type Complex = Record re, im: Real end;
              Point =   Record x, y: Real end;
              Var z, w: Complex; p: Point; re: Real;

Определить, какие значения будут иметь переменные z.re, z.im, w.re, w.im, p.x, p.y, re после выполнения следующих операторов:

		with z do begin re := 0; im := 1 end;
		w := z; re := 2;
		with z do re := 1;
		with z, w do im := -im;
		with p do begin x := re; y := 2 end;

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

		Type Stud = Record
				fam : string[12];
				num : 121..126;
				otm1, otm2, otm3 : 2..5;
			   End;
		Var Kurs : array [1..100] of Stud;

Написать программу, которая вводит эту информацию и печатает номера групп в порядке убывания средней успеваемости их студентов.

 

© Шестаков А.П., Широких А.А., 2001

 


Рейтинг ресурсов УралWeb

 

Сайт создан в системе uCoz