Инфоурок Информатика ПрезентацииКомбинированный тип данных (Record)

Комбинированный тип данных (Record)

Скачать материал
Скачать материал "Комбинированный тип данных (Record)"

Получите профессию

Интернет-маркетолог

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Методические разработки к Вашему уроку:

Получите новую специальность за 3 месяца

Специалист по выставочной деятельности

Описание презентации по отдельным слайдам:

  • Комбинированный тип данных (Record)  Решение задач

    1 слайд

    Комбинированный тип данных (Record)
    Решение задач

  • Комбинированный тип данных (Record)При работе с массивами основное ограничени...

    2 слайд

    Комбинированный тип данных (Record)
    При работе с массивами основное ограничение заключается в том, что каждый элемент должен иметь один и тот же тип. Однако при решении многих задач возникает необходимость хранить и обрабатывать совокупности данных различного типа как единое целое. Для этого применяется запись.
    Запись – это составной тип данных, содержащий набор элементов разных типов. Составляющие запись элементы называются ее полями. В записи каждое поле имеет собственное имя. Чтобы описать запись, необходимо указать имя записи и имена объектов, составляющих запись и их типы.
    Общий вид такой:

    Type <имя записи> =
    <поле 1>:<тип 1>;
    <поле 2>:<тип 2>;

    <поле n>:<тип n>
    End;

  • Примеры объявления типа данных RecordПример 1. 
Объявление записи в разделе V...

    3 слайд

    Примеры объявления типа данных Record
    Пример 1.
    Объявление записи в разделе Var
    Запись в записной книжке

    Var
    address: record
    Famil:string[25];
    Name: string[15];
    City: string[20];
    Street: string[40];
    Home:integer;
    Telephone:integer
    End;
    Пример 2.
    Объявление записи в разделе Type
    Запись в записной книжке

    Type address=record
    Famil:string[25];
    Name: string[15];
    City: string[20];
    Street: string[40];
    Home:integer;
    Telephone:integer
    End;
    Var
    friend: array[1..15] of address:

  • Примеры объявления типа данных RecordПример 3. 

