Автоматические массивы

Рефераты, курсовые, дипломные, контрольные (предпросмотр)

Тип: Реферат. Файл: Word (.doc) в архиве zip. Категория: Информатика, IT
Адрес этого реферата http://referat-kursovaya.repetitor.info/?essayId=24744 или
Загрузить
В режиме предпросмотра не отображаются таблицы, графики и иллюстрации. Для получения полной версии нажмите кнопку «Загрузить». Рефераты, контрольные, дипломные, курсовые работы предоставляются в ознакомительных целях, не для плагиата.
Страница 2 из 3 [Всего 3 записей]« 1 2 3 »

опущена левая граница, например :10, то в СП содержатся все значения, меньшие

или равные правой границе. И наоборот, если опущена верхняя граница, например 5:,

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

включать также и смесь отдельных значений и диапазонов. Разделителям! между отдельны

ми элементами СП являются запятые, например:

case(1, 5, 10:15, 33)

Нельзя задать в СП диапазон значений, когда тест-выражение имеег логический тип.

Каждое значение, даже если оно задано в диапазоне зна чений, может появляться только в одном СП.

1.информация. Количество информации. Представление информации в ЭВМ.

2.Решение задач с использованием ЭВМ. Понятие об устройстве ЭВМ.Организация вычислительного процесса Б ЭВМ.

3.Алгоритм. Свойства алгоритма. Способы представления алгоритма. Типы алгоритмов.

4.Порядок подготовки программы, исходный текст, трансляция и интерпретация, редактирование связей. Язык программирования Фортран

5.Фортран.Злементы языка. Алфавит, лексемы, имена, выражения и операции, операторы.

8.Фортран.Встроенные типы данных. Объявление данных. Правило умолчания о типах данных.

7.Фортран. Встроенные операции. Оператор присваивания.

8.Конструкция DO. Разновидности конструкции DO. Операторы

CYCLE, EXIT.

9.Оператор IF, конструкция IF THEN ENDIF.

10.Конструкция IF THEN ELSE ENDIF,

11.Инструкция IF THEN ELSE IF.

12.Конструкция SELECT CASE.

13.Программные компоненты и процедуры. Главная программа.

14.Программные компоненты и процедуры. Подпрограммы.

15.Программные компоненты и процедуры. Функции.

16.Программные компоненты и процедуры. Модули.

17.Обращение к сопрограммам. Параметры процедур. Виды связи

параметра. Атрибут INTENT.

13.Явный и неявный интерфейс. Оператор INTERFACE.

19.Области видимости имен и меток.

20.Производные типы данных. Оператор TYPE.

21.Массивы фиксированного размера. Описание, присвоение значений. Выражения с массивами. Сечения массивов, массивов.

22.Символьные данные, символьные вырашия. Текстовые подстроки. 23.Оператор и конструкция WHERE.

24.Динамические массивы. Размещаемые массивы.

25.Динамические массивы. Автоматические массивы.

26.Массивы - формальные параметры процедур. Массивы заданной формы.

27.Массивы - формальные параметры процедур. Массивы, перенимаю-дше форму.

28.Массивы - формальные параметры процедур. Массивы, перенимающие размер.

29.Ассоциирование памяти. Оператор COuuO".

30.Ассоциирование памяти. Оператор EQUIVALENCE.

31.Рекурсия. Рекурсивные алгоритмы и определения.

32.Рекурсивные субпрограмны. Предложение RESULT. Рекурсия "ИЗНУТРИ"

З9.Сортировка. Постановка задачи. Сортировка выбором.

40. Пузырьковая сортировка.

41. Пирамидальная сортировка.

42. Быстрая сортировка.

43. Поиск. Постановка задачи. Дихотомический поиск.

Массив - это объект данных, который содержит конечное число скалярных

данных одного типа. В отличие от простой переменной массив обладает атрибутом DIMENSION.

Массивы заданной формы

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

значениями других параметров. Так, в рассмотренной в разд. 6.3.1 задаче пользовательская функция md

имеет синтаксис

result = md(d,n)

где d - массив - формальный параметр заданной формы; an- целочисленный скаляр, используемый

для задания размера массива d.

функция вызывается 3 раза:

а = md(a, na); mb = md(b, nb); me = md(c, nc)

При каждом вызове фактическим параметром является массив той же формы, что

