kopilkaurokov.ru - сайт для учителей

Создайте Ваш сайт учителя Курсы ПК и ППК Видеоуроки Олимпиады Вебинары для учителей

Объединение разнородных элементов

Нажмите, чтобы узнать подробности

Запись – это структура, состоящая из фиксированного числа компонент, называемых полями.

Данные одного поля разных записей имеют один и тот же тип, а разных полей могут иметь разные типы. 

type t = record

id11, id12, …: type1;

id21, id22, …: type2;

……………….

end;

здесь id – идентификаторы полей; type – типы полей; t – имя типа.

Вы уже знаете о суперспособностях современного учителя?
Тратить минимум сил на подготовку и проведение уроков.
Быстро и объективно проверять знания учащихся.
Сделать изучение нового материала максимально понятным.
Избавить себя от подбора заданий и их проверки после уроков.
Наладить дисциплину на своих уроках.
Получить возможность работать творчески.

Просмотр содержимого документа
«Объединение разнородных элементов»

Программирование.  Объединение разнородных элементов. Записи в Pascal Учитель информатики - Комкова М.С. Гимназия МИИТ, г. Москва

Программирование. Объединение разнородных элементов.

Записи в Pascal

Учитель информатики - Комкова М.С.

Гимназия МИИТ, г. Москва

Массивы объединяют однородные единицы информации – элементы одного и того же типа. Многообразие информации нельзя свести только к какому-то одному типу данных. Указывая положение точки в пространстве, мы можем воспользоваться одним и тем же типом для указания ее координат, но, описывая человека, мы должны указать его имя, рост, цвет глаз и волос, то есть в одном описании объединим  разнородную  информацию.
  • Массивы объединяют однородные единицы информации – элементы одного и того же типа.
  • Многообразие информации нельзя свести только к какому-то одному типу данных.
  • Указывая положение точки в пространстве, мы можем воспользоваться одним и тем же типом для указания ее координат, но, описывая человека, мы должны указать его имя, рост, цвет глаз и волос, то есть в одном описании объединим  разнородную  информацию.
Данные описывающие существенные стороны того или иного объекта путем включения в описание нескольких, часто разнотипных, элементов, называют  записью (record) . В языке  Паскаль запись  определяется путем указания служебного слова  record  и перечисления входящих в запись элементов с указанием типов этих элементов.
  • Данные описывающие существенные стороны того или иного объекта путем включения в описание нескольких, часто разнотипных, элементов, называют  записью (record) .
  • В языке  Паскаль запись  определяется путем указания служебного слова  record  и перечисления входящих в запись элементов с указанием типов этих элементов.
Определение Запись – структурированный комбинированный тип данных, состоящий из фиксированного числа компонент (полей) разного типа.

Определение

Запись – структурированный комбинированный тип данных, состоящий из фиксированного числа компонент (полей) разного типа.

Пример   type =record     : тип;      : тип;      ………………….      : тип   end ; где record – служебное слово, а  и  - правильные идентификаторы языка Паскаль.

Пример

  type =record    : тип;     : тип;     ………………….     : тип  end ;

где record – служебное слово, а и - правильные идентификаторы языка Паскаль.

Пример фрагмента программы описания записи Паскаля Type anketa=record     fio: string[45];      pol: char;      dat_r: string[8];      adres: string[50];      curs: 1..5;      grupp: string[3];  end;  Такая запись называется двухуровневой

Пример фрагмента программы описания записи Паскаля

Type anketa=record    fio: string[45];     pol: char;     dat_r: string[8];     adres: string[50];     curs: 1..5;     grupp: string[3]; end;

Такая запись называется двухуровневой

Пример фрагмента программы описания записи Паскаля Type anketa1=record     fio: string[45];      pol: char;      dat_r: record;     god: integer;      mes: string[10];      den: 1..31;  end;    adres: record     gorod: string[25];      ulica: string [20];      dom, kv: integer;  end;   curs: 1..5;      grupp: string[3];   end;

Пример фрагмента программы описания записи Паскаля

Type anketa1=record    fio: string[45];     pol: char;     dat_r: record;    god: integer;     mes: string[10];     den: 1..31; end; 

adres: record    gorod: string[25];     ulica: string [20];     dom, kv: integer; end;  curs: 1..5;     grupp: string[3];  end;

Задача 1. Пусть нам необходимо заполнить сведения о студенте (Ф.И.О., дата рождения, адрес, курс и группа), а затем вывести эти сведения на экран. program primer1;   type anketa=record      fio: string[45];      dat_r: string[8];      adres: string[50];      curs: 1..5;      grupp: string[3]  end;   var student: anketa;   begin      writeln (‘введите сведения о студенте’);      {обратите внимание, ввод каждого поля осуществляется отдельно}      writeln (‘введите фамилию, имя и отчество’);      readln (student.fio);      writeln (‘введите дату рождения’);      readln (student.dat_r);       writeln (‘введите адрес’);    readln(student.adres);   writeln (‘введите курс’);      readln(student.curs);      writeln (‘введите группу’);      readln (student.grupp);      writeln (‘ввод закончен’);      writeln ;      {обратите внимание, что вывод записи осуществляется по полям}      writeln (‘фамилия студента: ’, student . fio );      writeln(‘ дата рождения : ’, student.dat_r);      writeln(‘ адрес : ’, student.adres);      writeln(‘ курс : ’, student.curs);      writeln(‘ группа : ’, student.grupp);   end.

