|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Практическое задание N 1. 23. Создать базу данных для десяти учащихся класса с оценками по трем предметам
Создать базу данных для десяти учащихся класса с оценками по трем предметам. Вывести на экран таблицу учащихся в алфавитном порядке с оценками по всем предметам. Вывести на экран таблицу в порядке увеличения средней оценки ученика.
Работа с большими массивами
Поскольку суммарный размер всех переменных, описанных в программе, не может превышать длины сегмента (64 К), то использование массивов больших размеров вызывает определенные трудности. Опишем известный способ "разбиения" двумерного массива с использованием переменных типа ссылка.
program Big_Mas; CONST N1= 30; N2= 50;
type M1= array [1.. N1 ] of REAL; { тип M1 - массив переменных вещественного типа} M2= array[1..N2] of ^M1; { тип M2 - массив ссылок на начальные адреса элементов массивов типа M1} var a1, a2: M2; { двумерные массивы N1xN2 переменных вещественного типа } i, j: word; BEGIN for i:=1 to N2 do New(a1[i]); { размещение массива в оперативной памяти } for i:=1 to N2 do New(a2[i]); for j:= 1 to N1 do for i:= 1 to N2 do begin a1[i]^[j]:= j + Sin(Pi*i/N2); { пример расчета значений } a2[i]^[j]:= j - Cos(Pi*i/N2) { элементов двумерных массивов } end; for i:= 1 to N2 do Dispose(a1[i]); { освобождение оперативной памяти } for i:= 1 to N2 do Dispose(a2[i]); Readln; END. Таким образом в оперативной памяти отводится место не под двумерные массивы "a1" и "a2" размером N1xN2, а под одномерные массивы (размером N2) адресов первых элементов линейных массивов (размером N1). Операция a1[i]^[j] (a2[i]^[j]) называется разыменование переменной (элемента массива). Большие двумерные массивы часто применяются при решении "сеточных" задач.
1, 1 1, 2 1, 3 1, 4 Пусть дана сетка, узлы которой пронумерованы * * * * двумя цифрами, каждая из цифр равна номеру узла 2, 1 2, 2 2, 3 2, 4 в соответствующем направлении. * * * * При решении задачи требуется хранить значения 3, 1 3, 2 3, 3 3, 4 некоторых функций в узлах, т. е. использовать * * * * элементы двумерных массивов. Значения индексов элементов показывают расположение узла на сетке.
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.002 сек.) |