и массив - формальный параметр. Передаваемые размерности пассивов имеют разные значения.

Однако форма ассоциируемых при вызове процедуры массивов фактических и формальных

параметров может различаться, что позволяет в ряде случаев упростить написание программы.

Так это происходит при создании подпрограммы обмена содержимого двух многомерных массивов:

integer, parameter :: n = 5, m = 10, k = m*n

real a(m, n) /k*1.0/, b(m, n) /k*2.0/

call swap(a, b, m, n)

write(*, *) b

end

subroutine swap(a, b, m, n)

integer m, n

real a(m*n), b(m*n) ! а и b - массивы заданной формы)

real c(size(a)) ! с - автоматический массив

с = а

a= b

end subroutine swap

В общем случае для формального параметра - массива могут вычисляться как нижняя,

так и верхняя границы размерности. Общий вид размерности таких массивов:

[нижняя граница] : [верхняя граница]

Нижняя и верхняя границы - целочисленные описательные выражения. Вычисленные

границы массива фиксируются на время выполнения процедуры и не меняются при

изменении значения соответствующего описательного выражения.

При работе с такими массивами необходимо следить, чтобы размер массива - формального

параметра не превосходил размера ассоциированного с ним массива - фактического параметра.

Если фактическим параметром является многомерный массив и соответствующим ему формальным

параметром является массив заданной формы с тем же числом измерений, то для правильного

ассоциирования необходимо указать размерности массива - формального параметра такими же,

Как и у массива - фактического параметра. Исключение может составлять верхняя граница последней

размерности массива, которая может меньше соответствующей границы массива - фактического параметра.

Если в качестве фактического параметра задан элемент массива, т формальный параметр

ассоциируется с элементами массива-родителя начиная с данного элемента и далее по порядку.

Массивы, перенимающие форму

Такие массивы - формальные параметры перенимают форму у соответствующего фактического

параметра. В результате ранг и форма фактического и формального параметров совпадают. При описании

формы формального параметра каждая размерность имеет вид: [нижняя граница] :

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

или других параметров. Если нижняя граница опущена, то ее значение по умолчанию равно единице.

Например" ПРИ вызове

real х(0:3, 0:6, 0:8)

interface

subroutine asub(a)

real a(:, :, :)

end

end interface

call asub(x)

Соответствующий перенимающий форму массив объявляется так:

subroutine asub(a)

real a(:, :, :)

prnt *, lbound(a, 3), ubound(a, 3) ! 1 9

Так как нижняя граница в описании массива а отсутствует, то после вызова подпрограммы в ней будет

определен массив а(4, 7, 9). Если нужно сохранить соответствие границ, то массив а следует объявить так:

real a(0:, 0:, 0:)

В интерфейсном блоке по-прежнему массив а можно объявить:

real а(:, :, :)

Процедуры, содержащие в качестве формальных параметров перенимающие форму массивы,

должны обладать явно заданным интерфейсом.

Сортировка

Основное назначение сортировки - обеспечить быстрый поиск данных. Помимо этого, в отсортированном

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

Сортировка методом пузырька

Сортировка методом пузырька наиболее проста для реализации, но имеет по сравнению

с другими методами наименьшую вычислительную эффективность.

Не теряя общности, будем для простоты изложения в дальнейшем рассматривать задачу

сортировки массива х целых чисел, в котором первые я чисел должны быть

отсортированы так, чтобы хi = Xj для 1 =i = j = п.

Идея сортировки методом пузырька состоит в том, чтобы просмотреть массив последовательно

несколько раз. Один просмотр состоит из сравнения каждого элемента массива со следующим

за ним элементом (xi сравнивается с xj+1) и обмена этих двух элементов,

если они располагаются не в нужном порядке (если Xi xi+1)

Быстрая сортировка

Рассмотрим массив х

25 37 12 33 48 57 92 86

В нем число 48 характеризуется тем, что, во-первых, все расположенные левее него числа меньше 48

и, во-вторых, числа, расположенные правее него больше 48. Назовем такое число разделителем массива

. Нетрудно понять, что теперь мы можем отдельно решать задачу сортировки для чисел до разделителя

RSSСтраница 2 из 3 [Всего 3 записей]« 1 2 3 »


При любом использовании материалов сайта обязательна гиперссылка на сайт «Репетитор».
Разработка и Дизайн компании Awelan
www.megastock.ru
Проверить аттестат