Type year=1583..3000;
Month=...

    4 слайд

    Примеры объявления типа данных Record
    Пример 3.

    Type year=1583..3000;
    Month=1..12;
    Day=1..31;
    date= record
    dyear: year;
    dmonth: Month;
    dday: Day;
    End;
    Var mas: array[1..15] of date;
    Пример 4.

    Type
    date= record
    year: 1900..2100;
    month: 1..12;
    day: 1..31;
    End;
    pupil= record
    Famil, Name,Otch: string[25];
    Birthday: date;
    Class: 1..11;
    End;
    Var spisok: array[1..1000] of pupil:

  • Оператор WithОбращения к полям записи могут быть громоздки, для упрощения раб...

    5 слайд

    Оператор With
    Обращения к полям записи могут быть громоздки, для упрощения работы с записями предназначен оператор With:

    With <Имя записи>do<оператор>;

    Один раз указав переменную типа запись в операторе With, можно работать с именами полей как с обычными переменными, т.е. без указания переменной типа запись
    For i:=1 to 15 do
    Begin
    Writeln(‘Введите фамилию’);
    Readln(friend[i]. famil);
    Writeln(‘Введите имя’);
    Readln(friend[i]. Name);
    ….
    Clrscr
    End;
    For i:=1 to 15 do
    With friend[i] do
    Begin
    Writeln(‘Введите фамилию’);
    Readln(famil);
    Writeln(‘Введите имя’);
    Readln(Name);
    ….
    Clrscr
    End;

  • Решение задачЗадача1:  В классе  30 учеников. Введите фамилии и оценки по 8 п...

    6 слайд

    Решение задач
    Задача1: В классе 30 учеников. Введите фамилии и оценки по 8 предметам для каждого ученика, найдите средний балл и выведите на печать фамилию и средний балл лучшего ученика.
    Uses crt;
    Type sved = record
    Famil:string[25];
    P1,p2,p3,p4,p5,p6,p7,p8:1..5;
    Ocsr:real
    End;
    Var
    Spisok:array[1..30] of sved;
    Z:sved; I,n:integer; Champ:real;
    Begin
    For i:=1 to 30 do
    With spisok[i] do Begin
    Writeln(‘Введите фамилию ученика’);
    Readln(famil);
    Writeln(‘Введите оценки по 8 предметам’);
    Readln(P1,p2,p3,p4,p5,p6,p7,p8);
    Clrscr
    End;
    Описание и ввод данных: фамилии и оценок по 8 предметам
    продолжение

  • Решение задачЗадача1:  В классе  30 учеников. Введите фамилии и оценки по 8 п...

    7 слайд

    Решение задач
    Задача1: В классе 30 учеников. Введите фамилии и оценки по 8 предметам для каждого ученика, найдите средний балл и выведите на печать фамилию и средний балл лучшего ученика.
    For i:=1 to 30 do
    With spisok[i] do
    Begin
    Ocsr:=( P1+p2+p3+p4+p5+p6+p7+p8)/8;
    End;
    Champ:=0;
    For i:=1 to 30 do
    If spisok[i]. Ocsr>= Champ then Champ:= spisok[i]. Ocsr;
    For i:=1 to 30 do
    If spisok[i]. Ocsr= Champ then
    With spisok[i] do
    Writeln(Famil:30,’---‘,ocsr:8:2);
    Readln;
    End.
    Подсчет среднего балла каждого ученика, поиск максимального (Champ) и вывод на печать
    Задача 2. 10 абитуриентов поступают на факультет информатики. Введите фамилии и оценки по 3 экзаменам (математика, информатика, физика) для каждого абитуриента, найдите средний балл и выведите на печать фамилии абитуриентов, имеющих средний балл, больший или равный четырем.

  • Решение задачЗадача 3 В некотором вузе абитуриенты проходят предварительное т...

    8 слайд

    Решение задач
    Задача 3 В некотором вузе абитуриенты проходят предварительное тестирование, по результатам которого могут быть допущены к сдаче вступительных экзаменов в первом потоке. Тестирование проводится по трем предметам, по каждому предмету абитуриент может набрать от 0 до 100 баллов. При этом к сдаче экзаменов в первом потоке допускаются абитуриенты, набравшие по результатам тестирования не менее 30 баллов по каждому из трех предметов. На вход программы подаются сведения о результатах предварительного тестирования. Известно, что общее количество участников тестирования не превосходит 300.
    В первой строке вводится количество абитуриентов, принимавших участие в тестировании, N. Далее следуют N строк, имеющих следующий формат:
    <Фамилия> <Имя> <Баллы>,
    Здесь <Фамилия> - строка, состоящая не более чем из 20 символов;
    <Имя> - строка, состоящая не более чем из 15 символов;
    <Баллы> - строка, содержащая три целых числа, разделенных пробелом, соответствующих баллам, полученным при тестировании по каждому из трех предметов.
    продолжение

  • Решение задачЗадача 3 (продолжение условия) 

При этом   ,  и  разделены одни...

    9 слайд

    Решение задач
    Задача 3 (продолжение условия)

    При этом <Фамилия> <Имя> , <Имя> и <Баллы> разделены одним пробелом.
    Примеры входных строк:
    Петренко Наталья 58 66 38
    Антипов Сергей 99 50 72

    Напишите программу, которая будет выводить на экран фамилии и имена абитуриентов, допущенных к сдаче экзаменов в первом потоке. При этом фамилии и имена абитуриентов можно выводить в произвольном порядке.
    Var a: array[1..300] of record
    name: string;
    sum: integer;
    end;
    C:char; i,j,N,s,m:integer;
    Описание переменных

  • begin
