Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
metod_inf_2.doc
Скачиваний:
1
Добавлен:
07.09.2019
Размер:
1.3 Mб
Скачать

Вариант 4

1. Напечатать текст, образованный литерами с порядковыми номерами 65, 71 и 69.

2. type stroka = packed array [1..80] of char;

var s:stroka;

Известно, что в начале строки s находится не более 40 латинских букв, за которыми следуют пробелы. Напечатать эту строку, предварительно заменив все вхождения abc на def.

3. const n = 100;

vаr х:аrrау [1..n] of rеаl;

Упорядочить массив х по неубыванию y, используя следующий алгоритм сортировки: сортировка обменом (метод пузырька). Последовательно сравниваются пары соседних элементов xk и xk+1 (k=1,2,3,...,n-1) и, если хk>xk+1, то они переставляются; тем самым наибольший элемент окажется на своем месте в конце массива; затем этот метод применяется ко всем элементам, кроме последнего, и т.д.

4. Ввести массив записей о пациентах больницы. Каждая запись массива содержит следующую информацию о пациенте:

фамилия, имя, отчество;

пол, возраст, место жительства;

диагноз.

Число записей произвольное.

Вывести на экран число пациентов – женщин старше X лет с диагнозом Y и число пациентов, прибывших из города N c диагнозом K.

5. var x, y, z:set of 8..22;

Переменной x присвоить множество всех целых чисел от 8 до 22, переменной y – множество всех простых чисел из этого диапазона, а переменной z – множество всех составных чисел из этого же диапазона.

Вариант 5

1. type mes = (jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov,

dec);

day = 1..31;

var m1, m2: mes; k:1..maxint; n:1..12;

Присвоить переменной m1 название k-го месяца после месяца m.

2. type stroka = packed array [1..80] of char;

var s:stroka;

Известно, что в начале строки s находится не более 40 латинских букв, за которыми следуют пробелы. Напечатать эту строку, предварительно удалив первое вхождение w, если такое есть (образовавшуюся «дыру» заполнить последующими буквами, а в конец добавить пробел).

3. const n = 100;

vаr х:аrrау [1..n] of rеаl;

Упорядочить массив х по неубыванию, используя следующий алгоритм сортировки: сортировка вставками. Пусть первые и элементов массива уже упорядочены по неубыванию; берется (k+1 )-й элемент и размещается среди первых k элементов так, чтобы упорядоченными оказались уже k+1 первых элементов; этот метод применяется при k от 1 до n-1.

4. Создать массив записей, содержащих сведения о сотрудниках университета. Структура записи:

фамилия и инициалы работающего, год рождения;

название кафедры;

стаж работы, должность, оклад.

Количество записей произвольное.

Вывести на экран следующие данные: средний стаж работающих на кафедре X и список профессоров пенсионного возраста с указанием стажа работы.

5. var A,B: set of char; x:char;

Переменной B присвоить множество, полученное из A добавлением элемента x.

Вариант 6 1. type mes = (jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov,

dec);

day = 1..31;

var m1, m2: mes; k:1..maxint; n:1..12;

Присвоить переменной m1 название n-го месяца года.

2. type stroka = packed array [1..80] of char;

var s:stroka;

Известно, что в начале строки s находится не более 40 латинских букв, за которыми следуют пробелы. Напечатать эту строку, предварительно удалив все вхождения th.

3. Дана вещественная матрица размером 7×4. Переставляя ее строки и столбцы добиться того, чтобы наибольший элемент (один из них) оказался в верхнем левом углу.

4. Создать массив записей, содержащих сведения о месячной заработной плате рабочих предприятия. Каждая запись содержит поля:

фамилия и инициалы рабочего;

наименование цеха;

размер месячной заработной платы.

Количество записей произвольное.

Вычислить сумму выплат за месяц по цеху X, а также среднемесячный заработок рабочего этого цеха. Напечатать для бухгалтерии ведомость для начисления заработной платы рабочих этого цеха.

5. var A,B: set of char; x:char;

Переменной B присвоить множество, полученное из A удалением элемента x.

Вариант 7

1. type mes = (jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov,

dec);

day = 1..31;

var d: 28..31; m: mes;

Переменной d присвоить количество дней в месяце m (год считать невисокосным).

2. type stroka = packed array [1..80] of char;

var s:stroka;

Известно, что в начале строки s находится не более 40 латинских букв, за которыми следуют пробелы. Напечатать эту строку, предварительно заменив на ks первое вхождение x, если такое есть.

3. Определить, является ли заданная целая квадратная матрица 10-го порядка симметричной (относительно главной диагонали).

4. Создать массив записей, содержащих сведения об автопарке предприятия. Каждая запись содержит сведения об автомашинах:

марка автомобиля, номер государственной регистрации;

год выпуска, пробег, дата последнего капитального ремонта;

расход топлива за последний месяц;

пробег за последний месяц;

количество перевезенных грузов или пассажиров за последний месяц.

Количество записей произвольное.

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

