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

Диапазон представления для вещественных типов

Читайте также:
  1. IV. Порядок представления на конкурс
  2. АРТЕРИИ ЭЛАСТИЧЕСКОГО ТИПА ОТЛИЧАЮТСЯ ОТ ДРУГИХ ТИПОВ _________________ (1)
  3. Атипова пневмонія (5АК8)
  4. В выражении можно смешивать без явного приведения типов только совместимые данные.
  5. В составе эпителия - клетки нескольких типов.
  6. Вирионы бывают 3-х типов симметрии: 1)Кубический(форма икосаэдра-20ти гранник:23 плоскости,12 вершин,30 ребер; предст-аденовир)
  7. Вирусы типов В и С стабильны.
  8. Вопрос № 12: « Изложить представления о личности в парадигме структурно-динамического подхода (К.К.Платонов, А.Г.Ковалёв)».
  9. Вопрос № 7: «Изложить представления о личности в парадигме неофрейдизма».
  10. Вопрос № 8: «Изложить представления о личности в парадигме бихевиоризма».
  11. Впервые представления об ассоциациях были сформулированы
  12. Г) перечень типовых управленческих документов, образующихся в деятельности организации, с указанием сроков их хранения
Тип Допустимые значения Точность Формат
Real 2.9*10^-39...1.7*10^+38 11-12 знаков 6 байт
Single 1.5*10^-45...3.4*10^+38 7-8 знаков 4 байта
Double 5.0*10^-324...1.7*10^+308 15-16 знаков 8 байт
Extended 3,4*10^-4932...1.1*10^4932 19-20 знаков 10 байт
Comp -9,2*10^+18...9.2*10^18 19-20 знаков 8 байт

Структурированные типы

Массив

Массив - это фиксированное количество элементов данных, которые хранятся последовательно и доступны по индексу.

Пример:
Type
Arr1= array[1..100] of Real;
Arr2 = array[boolean,1..10,Size] of Real;
Arr3 = array[1..10,1..8] of Boolean;
К i-му элементу массива a, идет обращение как к a[i].

На совести программиста остается обязанность побеспокоиться о том, чтобы перед первым чтением любого элемента массива в нем находилось что-либо имеющее смысл.

Процесс предварительного предания переменным "значащего" значения называется инициализацией.

Пренебрежение инициализацией является наиболее распространенной ошибкой при написании программ.

Программа Eratosfen; Константа N=1000; Переменная a: массив [1..N] из логическая; i, j: целая; Начало a[1]:= Правда; Для i:=2 до N выполнить a[i]:= Ложь; Для i:= 2 до N div 2 выполнить Для j:= 2 до N div i выполнить a[i*j]:= Правда; Для i:= 1 до N выполнить Если a[i] то ВывестиСтр(i); конец.

Напишем программу, которая выводит простые числа меньшие 1000.
Метод использованный в этой программе называется "решето Эратосфена" и был впервые применен уже 300 лет до рождества Христова:

program Eratosfen;
const
N=1000;
var
a: array [1..N] of boolean;
i, j: integer;
begin
a[1]:= false;
for i:=2 to N do
a[i]:= true;
for i:= 2 to N div 2 do
for j:= 2 to N div i do
a[i*j]:= false;
for i:= 1 to N do
if a[i] then
writeln(i);
end.

 

Программа использует массив состоящий из элементов самого простого типа, логического. Цель программы - присвоить элементу массива a[i] значение true если i простое и false в противном случае. Это достигается посредством того, что для любого i, мы устанавливаем элементы массива с индексами кратными i в значение false потому, что любое число кратное какому либо целому не может быть простым. Затем программа еще раз проходит по массиву распечатывая простые числа.

Заметьте, что массив был изначально проинициализирован, чтобы показать, что ни одно из чисел более 1 не известно как "непростое": алгоритм устанавливает в false лишь те элементы массива a, индексы которых были опознаны как непростые числа.

Решето Эратосфена является типичным алгоритмом использующим факт, что любой элемент массива можно эффективно использовать. Кроме того, алгоритм использует элементы массива последовательно, один за другим. Во многих задачах, последовательный порядок доступа очень важен; в некоторых других задачах последовательный доступ используется потому, что он столь же хорош, как и другие. Но самое главное свойство массивов состоит в том, что если индекс известен, то обращение к любому элементу массива производится за постоянное время.

Размер массива должен быть известен заранее; в Паскале, он должен быть известен уже во время компиляции. Чтобы запускать вышеприведенную программу при разных значениях N, необходимо сперва изменить N, затем снова откомпилировать ее и запустить. В некоторых программных оболочках есть возможность объявлять размеры массива во время выполнения программы (чтобы, например, дать пользователю ввести значение N, а затем вывести все простые числа меньшие либо равные N без дополнительных затрат памяти на хранение максимально большого массива), но и в этом случае размер массива постоянен и должен быть известен до того, как он первый раз использован.

Массивы относят к одним из фундаментальных структур данных еще и потому, что существует прямое соответствие между массивами и памятью на практически всех типах компьютеров. Для получения содержимого из памяти компьютера мы должны знать адрес. Таким образом можно думать о памяти компьютера как о массиве, с адресами соответствующими индексам. Большинство языков программирования преобразуют программы в высокоэффективные программы в машинных кодах которые используют память напрямую.

Другой знакомый нам всем способ структурирования информации - это использование двухмерных таблиц чисел организованных в столбцы и колонки. Например, таблица содержащая оценки студентов за домашние задания. На компьютере такая таблица называется двухмерным массивом. У нее два индекса, один для столбца, другой для колонки. Алгоритмы определенные на таких структурах очень просты: например, чтобы подсчитать средний бал, мы суммируем все числа в этом массиве и делим на количество элементов в этом массиве, а чтобы подсчитать средний бал одного студента, мы суммируем все его оценки и делим на количество заданий. Двухмерные массивы широко используются в задачах такого рода. На самом же деле, на компьютере довольно удобно использовать и более чем двухмерные массивы: можно, например, использовать третье измерение для обозначения года за который эта таблица успеваемости.

Массивы также являются прямым прообразом векторов. Аналогично, двухмерные массивы соответствуют матрицам.

2.2 Множество

Множество - это набор элементов базового типа.

Переменная множественного типа может принимать как все значения множества, так и ни одного. Любой множественный тип может принимать значение [], которое называется пустым множеством.

Пример:
type
Digits = set of 0..9;
Letters = set of 'A'..'Z';


1 | 2 | 3 | 4 | 5 | 6 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.)