Readln(N); {cчитано количество абитуриентов}
for i:=1 to N do
   begin...

    10 слайд

    begin
    Readln(N); {cчитано количество абитуриентов}
    for i:=1 to N do
    begin
    a[i].name:=‘’;
    repeat
    read(c);
    a[i].name:= a[i].name+c;
    until c=‘ ‘; {считана фамилия}
    Repeat
    read(c);
    a[i].name:= a[i].name+c;
    until c=‘ ‘; {считано имя}
    a[i].sum:=0;
    for j:=1 to 3 do
    begin
    read(m);
    if m>= 30 then a[i].sum:= a[i].sum+1;
    end;
    end;
    for i:=1 to N do
    if a[i].sum=3 then writeln(a[i].name);
    readln;
    end.
    РЕШЕНИЕ
    абитуриенты, набравшие по результатам тестирования не менее 30 баллов по каждому из трех предметов выводятся на печать.

  • Задачи повышенной сложности На вход программы подаются сведения о  сдаче экза...

    11 слайд

    Задачи повышенной сложности
    На вход программы подаются сведения о сдаче экзаменов учениками 9-х классов некоторой средней школы. В первой строке сообщается количество учеников N, которое не меньше 10, но не превосходит 100, каждая из следующих N, строк имеет следующий формат:
    <Фамилия><Имя><оценки>,
    где <Фамилия> - строка, состоящая не более чем из 20 символов, <Имя> - строка, состоящая не более из 15 символов,
    <оценки> - три целых числа, соответствующие оценкам по пятибалльной системе.
    <Фамилия> и <Имя>, а также <Имя> и <оценки> разделены одним пробелом.
    Пример входной строки:
    Иванов Петр 4 2 4
    Требуется написать программу, которая будет выводить на экран фамилии и имена неуспевающих учеников (имеющихся по результатам экзаменов хотя бы одну двойку), располагая их в порядке уменьшения числа двоек.

  • РешениеUses crt;
var p:array[1..100] of record
		name:string;
            		s...

    12 слайд

    Решение
    Uses crt;
    var p:array[1..100] of record
    name:string;
    sum: integer;
    end;
    N,i,j,m:integer;
    c:char;
    begin
    readln(N);
    for i:=1 to N do
    begin
    p[i].name:=‘’;
    repeat
    read(c);
    p[i].name:= p[i].name+c;
    until c:=‘ ‘; {считана фамилия}
    Repeat
    read(c);
    p[i].name:= p[i].name+c;
    until c:=‘ ‘; {считано имя}

    p[i].sum:=0;
    for i:=1 to 3 do
    begin
    read(m);
    if m= 2 then
    p[i].sum:=p[i].sum+1;
    end; {подсчитано
    количество двоек}
    readln;
    end;
    For i:=1 to N do
    If p[i].sum=3 then writeln(p[i].name);
    { вывод учащихся с 3 двойками}
    For i:=1 to N do
    If p[i].sum=2 then writeln(p[i].name);
    { вывод учащихся с 2 двойками}
    For i:=1 to N do
    If p[i].sum=1 then writeln(p[i].name);
    { вывод учащихся с 1 двойкой}
    end.

  • Задачи повышенной сложности На вход программы подаются сведения о багаже пасс...

    13 слайд

    Задачи повышенной сложности
    На вход программы подаются сведения о багаже пассажиров некоторого поезда. В первой строке сообщается количество пассажиров N, которое не может быть отрицательным числом, каждая из следующих N, строк имеет следующий формат: <Фамилия><Имя><количество вещей>. Здесь <Фамилия> - строка, состоящая не более чем из 20 символов, <Имя> - строка, состоящая не более из 15 символов, <количество вещей> - целое число, в диапазоне от 0 до 9. <Фамилия> и <Имя>, а также <Имя> и <количество вещей> разделены одним пробелом.
    Пример входной строки:
    Емельянова Екатерина 4
    Требуется написать программу, которая будет выводить на экран фамилии и имена пассажиров, имеющих более 2 вещей. Строки данных выводить на экран упорядоченными по фамилии.
    Пример вывода:
    Емельянова Екатерина 4
    Сергеев Григорий 3
    Якушев Антон 4

  • РешениеUses crt;
 Type person=record
           fam:string[20];
           na...

    14 слайд

    Решение
    Uses crt;
    Type person=record
    fam:string[20];
    name:string[15];
    col:1..9
    end;
    var mas:array[1..50] of person;
    n,k,i,j,w:integer; v:real;
    z:person;
    s:string;
    begin
    write(' n=');readln(n);
    For i:=1 to n do
    begin
    writeln('famaly:'); readln(s);
    k:=pos(' ',s);
    mas[i].fam:=copy(s,1,k-1);
    delete(s,1,k);
    k:=pos(' ',s);
    mas[i].name:=copy(s,1,k-1);
    delete(s,1,k);
    val(s,v,w);
    mas[i].col:=trunc(v); clrscr;
    end;
    for j:=1 to n-1 do
    for i:=1 to n-j do
    if copy(mas[i].fam,1,1)>copy(mas[i+1].fam,1,1) then begin
    z.fam:=mas[i].fam; z.name:=mas[i].name;
    z.col:=mas[i].col;
    mas[i].fam:=mas[i+1].fam;
    mas[i].name:=mas[i+1].name;
    mas[i].col:=mas[i+1].col;
    mas[i+1].fam:=z.fam;
    mas[i+1].name:=z.name; mas[i+1].col:=z.col;
    end;
    For i:=1 to n do
    with mas[i] do
    begin
    if col>2 then begin write(fam,' ');
    write(name,' ');
    writeln(col);
    end;
    end;
    end.