5. type food = ( broad, butter, milk, meat, fish, salt, cheese,

saucers, sugar, tea, cafe);

assort = set of food;

shop = array [1..20] of assort;

Описать процедуру Nal(sh, A), которая по информации из массива Sh типа shop (Sh(i) – это множество продуктов, имеющихся в i-м магазине) присваивает параметру A типа assort множество всех продуктов, которые есть во всех магазинах.

Вариант 8

1. type mes = (jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov,

dec);

day = 1..31;

var d,d: 1..31; m, m1: mes; y:1901..2010; y1:1901..2011;

По дате d, m, y определить d1, m1, y1 – дату следующего дня.

2. type stroka = packed array [1..80] of char;

var s:stroka;

Известно, что в начале строки s находится не более 40 латинских букв, за которыми следуют пробелы. Напечатать эту строку, предварительно после каждой буквы q добавить букву u.

3. Элемент матрицы назовем седловой точкой, если он является наименьшим в своей строке и одновременно наибольшим в столбце или, наоборот, является наибольшим в своей строке и наименьшим в своем столбце. Для заданной целой матрицы размером 10×15 напечатать индексы всех ее седловых точек.

4. Создать массив записей, содержащих сведения о нанимателях жилья. Каждая запись содержит поля:

фамилия, имя, отчество нанимателя, адрес;

вид жилья: часть коммунальной квартиры, квартира, отдельный дом;

число комнат, площадь занимаемого жилья;

число проживающих;

размер квартирной платы;

долг по квартирной плате.

Число записей произвольное.

Вывести на экран число должников за последний месяц, за последние три месяца и за последние полгода и более.

5. type food = ( broad, butter, milk, meat, fish, salt, cheese,

saucers, sugar, tea, cafe);

assort = set of food;

shop = array [1..20] of assort;

Описать процедуру Nal(sh, A), которая по информации из массива Sh типа shop (Sh(i) – это множество продуктов, имеющихся в i-м магазине) присваивает параметру A типа assort множество всех продуктов, каждый из которых есть хотя бы в одном магазине.

Вариант 9

1. type mes = (jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov,

dec);

day = 1..31;

var k:1..366; d:1..31;

Определить k – порядковый номер того дня високосного года, который имеет дату d, m.

2. type stroka = packed array [1..80] of char;

var s:stroka;

Известно, что в начале строки s находится не более 40 латинских букв, за которыми следуют пробелы. Напечатать эту строку, предварительно заменив все вхождения ph на f, а все вхождения ed на ing.

3. Дана вещественная матрица размером 7×7, все элементы которой различны. Найти скалярное произведение строки, в которой находится наибольший элемент матрицы, на столбец с наименьшим элементом.

4. Создать массив записей, содержащих сведения о рейсах из аэропорта Уфы. Каждая запись содержит сведения о рейсах:

номер рейса, дата вылета, аэропорт назначения;

марка самолета, количество мест;

аэропорт промежуточной посадки, если таковой имеется;

количество проданных билетов на рейс, за сутки до вылета и за 3 часа до отлета.

Количество записей произвольное.

Вывести на экран сведения о загруженности рейса N за сутки до вылета и рейса M за 3 часа до вылета. Указать количество рейсов, имеющих промежуточный пункт назначения, а также количество рейсов, которыми можно добраться до пункта K.

5. type food = ( broad, butter, milk, meat, fish, salt, cheese,

saucers, sugar, tea, cafe);

assort = set of food;

shop = array [1..20] of assort;

Описать процедуру Nal(sh, A), которая по информации из массива Sh типа shop (Sh(i) – это множество продуктов, имеющихся в i-м магазине) присваивает параметру A типа assort множество продуктов, которых нет ни в одном магазине.

Вариант 10

1. type mes = (jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov,

dec);

day = 1..31;

var k:1..366; d:1..31;

Определить d, m – дату k-го по счету дня високосного года.

2. Заданное целое число от 1 до 1999 напечатать римскими цифрами.

3. Определить, является ли заданная целая квадратная матрица 9-го порядка магическим квадратом, т.е. такой, в которой суммы элементов во всех строках и столбцах одинаковы.

4. Создать массив записей, содержащих сведения о характеристиках компьютеров учреждения. Каждая запись содержит следующие сведения:

место размещения (этаж, комната);

тип процессора;

тактовая частота;

емкость оперативной памяти;

емкость жесткого магнитного диска;

тип монитора;

подключен ли к локальной сети;

подключен ли к глобальной сети.

Количество записей произвольное.

Вывести на экран сведения о компьютерах, имеющих монитор 17 дюймов, емкость жесткого магнитного диска не менее 40 мегабайт и имеющих выход в Интернет.

5. type town = (a,b,c,d,e,f,g,h);

towns = set of town;

path = array [town] of towns;

Описать процедуру travel(P,H,K), которая по рейсам P (P[x] – множество городов, в которые можно за один рейс доехать автобусом из города x) определяет K – множество городов, в которые можно попасть автобусом (за один рейс или через другие города) из города H.

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