Задача 1.

Пусть нам необходимо заполнить сведения о студенте (Ф.И.О., дата рождения, адрес, курс и группа), а затем вывести эти сведения на экран.

program primer1;  type anketa=record     fio: string[45];     dat_r: string[8];     adres: string[50];     curs: 1..5;     grupp: string[3] end;  var student: anketa;  begin     writeln (‘введите сведения о студенте’);     {обратите внимание, ввод каждого поля осуществляется отдельно}     writeln (‘введите фамилию, имя и отчество’);     readln (student.fio);     writeln (‘введите дату рождения’);     readln (student.dat_r);     

writeln (‘введите адрес’); 

  readln(student.adres);  

writeln (‘введите курс’);     readln(student.curs);     writeln (‘введите группу’);     readln (student.grupp);     writeln (‘ввод закончен’);     writeln ;     {обратите внимание, что вывод записи осуществляется по полям}     writeln (‘фамилия студента: ’, student . fio );     writeln(‘ дата рождения : ’, student.dat_r);     writeln(‘ адрес : ’, student.adres);     writeln(‘ курс : ’, student.curs);     writeln(‘ группа : ’, student.grupp);  end.

Усложним задачу Пусть нам необходимо иметь сведения о многих студентах, например, нашего факультета. Следовательно, необходимо организовать массив записей Паскаля. А затем из общего списка вывести фамилии студентов 2-го курса. program primer 2 ;   type anketa=record      fio: string[45];      dat_r: string[8];      adres: string[50];      curs: 1..5;      grupp: string[3]  end;   var student: array [1..100] of anketa;      I: integer;   begin      {последовательно вводим каждую запись}      for I:=1 to 100 do      begin         writeln (‘введите сведения о’, I , ‘-м студенте’);         writeln (‘введите фамилию, имя и отчество’);         readln (student[I].fio);         writeln (‘введите дату рождения’);         readln (student[I].dat_r);         writeln (‘введите адрес’);         readln(student[I].adres);         writeln (‘введите курс’);         readln(student[I].curs);         writeln (‘введите группу’);         readln (student[I].grupp);      end;      writeln (‘ввод закончен’);      writeln ;      {просматриваем массив записей и выбираем только студентов 2-го курса }      for I:=1 to 100 do         if student[I].curs=2 then            writeln(‘ фамилия студента : ’, student[I].fio);   end.

Усложним задачу

Пусть нам необходимо иметь сведения о многих студентах, например, нашего факультета. Следовательно, необходимо организовать массив записей Паскаля. А затем из общего списка вывести фамилии студентов 2-го курса.

program primer 2 ;  type anketa=record     fio: string[45];     dat_r: string[8];     adres: string[50];     curs: 1..5;     grupp: string[3] end;  var student: array [1..100] of anketa;     I: integer;  begin     {последовательно вводим каждую запись}     for I:=1 to 100 do     begin        writeln (‘введите сведения о’, I , ‘-м студенте’);        writeln (‘введите фамилию, имя и отчество’);        readln (student[I].fio);        writeln (‘введите дату рождения’);        readln (student[I].dat_r);        writeln (‘введите адрес’);        readln(student[I].adres);        writeln (‘введите курс’);        readln(student[I].curs);        writeln (‘введите группу’);        readln (student[I].grupp);     end;     writeln (‘ввод закончен’);     writeln ;     {просматриваем массив записей и выбираем только студентов 2-го курса }     for I:=1 to 100 do        if student[I].curs=2 then           writeln(‘ фамилия студента : ’, student[I].fio);  end.

Оператор присоединения или как избавиться от префикса   Префикс – обязательная предшествующая часть составного идентификатора для имен полей в структуре типа запись Паскаля. Очень часто у программиста возникает желание не указывать префикс в имени полей, например, когда идет постоянное использование одних и тех же записей. В языке Паскаль предусмотрена такая возможность, реализуемая при помощи оператора присоединения, который в общем виде выглядит так: with    do  ; Следует обратить внимание на то, что после служебного слова do может стоять только один оператор, но он может быть составным (любая последовательность операторов, заключенная в операторные скобки begin end ).

Оператор присоединения или как избавиться от префикса

Префикс – обязательная предшествующая часть составного идентификатора для имен полей в структуре типа запись Паскаля. Очень часто у программиста возникает желание не указывать префикс в имени полей, например, когда идет постоянное использование одних и тех же записей. В языке Паскаль предусмотрена такая возможность, реализуемая при помощи оператора присоединения, который в общем виде выглядит так:

with    do  ;