Получите профессию

Бухгалтер

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Краткое описание документа:

Функционирование любой программы связано с обработкой данных. Данные, предназначенные для обработки, называются исходными и задаются обычно в начале программы. Программа по ходу выполнения может запрашивать недостающие исходные данные.

В процессе выполнения программы исходные данные преобразуются в результаты.

Каждый элемент данных, используемый в программе, является константой или переменной.

Константами называются элементы данных, значения которых в процессе выполнения программы не изменяются. В языке Turbo Pascal используются константы следующих видов: числовые, логические (булевские), символьные и строковые.

Числовые константы предназначены для представления числовых данных (целых и вещественных). Булевские константы используются для представления данных, имеющих смысл логических высказываний (да - нет, истина – ложь, 1 - 0). Символьные и строковые константы – это отдельные символы и их последовательности.

 

Переменные, в отличие от констант, могут менять свои значения при выполнении программы. В программировании переменную можно трактовать как одну или несколько ячеек оперативной памяти компьютера, которым присвоено определенное имя (идентификатор). Содержимое этих ячеек может меняться, но имя переменной остается неизменным. Каждое новое значение, записанное в ячейку памяти, “затирает” предыдущее значение, поэтому в любой момент времени переменная имеет только одно, текущее, значение. Обычно переменные используются для хранения исходных данных, результатов программы, а также промежуточных данных, которые образуются по ходу выполнения алгоритма.

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 660 105 материалов в базе

Скачать материал

Другие материалы

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 13.05.2015 3235
    • PPTX 148.5 кбайт
    • Оцените материал:
  • Настоящий материал опубликован пользователем Джабраилов Ислам Салманович. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    Джабраилов Ислам Салманович
    Джабраилов Ислам Салманович
    • На сайте: 8 лет и 11 месяцев
    • Подписчики: 0
    • Всего просмотров: 46703
    • Всего материалов: 12

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой

Курс профессиональной переподготовки

Экскурсовод

Экскурсовод (гид)

500/1000 ч.

Подать заявку О курсе

Курс повышения квалификации

Теоретические и методологические основы преподавания информатики с учётом требований ФГОС ООО

72 ч. — 180 ч.

от 2200 руб. от 1100 руб.
Подать заявку О курсе
  • Сейчас обучается 151 человек из 49 регионов
  • Этот курс уже прошли 1 717 человек

Курс повышения квалификации

Организация преподавания информационных систем и технологий в профессиональном образовании

36 ч. — 180 ч.

от 1700 руб. от 850 руб.
Подать заявку О курсе
  • Этот курс уже прошли 74 человека

Курс повышения квалификации

Применение компьютерных моделей при обучении математике и информатике в рамках ФГОС ООО

72 ч. — 180 ч.

от 2200 руб. от 1100 руб.
Подать заявку О курсе
  • Сейчас обучается 49 человек из 28 регионов
  • Этот курс уже прошли 177 человек

Мини-курс

Комплексный подход к работе с детьми с тяжелыми нарушениями развития

6 ч.

780 руб. 390 руб.
Подать заявку О курсе

Мини-курс

Литературные пути: от биографий к жанрам

4 ч.

780 руб. 390 руб.
Подать заявку О курсе

Мини-курс

Организация образовательного процесса в современном вузе

5 ч.

780 руб. 390 руб.
Подать заявку О курсе