- •Сборник методических указаний к лабораторным работам
- •Методические указания к лабораторной работе № 1
- •161101 Системы управления летательными аппаратами
- •Задание
- •Порядок выполнения работы.
- •Порядок выполнения работы.
- •Отчет оформляется на стандартных листа формата а4, в котором необходимо привести:
- •Методические указания к лабораторной работе № 2
- •161101 Системы управления летательными аппаратами
- •Теоретические сведения
- •Оператор присваивания
- •Ввод и вывод данных
- •Составной оператор
- •Задание
- •Отчет оформляется на стандартных листа формата а4, в котором необходимо привести:
- •Методические указания к лабораторной работе № 3
- •161101 Системы управления летательными аппаратами
- •Оператор выбора
- •Задание
- •Отчет оформляется на стандартных листа формата а4, в котором необходимо привести:
- •Методические указания к лабораторной работе № 4
- •161101 Системы управления летательными аппаратами
- •Задание
- •Отчет оформляется на стандартных листа формата а4, в котором необходимо привести:
- •Методические указания к лабораторной работе № 5
- •161101 Системы управления летательными аппаратами
- •Теоретические сведения
- •1. Алгоритмы обработки массивов
- •2. Ввод-вывод элементов одномерного массива
- •4. Вычисление произведения элементов массива
- •5. Поиска максимального элемента в массиве и его номера
- •6. Сортировка элементов в массиве
- •6.1. Сортировка методом "пузырька"
- •6.2. Сортировка выбором
- •6. Сортировка вставкой
- •7. Удаление элемента из массива
- •1. Алгоритмы обработки матриц
- •2. Алгоритм ввода-вывода матриц
- •Задание
- •Отчет оформляется на стандартных листа формата а4, в котором необходимо привести:
- •Методические указания к лабораторной работе № 6
- •161101 Системы управления летательными аппаратами
- •Теоретические сведения
- •Задание 8.
- •Методические указания к лабораторной работе № 7
- •161101 Системы управления летательными аппаратами
- •Теоретические сведения
- •Задание.
- •Отчет оформляется на стандартных листа формата а4, в котором необходимо привести:
- •Методические указания к лабораторной работе № 8
- •161101 Системы управления летательными аппаратами
- •2. Оператор присоединения.
- •Задание
- •Отчет оформляется на стандартных листа формата а4, в котором необходимо привести:
- •Методические указания к лабораторной работе № 9
- •161101 Системы управления летательными аппаратами
- •Задание
- •Отчет оформляется на стандартных листа формата а4, в котором необходимо привести:
- •Методические указания к лабораторной работе № 10
- •161101 Системы управления летательными аппаратами
- •Задание
- •Отчет оформляется на стандартных листа формата а4, в котором необходимо привести:
- •Методические указания к лабораторной работе № 11
- •161101 Системы управления летательными аппаратами
- •Теоретические сведения
- •Задание.
- •Отчет оформляется на стандартных листа формата а4, в котором необходимо привести:
- •Методические указания к лабораторной работе № 12
- •161101 Системы управления летательными аппаратами
- •Сортировка обменом
- •Сортировка выбором
- •Сортировка включениями
- •Задание. Для сортировки методом включения
- •Для сортировки методом выбора
- •Для сортировки методом обмена
- •Порядок выполнения работы.
- •Содержание отчета Отчет оформляется на стандартных листа формата а4, в котором необходимо привести:
- •Контрольные вопросы
Задание.
Среди 10 введенных целых чисел отобрать четные числа, записав их в файл с именем even.dat, и нечетные, записав их в файл с именем odd.dat. Вывести содержимое обоих файлов на экран.
Среди 10 введенных целых чисел отобрать кратные 5, записав их в файл с именем f5_num.dat. Вывести содержимое файла на экран.
Считать матрицу из файла Увеличить все четные элементы матрицы А на 16, а нечетные элементы увеличить в трое. Вывести в файл содержимое матрицы до обработки и после. В полученной матрице найти минимальный элемент.
Порядок выполнения работы.
Для выполнения первого задания необходимо войти в среду программирования ABC Pascal и в окне редактирования ввести текст программы, произвести ее отладку и выполнение.
Содержание отчета
Отчет оформляется на стандартных листа формата а4, в котором необходимо привести:
Название работы.
Постановку задачи.
Описание алгоритма (метода) решения.
Текст программы.
Результаты работы программы на 2–3 контрольных примерах.
Контрольные вопросы
МИНОБРНАУКИ РОССИИ
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
«Тульский государственный университет»
Институт высокоточных систем им. В.П. Грязева
Кафедра Системы автоматического управления
Методические указания к лабораторной работе № 8
СТРУКТУРИРОВАННЫЕ ТИПЫ ДАННЫХ. ЗАПИСИ.
по дисциплине
ИНФОРМАТИКА
Направление подготовки (специальность):
161101 Системы управления летательными аппаратами
Профиль подготовки (специализация): Системы управления движением летательных аппаратов
Квалификация (степень) выпускника: специалист
Форма обучения: очная
Тула 2011 г.
ЛАБОРАТОРНАЯ РАБОТА N 11
Цель и задачи работы: Познакомиться с организацией структурированных типов данных и в языке программирования Паскаль.
Теоретические сведения
Запись в языке программирования Паскаль - это структура данных, состоящая из фиксированного числа компонент, называемых полями. Поля записи могут быть различных типов. Возможность формирования структуры данных из элементов различных типов делает записи наиболее общим и гибким типом данных. Записи, как и массивы, используются для описания упорядоченной последовательности величин. Вместе с тем, между массивами и записями имеются существенные различия. Все компоненты массива должны быть одного и того же типа. Компоненты записи - поля - могут быть разных типов. Обращение к компонентам массива происходит по индексам, а к компонентам записи - по именам.
Описать в программе запись можно двумя способами:
1) построив определение нужного типа;
2) задав тип непосредственно в объявлении некоторой переменной.
Описание записи начинается со служебного слова RECORD и заканчивается словом END. Между этими словами находится список полей записи с указанием типов. Таким образом, описание записи имеет следующий вид:
RECORD
P1:T1;
P2:T2;
...
PN:TN
END;
где P1,P2,...,PN - имена полей записи, а T1,T2,...,TN - их типы.
Пример описания записи:
TYPE POINT=RECORD
X:REAL;
Y:REAL
END;
DATE=RECORD
DAY:1..31;
MONTH: (JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC);
YEAR:INTEGER
END;
Если в записи встречаются поля одного и того же типа, то допустимо следующее описание:
TYPE POINT=RECORD
X,Y:REAL
END;
Каждому полю записи дается свое имя. Никаких ограничений на тип поля нет, поэтому компонентой записи может быть массив, запись и т.д. В структуре записи явным образом выражена идея иерархической подчиненности между ее элементами. Отметим, что имена полей записи должны быть различны, если они находятся на одном уровне.
Для доступа к полям записи строится список имен структурных уровней записи, которые разделяются точками. Пусть, например:
VAR A,B:POINT;
X,Y:DATE;
тогда для обращения к первой координате точки A используется имя А.X, а ко второй координате точки B - B.Y. С именами полей возможны все допустимые для данных этого типа действия:
A.X:=5;
A.X:=4.2*B.Y;
X.DAY:=5;
Y.MONTH:=JAN;
X.YEAR:=Y.YEAR+1;
При соблюдении некоторых условий с записью можно обращаться как с единым объектом. Так, если VAR A,B:T1; где T1- тип записи, то возможно A:=B. Запись как единый объект часто используется также в качестве параметра в процедурах и функциях.
Пример программы.
Написать программу, которая:
а) для группы людей создает записи - имя, фамилия, дата рождения (число, месяц, год);
б) выводит на экран имена и фамилии всех людей этой группы, родившихся в заданном году;
в) выводит на экран все данные о людях этой группы с заданным именем.
Program Man;
Const
N=5; {количество человек в группе}
Type
name_rec = record
first,last:string[15]
end {name};
date_rec = record
day:1..31;
month:1..12;
year:integer
end {date};
man_rec = record
name:name_rec;
date:date_rec
end {man};
group = array[1..n] of man_rec;
var
i,g : integer;
im : string[15];
a : group;
Procedure inp_name(var x:name_rec);
Begin
Write ('Имя:');
readln (x.first);
Write ('Фамилия:');
Readln (x.last)
end {inp_name};
Procedure outp_name(x:name_rec);
Begin
Writeln (x.first,' ',x.last)
end {outp_name};
Procedure inp_date(var x:date_rec);
Begin
Write ('Число:');
Readln (x.day);
Write ('Месяц:');
Readln (x.month);
Write ('Год:');
readln(x.year)
End {inp_date};
Procedure outp_date(x:date_rec);
Begin
Writeln (x.day,'-',x.month,'-',x.year)
end {outp_date};
Procedure inp_man(var x:man_rec);
Begin
Writeln ('Введите имя и фамилию:');
inp_name(x.name);
Writeln ('Введите день, месяц и год рождения:');
inp_date(x.date)
end {inp_man};
Procedure outp_man(x:man_rec);
Begin
outp_name(x.name);
write ('родился: ');
outp_date(x.date)
end {outp_man};
{ MAIN PROGRAM }
Begin
for i:=1 to n do begin
Writeln ('Введите данные на ',i,'-го человека');
inp_man(a[i])
end;
Writeln;
Writeln ('Введите год рождения:');
readln(g);
Writeln;
Writeln ('В этом году родились:');
for i:=1 to n do
if a[i].date.year=g then outp_name(a[i].name);
Writeln;
Writeln ('Введите имя:');
Readln(im);
Writeln;
Writeln ('С этим именем:');
for i:=1 to n do
if a[i].name.first=im then outp_man(a[i])
end.
Изучите текст программы. Проанализируйте типы данных, процедуры. Проверьте работу программы. Измените число людей в группе.
