Шпаргалки по Fortrany - реферат

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

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

Такие массивы, так же как и локальные строчки переменной длины (разд. 10.4), относятся к автомати­ческим объектам.

Рекурсивные процедуры

Фортран поддерживает рекурсивные вызовы наружных, модульных и внутренних процедур.

Процедура именуется рекурсивной, если она обраща­ется сама к Шпаргалки по Fortrany - реферат для себя либо вызывает другую функцию, которая, в свою очередь,

вызывает первую функцию. В первом случае рекурсия именуется прямой, во 2-м - косвенной.

Оператор объявления рекурсивной процедуры должен предваряться префиксом RECURSIVE. Снутри рекурсивной

процедуры интерфейс к этой процедуре является очевидным (см. разд. 16.4.3).

Пример. Создать подпрограмму subst, которая в данной строке Шпаргалки по Fortrany - реферат заме­няет все вхождения подстроки sub1

на подстроку sub2. Так, если дана стро­ка 'abc1abc2abc3' и sub1 = 'abc', a sub2 = ' d', то результатом должна быть строчка ' dl d2 d3'.

program stgo

character(len = 20) :: st = 'abc1abc2abc3'

call subst(st, 'abc', d') ! subst содержит прямую

write(*, *) st ! рекурсию Шпаргалки по Fortrany - реферат d1 d2 d3

end

recursive subroutine subst(st, subl, sub2)

character(len = *) st, sub1, sub2 ! Длина каждой строчки определяется
integer ip ! длиной соответственного
ip = index(st, sub1) ! фактического параметра
if(ip > 0) then

st = st(:ip - 1) // sub2 // st(ip + len(subl):)

call subst(st, subl, sub2) ! Рекурсивный вызов подпрограммы
endif ! производится до того времени, пока

end Шпаргалки по Fortrany - реферат ! не выполнены все подмены subl на sub2

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

хорошее от имени Функции. Это производится методом прибавления в заголовок функции пред­ложения RESULT.

В случае косвенной рекурсии имя результирующей пе-Ременнрд и имя функции могут совпадать.

Символьные Шпаргалки по Fortrany - реферат типы данных

Символьный тип данных позволяет задать объект, состоящий из последовательности знаков.

Такую последовательность мы будем строчкой. Символьный тип данных могут иметь объекты: переменные,

константы и функции. Символьный тип является интегрированным типом данных для него существует одна

интегрированная операция - операция конкатенации (обозначается 2-мя слешами //), позволяющая делать

объединение отдельных строк либо Шпаргалки по Fortrany - реферат подстрок знаков. Объявление символьных.данных производится

оператором CHARACTER, к примеру:

character :: ch = 'а' ! Символьная переменная длиной в 1 знак

character(len = 20) st ! Символьная переменная из 20 знаков

st = 'Example' ! Присвоим значение символьной переменной

st == st // '_' // ch ! Возвращает: Example_a

Оператор CHARACTER содержит в скобках данные о длине символь­ного объекта. Если длина не задана,

то по Шпаргалки по Fortrany - реферат дефлоту она принимается равной единице.


DO-Циклы. Операторы EXIT и CYCLE

Простая конструкция DO

[имя:] DO

БОК

END DO (имя]

задает нескончаемый цикл. Потому таковой цикл должен содержать по край­ней мере

один оператор, к примеру EXIT [имя], обеспечивающий выход из этого цикла.

Имя конструкции, если оно находится, должно появляться в операторах DO и END Шпаргалки по Fortrany - реферат DO.

Рекомендуемая форма DO-цикла с параметром:

[имя:] DO dovar = start, stop [, inc]

БОК END DO [имя]

dovar - целая переменная, именуемая переменной цикла либо параметром цикла;

start, stop - целые скалярные выражения, задающие спектр конфигурации dovar;

inc - целое скалярное выражение, задающее лаг конфигурации dovar. Значение inc не может

быть равным нулю. Если Шпаргалки по Fortrany - реферат параметр inc отсутствует, то он принимается равным единице.

Рекомендуемая форма DO WHILE-цикла:

[имя] DO WHILE(ЛB)?

БОК

END DO [имя]

Если DO WHILE-цикл не содержит операторов прерывания цикла,

БОК производится до того времени, пока поистине скалярное ЛВ.

DO-цикл, DO-цикл с параметром и DO WHILE-цикл Шпаргалки по Fortrany - реферат могут быть

рваны операторами GOTO, EXIT и CYCLE, также в итоге

выполнения оператора RETURN, обеспечивающего возврат из подпрограммы.

Оператор EXIT [имя}

передает управление из DO-конструкции на 1-ый последующий за kohi рукцией

выполняемый оператор. Если имя опущено, то EXIT обеспечив; выход из текущего цикла,

в неприятном случае EXIT обеспечивает Шпаргалки по Fortrany - реферат выход цикла, имя которого находится в операторе EXIT.

Оператор CYCLE [имя]

передает управление на начало DO-конструкции. При всем этом оператор расположенные

меж CYCLE и оператором END DO конца цикла, не производятся. Если имя опущено, то CYCLE

обеспечивает переход на начало текущего цикла, в неприятном случае CYCLE обеспечивает

переход на начало Шпаргалки по Fortrany - реферат цикла, имя которого находится в операторе CYCLE.


Условный логический оператор IF

IF(ЛВ) оператор

Если поистине ЛВ, то производится оператор, в неприятном случае управ­ление передается на

следующий оператор программки.

Конструкция IF THEN ENDIF

[имя-.]IF(ЛВ) THEN

БОК

END IF [имя]

БОК производится, если поистине ЛВ. Если находится имя конструк­ции, то Шпаргалки по Fortrany - реферат оно должно

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

swap: if(x < у) then

hold = х; х = у; у = hold

end if swap

Замечание. Если БОК содержит один оператор, то лучше использовать

оператор

IF(ЛВ) оператор

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

[имя:] IF(ЛВ) THEN

БОК1

ELSE [имя]

БОК1

END IF [имя]

В Шпаргалки по Fortrany - реферат случае истинности ЛВ производится БОК1 и производится БОК2, если ЛВ неверно.

Имя конструкции, если оно задано, должно непременно присут­ствовать и перед IF,

и после END IF.

Конструкция IF THEN ELSE IF

[имя:] IF(ЛВ) THEN

БОК1

ELSE IF(ЛВ2) THEN [имя]

БОК2

[ELSE [имя]

БОКn

END IF [имя]

В случае истинности ЛВ1 производится Шпаргалки по Fortrany - реферат БОК1 и управление передается на

последующий за END IF оператор. Если ЛВ1 неверно, то управление

пере­дается на последующий ELSE IF, другими словами рассчитывается значение

ЛВ2 и, если оно поистине, то производится БОК2. Если оно неверно, то

управление пере­дается на последующий ELSE IF, и т.д.. Если неверны все

ЛВ Шпаргалки по Fortrany - реферат, то выпол­няется последующий за оканчивающим ELSE БОКп.

Если оканчивающий ELSE отсутствует, то управление передается на расположенный

за END IF опера­тор. Число операторов ELSE IF в конструкции может быть

произвольным. Имя в ELSE и в ELSE IF можно задавать, если это имя имеют

операторы IF и END IF. Имя, если оно задано Шпаргалки по Fortrany - реферат, во всех частях

конструкции должно быть схожим.

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

[имя:] SELECT CASE (тест-выражение)

CASE(CП1) [имя]

[БОК1]

[CASE(CП2) [имя]

[БОК2]]

[CASE DEFAULT [имя]

[БОКп]]

END SELECT [имя]

Тест-выражение - целочисленное, символьное типа CHARACTER(l)

Либо логическое скалярное выражение.

СП - перечень констант, тип которых должен соответствовать типу Шпаргалки по Fortrany - реферат тест-выражения.

Конструкция SELECT CASE-работает так: рассчитывается значение тест-выражения. Если

приобретенное значение находится в перечне СП1, то выпол­няется БОК1; дальше управление

передается на последующий за END SELECT оператор. Если значение в СП1 не находится,

то проверяется, есть ли оно в СП2, и т.д.. Если значение тест-выражения Шпаргалки по Fortrany - реферат не найдено

ни в каком перечне и находится оператор CASE DEFAULT, то производится БОКп, а дальше

производится расположенный за END SELECT оператор. Если же значение тест-выражения

не найдено ни в каком перечне и CASE DEFAULT отсутствует, то ни один из БОКл не производится

и управление передается на последующий за END SELECT Шпаргалки по Fortrany - реферат оператор.

Перечень констант СП может содержать одно значение, либо состоять из разбитых

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

к примеру 5:10 либо T:'N'. Левая граница должна был меньше правой. Если задается

спектр знаков, то код первого знаке должен быть меньше кода второго. Если

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

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

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

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

ми элементами СП являются Шпаргалки по Fortrany - реферат запятые, к примеру:

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

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

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


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

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

3.Метод. Характеристики метода. Методы представления алгорит­ма. Типы алгоритмов.

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

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

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

7.Фортран. Интегрированные Шпаргалки по Fortrany - реферат операции. Оператор присваивания.

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.Программные составляющие и процедуры Шпаргалки по Fortrany - реферат. Модули.

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

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

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

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

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

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

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

24.Динамические массивы. Размещаемые Шпаргалки по Fortrany - реферат массивы.

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

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

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

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

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

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

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

32.Рекурсивные субпрограмны. Предложение RESULT. Рекурсия "изнутри"

З Шпаргалки по Fortrany - реферат9.Сортировка. Постановка задачки. Сортировка выбором.

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

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

42. Стремительная сортировка.

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


Массив - это объект данных, который содержит конечное число скаляр­ных данных 1-го типа. В отличие от обычный переменной массив облада­ет атрибутом DIMENSION. Массивы данной формы

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

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

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

result = md(d,n)

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

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

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

а = md(a, na); mb = md(b, nb); me = md(c Шпаргалки по Fortrany - реферат, nc)

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

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

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

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

Так это происходит при Шпаргалки по Fortrany - реферат разработке подпрограммы обмена содержимого 2-ух многомерных массивов:

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 Шпаргалки по Fortrany - реферат c(size(a)) ! с - автоматический массив

с = а

a= b

end subroutine swap

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

так и верхняя границы размерности. Вид размерно­сти таких массивов:

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

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

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

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

При работе с такими массивами нужно смотреть, чтоб размер мас­сива - формального

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

interface

subroutine asub(a)

real a(:, :, :)

end

end interface

call asub(x)

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

subroutine asub(a Шпаргалки по Fortrany - реферат)

real a(:, :, :)

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

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

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

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

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

real Шпаргалки по Fortrany - реферат а(:, :, :)

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

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

Сортировка

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

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

Сортировка способом пузырька

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

с другими Шпаргалки по Fortrany - реферат способами меньшую вычислительную эффек­тивность.

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

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

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

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

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

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

если они размещаются не в подходящем порядке (если Xi >xi+1)

Стремительная сортировка

Разглядим массив х

25 37 12 33 48 57 92 86

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

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

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

и для чисел после него. Не считая того, сам разделитель нахо­дится в подходящей позиции, другими словами в

предстоящей сортировке он уже не Шпаргалки по Fortrany - реферат рас­сматривается.

Размещаемые массивы

рассмотренный массив marks является статическим - его размер не может быть изменен в процессе вычислений,

потому мы обязаны задать 6го размер с неким припасом (чтоб иметь возможность использовать массив

для хоть какой студенческой группы). Это приводит к тому, что про­грамма, обычно, занимает больше памяти,

чем это требуется Шпаргалки по Fortrany - реферат по сути. Подобного перерасхода памяти реально избежать, если применить ди­намический

массив и всякий раз выделять под него столько памяти, Сколько необходимо. Работа с динамическим массивом происходит так:

производится объявление размещаемого массива. В отличие от статиче­ских размещаемые массивы объявляются с атрибутом ALLOCATABLE.

Не считая того, каждое измерение Шпаргалки по Fortrany - реферат размещаемого массива задается в виде

двоеточия, к примеру:
integer, allocatable, dimension(:) :: marks

определяется размер массива;

При размещении массива параметр STAT= позволяет выяснить, удалось ли расположить массив.

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

программки. Параметр указывается в операторе ALLOCATE последним. При успешном выделении памяти целочисленная статусная переменная

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

недочет памяти Шпаргалки по Fortrany - реферат либо "попытка расположить ранее размещенный и не освобожденный оператором DEALLOCATE объект.

Аналогичную роль играет необязательный параметр STAT= и в операторе DEALLOCATE.

Сечение массива

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

Такое подмноже­ство частей массива именуется сечением массива. Сечение Шпаргалки по Fortrany - реферат массива мо­жет быть получено в итоге внедрения

индексного триплета либо век­торного индекса, которые при задании сечения подставляются заместо од­ного из индексов массива.

Индексный триплет имеет вид: [нижняя граница] : [верхняя граница] [.шаг]

Любой из характеристик триплета является целочисленным выражением. Шаг конфигурации индексов может быть Шпаргалки по Fortrany - реферат и положительным и

отрицательным, но не может приравниваться нулю. Все характеристики триплета являются необяза­тельными.

Индексный триплет задает последовательность индексов, в какой пер­вый элемент равен его нижней границе,

а каждый следующий больше (меньше) предшествующего на величину шага. В последовательности находятся все

задаваемые таким правилом значения индекса, лежащие меж грани­цами Шпаргалки по Fortrany - реферат триплета. Если же нижняя граница больше

верхней и шаг положите­лен либо нижняя граница меньше верхней и шаг отрицателен, то последова­тельность является пустой.

Пример.
real a(1:10);,

а(3:7:2) = 3.0 ! Триплет задает сечение массива с элементами
! а(3), а(5), а(7), которые получат значение 3.0
а(7:3:-2) = 3.0 ! Элементы а(7), а(5), а(3) получат значение 3.0



shtrafnie-sankcii-personala.html
shtrafnoj-udar-stranica-2.html
shtrafuyut-podzhigatelej-gazeta-stavropolskaya-pravda-27042012-rossijskie-smi-o-mchs-monitoring-za-28-aprelya-2012-g.html