Следует обратить внимание на то, что после служебного слова do может стоять только один оператор, но он может быть составным (любая последовательность операторов, заключенная в операторные скобки begin end ).

Пример фрагмента программы c записью и префиксом Паскаля   for I:=1 to 100 do      with student[I] do      begin         writeln (‘введите сведения о’, I , ‘-м студенте’);         writeln (‘введите фамилию, имя и отчество’);         readln (fio);         writeln (‘введите дату рождения’);         readln (dat_r);         writeln (‘введите адрес’);         readln(adres);         writeln (‘введите курс’);         readln(curs);         writeln (‘введите группу’);         readln (grupp);      end;

Пример фрагмента программы c записью и префиксом Паскаля

for I:=1 to 100 do     with student[I] do     begin        writeln (‘введите сведения о’, I , ‘-м студенте’);        writeln (‘введите фамилию, имя и отчество’);        readln (fio);        writeln (‘введите дату рождения’);        readln (dat_r);        writeln (‘введите адрес’);        readln(adres);        writeln (‘введите курс’);        readln(curs);        writeln (‘введите группу’);        readln (grupp);     end;

Источники:

Источники:

  • http:// pas1.ru/recordtask
  • http:// life-prog.ru/view_zam.php?id=30
  • http:// www.cyberforum.ru/post5537228.html
  • http:// www.cyberforum.ru/pascalabc/thread60683.html
  • http:// www.programmersforum.ru/index.php?s=c092477c928639cd83c4384dc65a70ca
  • http:// pascalabc.net
  • http ://www.tehnari.ru/f41/t54258 /


Получите в подарок сайт учителя

Предмет: Физика

Категория: Презентации

Целевая аудитория: 7 класс

Скачать
Объединение разнородных элементов

Автор: Мария Сергеевна Комкова

Дата: 20.04.2016

Номер свидетельства: 320679

Похожие файлы

object(ArrayObject)#853 (1) {
  ["storage":"ArrayObject":private] => array(6) {
    ["title"] => string(65) "Понятие об информационных системах"
    ["seo_title"] => string(38) "poniatie_ob_informatsionnykh_sistemakh"
    ["file_id"] => string(6) "603199"
    ["category_seo"] => string(11) "informatika"
    ["subcategory_seo"] => string(7) "prochee"
    ["date"] => string(10) "1648110248"
  }
}
object(ArrayObject)#875 (1) {
  ["storage":"ArrayObject":private] => array(6) {
    ["title"] => string(65) "партии начало 20 века. Черносотенцы. "
    ["seo_title"] => string(40) "partii-nachalo-20-vieka-chiernosotientsy"
    ["file_id"] => string(6) "121010"
    ["category_seo"] => string(8) "istoriya"
    ["subcategory_seo"] => string(11) "presentacii"
    ["date"] => string(10) "1413845879"
  }
}
object(ArrayObject)#853 (1) {
  ["storage":"ArrayObject":private] => array(6) {
    ["title"] => string(93) "Рабочая программа по теме: "Математическая логика" "
    ["seo_title"] => string(57) "rabochaia-proghramma-po-tiemie-matiematichieskaia-loghika"
    ["file_id"] => string(6) "127354"
    ["category_seo"] => string(16) "nachalniyeKlassi"
    ["subcategory_seo"] => string(12) "planirovanie"
    ["date"] => string(10) "1415294786"
  }
}
object(ArrayObject)#875 (1) {
  ["storage":"ArrayObject":private] => array(6) {
    ["title"] => string(105) "Информатизация библиотеки в образовательном учреждении "
    ["seo_title"] => string(62) "informatizatsiia-bibliotieki-v-obrazovatiel-nom-uchriezhdienii"
    ["file_id"] => string(6) "117519"
    ["category_seo"] => string(13) "vsemUchitelam"
    ["subcategory_seo"] => string(12) "planirovanie"
    ["date"] => string(10) "1412822026"
  }
}
object(ArrayObject)#853 (1) {
  ["storage":"ArrayObject":private] => array(6) {
    ["title"] => string(162) "Формирование учебных универсальных действий младших школьников средствами интеграции "
    ["seo_title"] => string(98) "formirovaniie-uchiebnykh-univiersal-nykh-dieistvii-mladshikh-shkol-nikov-sriedstvami-intieghratsii"
    ["file_id"] => string(6) "174543"
    ["category_seo"] => string(16) "nachalniyeKlassi"
    ["subcategory_seo"] => string(7) "prochee"
    ["date"] => string(10) "1424154014"
  }
}


Получите в подарок сайт учителя

Видеоуроки для учителей

Курсы для учителей

Распродажа видеоуроков!
1480 руб.
2110 руб.
1940 руб.
2770 руб.
ПОЛУЧИТЕ СВИДЕТЕЛЬСТВО МГНОВЕННО

Добавить свою работу

* Свидетельство о публикации выдается БЕСПЛАТНО, СРАЗУ же после добавления Вами Вашей работы на сайт

Удобный поиск материалов для учителей

Ваш личный кабинет
Проверка свидетельства