Студопедия — With T1 Do
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

With T1 Do






End;

Оператор приєднання With указує загальне для всіх полів ім'я змінної типу запис, що дозволяє опускати це ім'я запису при звер­танні до поля, транслятор додасть його сам.

Приклад 7. Змінну D описано таким чином:

var D: Record

Year, Day: Integer;

Month: String[20];

End;

Begin

With D Do Begin

Year:=1998; Month:='Dec'; Day:=15;

End;

Приклад 8. Якщо поле запису теж є записом, в операторі With можна указати імена записів в порядку їх вкладення:

Type Pupil = Record

Name: String[20];

Rik: 1980..1990;

Ball: Record Alg, Fiz, Inf: 1..12 End;

End;

var Class: Array [1..B] of Pupil; і: Integer;

Begin

For i:=l To 3 Do

With Cl ass[i], Ball Do Begin

Write ('=>'); Readln (Name);

Readln (Rik, Alg, Fiz, Inf);

End

End.

Послідовний пошук у масиві записів

При роботі з різного роду табличною інформацією (каталога­ми, довідниками, списками тощо), яка зберігається у вигляді масиву записів, часто виникає необхідність знайти запис за значенням де­якого поля і отримати доступ до інших полів цього запису. Найпростіший алгоритм пошуку полягає в тому, що у всіх записів послідовно перевіряється наявність ознаки, за якою здійснюється пошук.

Приклад 9. Інформація про оцінки 5 учнів зберігається в ма­сиві записів:

Type Pupil = Record

Nomer: Byte;

Name: String[20];

Ball: Array [1..6] of Byte;

End;

var Page: Array [1..5] of Pupil;

і, N, K: Byte; P: Pupil;

Нехай у масиві Page потрібно знайти запис, значення поля Name якого дорівнює 'Петренко', і вивести на друк середнє арифме­тичне оцінок цього учня.

For і:=1 То 5 D

With Page [і] Do Begin

Sr:=0;

if Name='neTpeHKo' Then Begin

For j:=l To б Do Sr:=Sr+Ball[j];

Sr:=Sr/6;

WriteLn (Name, Sr:5:1)

End; {Then}

End; { With j

Може виникнути ситуація, коли у масиві не знайдено запису, який має дану ознаку. Тому бажано передбачити можливість повід­омлення після завершення циклу, знайдено запис чи ні.

Приклад 10. Введемо змінну Prap: Boolean, яка отримує значення True, якщо запис знайдено.

Prap:=False;

For і:=1 То 5 Do

With Page[і] Do Begin Sr:=0;

if Name=‘Петренко' Then Begin Prap:= True;

For j:=l To 6 Do sr:=Sr+Ball[j];

Sr:=Sr/6;

WriteLn (Name, Sr:5:1)

End;

End; { With I

If Not Prap Then WriteLn ('Запис не знайдено');

5. Створення та реалізація програми

Задача. Значення часу Т1 і T2 задані у форматі Год:Хв:Сек. Скласти програму, яка визначає:

а) чи передує час Т1 часу Т2 (у межах доби);

б) який проміжок часу відокремлює моменти Т1 і Т2;

в) час (Т1 + 1 секунда), враховуючи зміну доби.

1. Опишемо тип запису Time, який відповідає структурі даних за­дачі, і змінні Т1, Т2 типу Time:

Tуре Time= Record

Hour:0..23;

Min, Sec:0..59

End;

var Т1, T2: Time;

Запишемо оператори введення значень полів записів Т1 і Т2:

Begin

Write ('T1=>');

with T1 Do







Дата добавления: 2015-08-12; просмотров: 381. Нарушение авторских прав; Мы поможем в написании вашей работы!



Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Механизм действия гормонов а) Цитозольный механизм действия гормонов. По цитозольному механизму действуют гормоны 1 группы...

Алгоритм выполнения манипуляции Приемы наружного акушерского исследования. Приемы Леопольда – Левицкого. Цель...

ИГРЫ НА ТАКТИЛЬНОЕ ВЗАИМОДЕЙСТВИЕ Методические рекомендации по проведению игр на тактильное взаимодействие...

Решение Постоянные издержки (FC) не зависят от изменения объёма производства, существуют постоянно...

ТРАНСПОРТНАЯ ИММОБИЛИЗАЦИЯ   Под транспортной иммобилизацией понимают мероприятия, направленные на обеспечение покоя в поврежденном участке тела и близлежащих к нему суставах на период перевозки пострадавшего в лечебное учреждение...

Кишечный шов (Ламбера, Альберта, Шмидена, Матешука) Кишечный шов– это способ соединения кишечной стенки. В основе кишечного шва лежит принцип футлярного строения кишечной стенки...

Studopedia.info - Студопедия - 2014-2024 год . (0.009 сек.) русская версия | украинская версия