Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Паскаль Основа.doc
Скачиваний:
3
Добавлен:
17.11.2019
Размер:
494.59 Кб
Скачать

Часть II

  1. type name = (Mary, Jane, Kim, Bob, Jan, Pit, Tom, Sara);

data = record

male: boolean; {пол: true - мужской, false - женский}

height:140..200 end; {рост}

end;

group = array[name] of data;

    1. Опишите функцию FHeight(G), определяющую средний рост женщин из группы G

    2. Опишите функцию MaxHeight(G), определяющую наибольший рост женщин из группы G

    3. Опишите функцию Higher(G), определяющую имя самого высокого мужчины из группы G

    4. Опишите функцию Lower(G), определяющую имя самой невысокой женщины из группы G

    5. Опишите функцию Lower(G), определяющую имя самого невысокого мужчины из группы G

    6. Опишите функцию MHeight(G), определяющую средний рост мужчин из группы G

    7. Опишите логическую функцию Same(G), проверяющую, есть ли в группе G хотя бы два человека одного роста

    8. Опишите логическую функцию SameMale(G), проверяющую, есть ли в группе G хотя бы два мужчины одного роста

    9. Опишите логическую функцию Test(G), проверяющую, что в группе G самая высокая из женщин ниже самого высокого из мужчин

    10. Опишите логическую функцию Test(G), проверяющую, что в группе G самая высокая из женщин ниже самого низкого из мужчин

    11. Опишите логическую функцию Test(G), определяющую, есть ли среди женщин группы G женщины с ростом x

    12. Опишите функцию Name(G), определяющую имя мужчины из группы G с ростом x

    13. Опишите логическую функцию Test(G), проверяющую, есть ли в группе G хотя бы один мужчина, рост которого меньше минимального женского роста

    14. Опишите функцию CountMaxHeight(G), определяющую количество женщин в группе G, имеющих наибольший рост

14. Типизированные файлы Часть I

  1. var f: file of integer;

x, y: integer;

Пусть файл содержит для элемента – 3 и 7. Определить значение переменной y после выполнения операторов:

a)

reset(f); read(f,y);

if not eof(f) then read(f,y);

if not eof(f) then read(f,y);

c)

reset(f); y:=1;

repeat

read(f,x);

y:=y*x

until eof(f);

b)

reset(f); y:=0;

while not eof(f) do

begin

read(f,x);

y:=y+x

end;

  1. var f: file of integer; i: integer;

Определить содержимое файла после выполнения следующих операторов:

    1. rewrite(f);

if eof(f) then write(f,1) else write(f,2);

if eof(f) then write(f,3) else write(f,4);

    1. rewrite(f);

for i:=3 downto 1

do write(f, sqr(i));

  1. type myfile = file of real;

Напишите функцию negative(f), подсчитывающую сумму отрицательных чисел в файле f типа myfile.

  1. type myfile = file of integer;

Напишите логическую функцию Up(f), проверяющую, упорядочены ли по возрастанию элементы файла f типа myfile.

  1. type myfile = file of char;

Описать логическую функцию Equal(f1,f2), проверяющую файлы f1 и f2 типа myfile на равенство.

Часть II

  1. type myfile = file of char; Опишите процедуру:

    1. add(f,c), добавляющую литеру с в начало файла f

    2. addlast(f,c), добавляющую литеру с в конец файла f

    3. replace(f,c), заменяющую последнюю литеру в файле f на литеру с

    4. double(f), удваивающие в файле f все цифры

    5. next(f), заменяющую в файле f каждую цифру на следующую по величине ('9' заменять на '0')

    6. delete(f), удаляющую из файла f все литеры '+' и '-'

    7. del(f), удаляющую из файла f предпоследний элемент, если он есть

    8. firsts(f), оставляющую в файле f только первые вхождения каждой литеры

    9. mid(f,m), присваивающую параметру m средний элемент файла f, если файл нечетной длины и символ '!', если файл четной длины

    10. copy(f1,f2), присваивающую файлу f2 содержимое файла f1

    11. copychar(f1,f2), присваивающую файлу f2 все латинские буквы файла f1

    12. change(f), оставляющую в файле только цифры

    13. mid1(f), присваивающую среднему символу файла f значение '1', если файл нечетной длины

    14. delsp(f), удаляющую из файла f идущие подряд пробелы, оставляя из них только один

  2. type student = record

name: string[10];

group: integer;

marks: array[1..5] of 2..5;

end;

myfile = file of student;

Создайте файл, содержащий записи о 10 студентах из 3 групп.

    1. Выведите на экран имена круглых отличников

    2. Выведите на экран имена круглых двоечников

    3. Выведите на экран номера групп, в которых нет троечников

    4. Выведите на экран номера групп, в которых отличников больше, чем двоечников

    5. Выведите на экран средний балл по каждому из 5 предметов

    6. Выведите на экран средний балл по 1-му предмету в каждой из 3 групп

    7. Выведите на экран оценки студента по имени x

(var st: student; st.name := x)

    1. Выведите на экран имена студентов, которые сдали 3-ий экзамен на 5

    2. Выведите на экран максимальный балл по 2-му предмету в каждой из 3 групп

    3. Выведите на экран имена студентов и их оценки из группы 1

    4. Выведите на экран номера групп, в которых есть студенты по имени х

    5. Выведите на экран средний балл студента по имени х

    6. Выведите на экран средний балл студентов по всем группам

    7. Выведите на экран номера групп, в которых последний экзамен сдали все студенты