![]() Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву ![]() Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Лабораторная работа №7. Программирование с использованием типа записьСодержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
Запись представляет собой совокупность ограниченного числа логически связанных компонент, принадлежащих к разным типам. Компоненты записи называются полями, каждое из которых определяется именем. Поле записи содержит имя поля, вслед за которым через двоеточие указывается тип этого поля. Поля записи могут относиться к любому типу, допустимому в языке Паскаль, за исключением файлового типа. Описание записи в языке ПАСКАЛЬ осуществляется с помощью служебного слова RECORD, вслед за которым описываются компоненты записи. Завершается описание записи служебным словом END. Например, записная книжка содержит фамилии, инициалы и номера телефона, поэтому отдельную строку в записной книжке удобно представить в виде следующей записи: type Row=Record FIO: String[20]; TEL: String[7] end; var str: Row;Описание записей возможно и без использования имени типа, напри- мер: var str: Record FIO: String[20]; TEL: String[7] end;Обращение к записи в целом допускается только в операторах присваивания, где слева и справа от знака присваивания используются имена записей одинакового типа. Во всех остальных случаях оперируют отдельными полями записей. Чтобы обратиться к отдельной компоненте записи, необходимо задать имя записи и через точку указать имя нужного поля, например: str.FIO, str.TELТакое имя называется составным. Компонентой записи может быть также запись, в таком случае составное имя будет содержать не два, а большее количество имен. Обращение к компонентам записей можно упростить, если воспользоваться оператором присоединения with. Он позволяет заменить составные имена, характеризующие каждое по- ле, просто на имена полей, а имя записи определить в операторе присо- единения: with M do OP;Здесь М - имя записи, ОР - оператор, простой или составной. Оператор ОР представляет собой область действия оператора присоединения, в пределах которой можно не использовать составные имена. Инициализация записей осуществляется с помощью типизированных констант: type RecType= Record x,y: Word; ch: Char; dim: Array[1..3] of Byte end; const Rec: RecType= (x: 127; y: 255; ch: 'A'; dim: (2, 4, 8));Цель работы: познакомить с понятием "запись"; выработать навыки работы со структурой данных запись в языке программирования Pascal. научиться правильно описывать тип record, уметь инициализировать переменные типа record, выводить на экран переменные типа record; научится решать задачи на использование записей
Перед выполнением работы необходимо изучить правила описания и использования записей, типизированных констант типа запись, оператора присоединения WITH. Пример Пример1. Даны два рациональных числа, опишите их, используя структуру данных запись (числитель, знаменатель). Привести их к несократимому виду, найди их сумму. Этапы решения программы: 1. Составим блок-схему программы 2. Уточним содержимое блока "Вычисление НОД для числителя и знаменателя каждой дроби".
3. Переведем программу на язык Паскаль PROGRAM Example1; Type Tfraction = record; Chisl: Integer; Znam; Word; End; Function nod(a,b:integer):integer; Var k:integer; Begin If a>b then k:= a else k:=b; While not((a mod k=0)and(b mod k =0)) do dec(k); End; Var x,y,s: Tfraction n,p:integer; st: string; begin writeln('Введите два рациональных числа');ъ write('x= '); readln(st); n:= post('/',st); val(copy(st,1,n-1),x.chisl,p); val(copy(st,n+1,length(st)-n),x.znam,p); write('y= '); readln(st); n:= post('/',st); val(copy(st,1,n-1),y.chisl,p); val(copy(st,n+1,length(st)-n),y.znam,p); {находим НОД для каждой дроби и сокращаем их} n:=nod(x.chisl,x.znam); x.chis:= x.chisl div n; x.znam:= x.znam div n; n:=nod(y.chisl,y.znam); x.chis:= y.chisl div n; x.znam:= y.znam div n; writeln('Сокращенные дроби:'); writeln('X= ',x.chisl,'/',x.znam); END.Контрольные вопросы 1. Как описываются переменные типа запись? 2. В каких случаях целесообразно использовать переменные типа запись? 3. Из каких компонентов состоит переменная типа запись? 4. Каково назначение оператора WITH? 5. Какие операции допустимы над полями записи? 6. В чем отличие записей от массивов? Задания 1. Багаж пассажира характеризуется количеством вещей и общим весом вещей. Сведения о багаже каждого пассажира представляют собой запись с двумя полями: одно поле целого типа (количество вещей) и одно - действительное (вес в килограммах).
2. Багаж пассажира характеризуется количеством вещей и общим весом вещей. Сведения о багаже каждого пассажира представляют собой запись с двумя полями: одно поле целого типа (количество вещей) и одно - действительное (вес в килограммах). 3. Багаж пассажира характеризуется количеством вещей и общим весом вещей. Сведения о багаже каждого пассажира представляют собой запись с двумя полями: одно поле целого типа (количество вещей) и одно - действительное (вес в килограммах). 4. После поступления в ВУЗ о студентах собрана информация: фамилия, нуждается ли в общежитии, стаж, работал ли учителем, что окончил, какой язык изучал. Составить программу, определяющую: 1) сколько человек нуждаются в общежитии; 2) списки студентов, проработавших 2 и более лет учителем; 5. После поступления в ВУЗ о студентах собрана информация: фамилия, нуждается ли в общежитии, стаж, работал ли учителем, что окончил, какой язык изучал. Составить программу, определяющую: 1) списки окончивших педучилище; 2) списки языковых групп. 6. Описать, используя структуру данных запись, данные на учеников (фамилия, улица, дом, квартира). Составить программу, определяющую сколько учеников живет на улице Свердлова, списки учеников, живущих в доме номер 45. 7. В библиотеке для каждого заказывающего книгу читателя заполняется карточка: фамилия, дата заказа, дата выдачи книги. Определить: 1) самый маленький срок, за который нашли книгу; 2) сколько заказов было не удовлетворено. 8. В библиотеке для каждого заказывающего книгу читателя заполняется карточка: фамилия, дата заказа, дата выдачи книги. Определить: 1) кто чаще всего берет книги; 2) кому выдали книги 15.09.90; 5) сколько человек заказывали книги 25.04.90. 9. Описать, используя структуру данных запись, почтовую сортировку (город, улица, дом, квартира, кому, ценность). Составить программу, определяющую: 1) сколько посылок отправлено в г.Самару; 2) сколько и куда (список городов) отправлено посылок ценностью выше 10 рублей; 10. Описать, используя структуру данных запись, почтовую сортировку (город, улица, дом, квартира, кому, ценность). Составить программу, определяющую: 1) есть ли адреса куда отправлено более 1 посылки, если есть то сколько и кому. 11. Описать, используя структуру данных запись, завод (наименование станка, время простоя в месяц, время работы в месяц). Составить программу, определяющую общее время простоя на заводе, списки станков, не имеющих простоя, относительное время простоя всех и каждого станка ( 12. В школе было три 9 класса, в августе каждый классный руководитель имел сведения о своих учениках: фамилия, куда поступал, поступил или нет. Определить сколько учеников хотели пойти в 10 класс, кто хотел поступать в училище и техникум, кто поступил в училище или техникум, сколько учеников будет учится в 10 классе, сколько необходимо создать 10 классов и по сколько человек.
13. На олимпиаде по информатике на школьников заполнялись анкеты: фамилия, номер школы, класс, занятое место. Напечатать: 1) списки школ, занявших призовые места; 2) какая из школ заняла больше всех призовых мест. 14. Наолимпиаде по информатике на школьников заполнялись анкеты: фамилия, номер школы, класс, занятое место. Напечатать: 1) списки учеников занявших первое место, указать их класс. 15. В деканате хранится информация о зимней сессии на 1 курсе (фамилия, номер группы, оценка 1 по геометрии, оценка 2 по алгебре, оценка 3 по информатике). Составить программу, печатающую фамилии студентов, имеющих задолженность хотя бы по одному предмету, качество успеваемости, процент студентов, т.е. сдавших экзамены на 4 и 5, название предмета, который был сдан лучше всего, номера групп в порядке убывания средней успеваемости их студентов. 16. В отделе кадров студентов хранится следующая информация о каждом студенте: фамилия, имя, отчество, пол, возраст, курс. Составить программу которая печатает номер курса, на котором наибольший процент мужчин, отчество и возраст которых являются одновременно самыми распространенными. 17. В отделе кадров студентов хранится следующая информация о каждом студенте: фамилия, имя, отчество, пол, возраст, курс. Составить программу которая печатает номер курса, на котором самые распространенные мужские и женские имена, отчество и возраст которых являются одновременно самыми распространенными. Задачи повышенной сложности 1. В счете указано: название игрушки, стоимость в копейках, возрастные границы. Получить следующие сведения: 1) название игрушек, цена которых не превышает 4 руб. и которые подходят детям до пяти лет; 2) цену самого дорогого конструктора; 3) названия наиболее дорогих игрушек, цена которых отличается от цены самой дорогой игрушки не более, чем на 1 руб.; 4) название игрушек, которые подходят как детям 4 лет, так и детям 10 лет; 5) можно ли подобрать игрушку, любую, кроме мяча, подходящую ребенку 3 лет, и дополнительно мяч так, чтобы стоимость игрушек не превосходила 5 руб. 2. Хранятся сведения о лесе: вид дерева, общая численность, численность здоровых деревьев. Составить программу вычисления: 1) суммарного числа деревьев на контрольном участке; 2) суммарного числа здоровых деревьев; 3) относительную численность (%) больных деревьев; 4) относительную численность (%) различных видов, в том числе больных (%) для каждого вида. 3. Написать программу вычисления длин сторон, углов, площади, радиусов вписанной и описанной окружностей для треугольника, заданного координатами вершин на плоскости в декартовых или полярных координатах. Использовать структуру данных запись с вариантами.
4. Дана дата (число, месяц, год и день недели). Определить правильность заданной даты, вычислить последний день данного месяца, сколько дней прошло от 1-го января 1-го года нашей эры, определить день недели, приходящийся на заданную дату, если 1-е января 1-го года нашей эры было понедельником. 5. Разработать программу вычисления длин сторон, углов, площади, радиусов вписанной и описанной окружностей для треугольника, заданного координатами вершин: на плоскости в декартовых или полярных координатах. 6. Написать программу, осуществляющую приведение подобных членов многочлена с использованием структуры данных запись.
|
||||||||
Последнее изменение этой страницы: 2016-08-06; просмотров: 687; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.191.219.238 (0.011 с.) |