Разделы презентаций


СОВРЕМЕННЫЙ ФОРТРАН

Содержание

Сейчас, когда Государство Российское ищет выход из тупика либеральных реформ, у определённой части россиян появились надежды на возрождение отечественной науки и индустрии. Этот сложный процесс предполагает также и переосмысление системы социальных

Слайды и текст этой презентации

Слайд 1СОВРЕМЕННЫЙ ФОРТРАН
Гущин Олег Андрианович

СОВРЕМЕННЫЙ ФОРТРАНГущин Олег Андрианович

Слайд 2Сейчас, когда Государство Российское ищет выход из тупика либеральных реформ,

у определённой части россиян появились надежды на возрождение отечественной науки

и индустрии. Этот сложный процесс предполагает также и переосмысление системы социальных ценностей.

…общество вновь должно поднять престиж таких забытых ныне профессий, как инженер, физик, химик… Подавляющее большинство предлагаемых видов деятельности … связано с финансами или торговлей. Это: специалист по маркетингу, рекламе, кассир, бухгалтер, финансист, кладовщик, банковский работник, охранник, консультант, дилер, продавец, посредник, челнок и так далее. Понятно, что такая общественная конструкция не может быть устойчивой, … подвержена постоянно воспроизводимым катаклизмам, приводящим в конечном счёте к её уничтожению.

Сейчас, когда Государство Российское ищет выход из тупика либеральных реформ, у определённой части россиян появились надежды на

Слайд 3Существующее положение вещей не могло не отразиться и на системе

приоритетов в области программирования. … молодёжь стремится освоить Delphi, C/C++,

Java и им подобные. Популярны также и системы работы с базами данных типа FoxPro, Access, Oracle, Clarion и другие. Несомненно, что эти языки будучи в основной своей массе объектно-ориентированными, хорошо приспособлены для создания систем управления …, а также систем доставки данных, например в среде Internet.

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

Существующее положение вещей не могло не отразиться и на системе приоритетов в области программирования. … молодёжь стремится

Слайд 4ИСТОРИЯ ФОРТРАНА
К счастью, есть язык, ориентированный на решение научно-технических задач,

и этим языком является Фортран. Фортран динамично развивается и ныне

он воплощен в стандартах Фортран 90 и 95.
ИСТОРИЯ ФОРТРАНАК счастью, есть язык, ориентированный на решение научно-технических задач, и этим языком является Фортран. Фортран динамично

Слайд 5Фортра́н (Fortran) — первый реализованный язык программирования высокого уровня.

Создан в

период с 1954 по 1957 год группой программистов под руководством

Джона Бэкуса (John Backus) в корпорации IBM в качестве эффективной альтернативы ассемблеру для программирования на ПК IBM 704 .
Фортра́н (Fortran) — первый реализованный язык программирования высокого уровня.Создан в период с 1954 по 1957 год группой

Слайд 6Название языка происходит от сокращения слов FORmula TRANslation – перевод

формул.

Запись формул в привычном виде была одной из важных возможностей

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

Название языка происходит от сокращения слов FORmula TRANslation – перевод формул.Запись формул в привычном виде была одной

Слайд 7Проект оказался очень успешным. Уже через год после завершения разработки

языка на Фортране записывалось большинство программ для компьютеров IBM-704.

Успех объяснялся

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

Проект оказался очень успешным. Уже через год после завершения разработки языка на Фортране записывалось большинство программ для

Слайд 8К 1960 году существовали версии Fortran для компьютеров IBM 709,

650, 1620, 7090. Его большая популярность побуждала конкурирующих изготовителей компьютеров

создавать компиляторы Fortran для своих компьютеров. Таким образом, уже к 1963 существовало более 40 компиляторов для разных платформ. Именно поэтому Fortran считают первым широко используемым языком программирования.
К 1960 году существовали версии Fortran для компьютеров IBM 709, 650, 1620, 7090. Его большая популярность побуждала

Слайд 9В СССР Фортран появился позже, чем на Западе, поскольку поначалу

у нас более перспективным языком считался Алгол. Во внедрении Фортрана

большую роль сыграло общение советских физиков со своими коллегами из CERN (*), где в 1960-х годах почти все расчёты велись с использованием программ на Фортране.
В СССР Фортран появился позже, чем на Западе, поскольку поначалу у нас более перспективным языком считался Алгол.

Слайд 10ЦЕРН (CERN) — Европейская организация по ядерным исследованиям, крупнейшая в мире лаборатория физики

высоких энергий. Также иногда переводится как Европейский Центр ядерных исследований. Аббревиатура

CERN произошла от фр. Conseil Européen pour la Recherche Nucléaire (Европейский совет по ядерным исследованиям). В русском языке обычно используется аббревиатура ЦЕРН.
ЦЕРН находится на границе Швейцарии и Франции, вблизи Женевы.
Соглашение по образованию ЦЕРНа было подписано в Париже 29 июня − 1 июля 1953 года представителями 12 европейских стран. Организация была образована 29 сентября 1954 года.
В 2012 г. Россия подала заявку на вступление в ЦЕРН.
ЦЕРН (CERN) — Европейская организация по ядерным исследованиям, крупнейшая в мире лаборатория физики высоких энергий. Также иногда переводится как Европейский Центр

Слайд 11Первый советский компилятор с Фортрана был создан в 1967 г.

для машины «Минск-2», однако он не получил большой известности. Широкое

внедрение Фортрана началось после создания в 1968 г. компилятора ФОРТРАН-ДУБНА для машины БЭСМ-6.
Машины ЕС ЭВМ, появившиеся в 1972 г., уже изначально имели транслятор Фортрана («позаимствованный» с IBM-360 вместе с другим программным обеспечением).

Первый советский компилятор с Фортрана был создан в 1967 г. для машины «Минск-2», однако он не получил

Слайд 12Фортран — жёстко стандартизированный язык, именно поэтому он легко переносится

на различные платформы. Существует несколько международных стандартов языка:

-

FORTRAN IV
(Позже положенный в основу FORTRAN 66 (1966))

- FORTRAN 77 (1978)
(Появилось множество улучшений: строковый тип данных и функции для его обработки, блочные операторы IF, ELSE IF, ELSE, END IF, оператор включения фрагмента программы INCLUDE и т.д.)

Фортран — жёстко стандартизированный язык, именно поэтому он легко переносится на различные платформы. Существует несколько международных стандартов

Слайд 13 - FORTRAN 90 (1991)
(Значительно переработан стандарт языка. Введён

свободный формат написания кода. Появились дополнительные описания IMPLICIT NONE, TYPE,

ALLOCATABLE, POINTER, TARGET, NAMELIST; управляющие конструкции DO … END DO, DO WHILE, CYCLE, SELECT CASE, WHERE; работа с динамической памятью (ALLOCATE, DEALLOCATE, NULLIFY); программные компоненты MODULE, PRIVATE, PUBLIC, CONTAINS, INTERFACE, USE, INTENT. Появились новые встроенные функции, в первую очередь, для работы с массивами. Появились элементы ООП. Отдельно объявлен список устаревших черт языка, предназначенных для удаления в будущем.

- FORTRAN 90 (1991) (Значительно переработан стандарт языка. Введён свободный формат написания кода. Появились дополнительные описания

Слайд 14 - FORTRAN 95 (1997)
(Коррекция предыдущего стандарта)


-

FORTRAN 2003 (2004)
(Дальнейшее развитие поддержки ООП в языке. Взаимодействие

с операционной системой)

- FORTRAN 95 (1997) (Коррекция предыдущего стандарта) - FORTRAN 2003 (2004) (Дальнейшее развитие поддержки ООП в

Слайд 15В данный момент ведется разработка нового стандарта языка FORTRAN. Язык

входит в состав среды программирования Microsoft Visual Studio.

В данный момент ведется разработка нового стандарта языка FORTRAN. Язык входит в состав среды программирования Microsoft Visual

Слайд 16Литература
Бартеньев О.В. Современный Fortran. – М.: «Диалог-МИФИ», 2000. – 448с.
Бартеньев

О.В. Visual Fortran: новые возможности. – М.: «Диалог-МИФИ», 1999. –

304 с.
ЛитератураБартеньев О.В. Современный Fortran. – М.: «Диалог-МИФИ», 2000. – 448с.Бартеньев О.В. Visual Fortran: новые возможности. – М.:

Слайд 18 Начало работы Compaq Visual Fortran
Вызов
или
ПРОГРАММЫ/Compaq Visual Fortran 6/ Developer Studio
или
C:\Program Files\

M V S\ Common\ MS dev98\ BIN\ Dfdev.exe

Начало работы Compaq Visual FortranВызовилиПРОГРАММЫ/Compaq Visual Fortran 6/ Developer StudioилиC:\Program Files\ M V S\ Common\ MS dev98\

Слайд 19Среда CVF

Среда CVF

Слайд 20Создание нового проекта
Гл. меню File/New… -> форма выбора типа

проекта (закладка Projects)
1. КОНСОЛЬНОЕ ПРИЛОЖЕНИЕ
ИМЯ
МЕСТО
OK!

Создание нового проекта Гл. меню File/New… -> форма выбора типа проекта (закладка Projects)1. КОНСОЛЬНОЕ ПРИЛОЖЕНИЕИМЯМЕСТОOK!

Слайд 21Вид консольного приложения
Форма разновидности консольного проекта (после нажатия Ok)

Вид консольного приложения Форма разновидности консольного проекта (после нажатия Ok)

Слайд 22Проект «Hello World»

Проект «Hello World»

Слайд 23Выполнение приложения
Обработка файла: Компиляция, Линковка, Выполнение
Гл.меню Build/Compile, Build/Rebuild All,

Build/Execute.

Выполнение приложенияОбработка файла: Компиляция, Линковка, Выполнение Гл.меню Build/Compile, Build/Rebuild All, Build/Execute.

Слайд 242. «Пустой» проект
Пункт Empty Project -> ЧИСТОЕ ПОЛЕ РЕДАКТОРА
Для

продолжения работы необходимо ИМЯ ФАЙЛА
File/New… и в закладке Files занести

тип файла. Или добавить файл в проект: Project/Add To Project/Files…)

ИМЯ

ТИП

2.  «Пустой» проектПункт Empty Project -> ЧИСТОЕ ПОЛЕ РЕДАКТОРАДля продолжения работы необходимо ИМЯ ФАЙЛАFile/New… и в

Слайд 252. «Простой» проект (Simple)
После выбора имени файла и его типа:
МОЖНО

РАБОТАТЬ!

2. «Простой» проект (Simple)После выбора имени файла и его типа:МОЖНО РАБОТАТЬ!

Слайд 26Выполнение Simple

Выполнение Simple

Слайд 27Дополнение Hello

Дополнение Hello

Слайд 28Графическое приложение
Fortran StandardGraphic
СПРАВА
Указать имя проекта и его место (для

создания папки)! Появится кнопка Ok …
Форма разновидности

проекта (после нажатия Ok)
QuickWin (multiple windows)
StandardGraphics (single window)

НАШ ОСНОВНОЙ ТИП ПРОЕКТА!

Графическое приложениеFortran StandardGraphic 			СПРАВАУказать имя проекта и его место (для создания папки)! Появится кнопка Ok …

Слайд 29Пример графики

Пример графики

Слайд 30Редактирование текста
Этапы обработки сопровождаются анализом ошибок в нижней части экрана.

После указания ошибки можно перейти к ее локализации щелчком мышки

на ее имени

Click

Редактирование текстаЭтапы обработки сопровождаются анализом ошибок в нижней части экрана. После указания ошибки можно перейти к ее

Слайд 31«Цветной» редактор
Составляющие текста можно выделить разными цветами:
Tools/ Options…
РАЗМЕР
ШРИФТА

«Цветной» редакторСоставляющие текста можно выделить разными цветами:Tools/ Options…РАЗМЕРШРИФТА

Слайд 32Пример «цветного» редактора

Пример «цветного» редактора

Слайд 33Завершение работы
File/Close Workspace
(Do you wont to close…?)
Сохранение файлов для

продолжения работы:
*.dsp – # Microsoft Developer Studio Project File
*.dsw –

Microsoft Developer Studio Workspace File
*.f90 – Исходные тексты
! НЕ СОХРАНЯТЬ папку [ Debug ] и ее файлы (obj, exe, …)
Завершение работы File/Close Workspace(Do you wont to close…?)Сохранение файлов для продолжения работы:*.dsp – # Microsoft Developer Studio

Слайд 34Фиксированный и свободный формат
ПЕРФОКАРТА Холлерита
СТРОКА ПРОГРАММЫ - ОДНА ПЕРФОКАРТА

Фиксированный и свободный форматПЕРФОКАРТА ХоллеритаСТРОКА ПРОГРАММЫ - ОДНА ПЕРФОКАРТА

Слайд 35Герман Холлерит
О младенческих годах Германа ничего не известно. (дело семейное).

В школу он ходил с явной неохотой и имел среди

учителей репутацию ребенка одаренного, но дурно воспитанного и ленивого. Не давались ему ни грамматика, ни каллиграфия, не приводили его в восторг ни отечественная история, ни труды основоположников молодого демократического государства. Значительно лучше дела обстояли с естественными и точными науками.

Родители Германа были выходцами из Германии, в 1848 году они покинули родину …
Герман Холлерит родился 29 февраля 1860 года . Умер в 1929 г.

Герман ХоллеритО младенческих годах Германа ничего не известно. (дело семейное). В школу он ходил с явной неохотой

Слайд 36В 1879 году в возрасте 19 лет Герман Холлерит окончил

горную школу при Колумбийском университете и поступил в статистическое управление

при министерстве внутренних дел США. Чтобы закончить обработку результатов переписи населения 1880 года, бюро переписи населения, сотрудником которого он был, потребовалось в целом более 7 лет! Результаты очередной переписи (к 1890 году прирост населения составил более 3 миллионов) ожидались еще позже. Холлериту была поручена обработка информации о предпринимателях в промышленности по переписи 1880 года.
В 1879 году в возрасте 19 лет Герман Холлерит окончил горную школу при Колумбийском университете и поступил

Слайд 37Однажды кондуктор в поезде, заносивший с помощью ручного компостера данные

о пассажирах в какой-то бланк, навел его на мысль о

перфокарте, которая содержала бы данные для переписи населения, и в 1884 году Холлерит уже обратился за патентом на "машину для переписи населения". Впоследствии он получил еще несколько десятков патентов за работы в этой области.

ТАБУЛЯТОР

ПЕРФОРАТОР

Однажды кондуктор в поезде, заносивший с помощью ручного компостера данные о пассажирах в какой-то бланк, навел его

Слайд 381896 году создатель машины для переписи (статистического табулятора) основал фирму

по сбыту своих машин. Машина Германа Холлерита была весьма удачным

изобретением, и в 1897 году ее даже купила Россия - также для обработки данных переписи населения. Однако позже, в 1911 году, автор "машины для переписи" продал свою фирму, которая, объединившись с некоторыми другими, стала называться Computer Tabulating Recording Co., а позднее получила название International Business Mashines Corp., сокращенно IBM.
1896 году создатель машины для переписи (статистического табулятора) основал фирму по сбыту своих машин. Машина Германа Холлерита

Слайд 39Текст в фиксированном формате (выделена 6-я колонка)

Текст в фиксированном формате (выделена 6-я колонка)

Слайд 40Проект 1
Ввести M, N, K
Заполнить массив [M x N]

сл.числами [-k/2, +k/2]
Вывести на экран массив ,
минимальные значения каждой

СТРОКИ и
максимальные значения каждого СТОЛБЦА
Предусмотреть цикл задачи (для повторных запусков)
и очистку экрана при повторном запуске
Проект 1Ввести M, N, KЗаполнить массив [M x N]  сл.числами [-k/2, +k/2]Вывести на экран массив ,

Слайд 41Текст Пр_1 (1)
program MAS_MxN ! array [M x N]

! Min, Max Col,Row
use

msflib ! Модуль ГРАФИКИ
implicit none ! Явное описание всех переменных
integer,parameter::nn=100,mm=100 ! CONST
real(4)rnd ! Занимает 4 байта
integer(2) col
character ch
integer a(mm,nn),b(mm),c(nn),i,j,k,m,n
Текст Пр_1 (1)program MAS_MxN ! array [M x N]	        !

Слайд 42Текст Пр_1 (2)
ЦИКЛ ЗАДАЧИ и ОЧИСТКА ЭКРАНА
do
call clearscreen($gclearscreen)

«ОПЕРАТОРЫ

РЕАЛИЗАЦИИ ЗАДАЧИ»

col=settextcolor(15_2)
print *,'Press any Key or

ESC'; ch = getcharQQ()
if(ch==CHAR(27))Exit
enddo


Текст Пр_1 (2)ЦИКЛ ЗАДАЧИ и ОЧИСТКА ЭКРАНАdo	  call clearscreen($gclearscreen)«ОПЕРАТОРЫ РЕАЛИЗАЦИИ ЗАДАЧИ»  col=settextcolor(15_2)  print *,'Press

Слайд 43Текст Пр_1 (3)
col=settextcolor(15_2)
print '(1x,a,$)','Input M,N,K ';read *,m,n,k

col=settextcolor(11_2)
call seed(777) ! Randomize

do i=1,M ; do j =1,N
call random(rnd) !сл.число [0..1)
a(i,j) = INT(k * rnd)- k/2 ! TRUNC
enddo; enddo
do i=1,M
b(i)=MINVAL(a(i,:))
enddo
do j=1,N
c(j)=MaxVal(a(:,j))
enddo

ТЕСТ:
print *,int(3.9),nint(3.9)
TRUNK=3
ROUND=4

Текст Пр_1 (3)col=settextcolor(15_2) 	  print '(1x,a,$)','Input M,N,K ';read *,m,n,k    col=settextcolor(11_2)	  call seed(777)

Слайд 44Текст Пр_1 (4)
do i=1,M
col=settextcolor(INT2(15))
write(*,'(100(I4,$))')a(i,:n)
col=settextcolor(INT2(11))
write(*,'(I4)')b(i)


enddo
col=settextcolor(INT2(12))
write(*,'(100I4)')c(:n)

Текст Пр_1 (4)do i=1,M	 col=settextcolor(INT2(15))	 write(*,'(100(I4,$))')a(i,:n)   col=settextcolor(INT2(11))	 write(*,'(I4)')b(i)	 	enddo  col=settextcolor(INT2(12))  write(*,'(100I4)')c(:n)

Слайд 45Выполнение проекта

Выполнение проекта

Слайд 46Проект 2
Простой график последовательности сл.чисел [0, k)
ПАРАМЕТРЫ:
N – длина

последовательности;
k – const генератора сл.чисел

Проект 2Простой график последовательности сл.чисел [0, k)ПАРАМЕТРЫ: N – длина последовательности; k – const генератора сл.чисел

Слайд 47Текст Пр_2 (1)
program Grafik ! ПРОСТОЙ ГРАФИК
use

msflib
integer,parameter:: u0=100
integer v0,SX,SY, a(200),n,i,k,min,max,dn
real

cx,cy,rr,r
integer(2) stat2
character(40) st
character ch
integer u1,u2,v1,v2,oldcolor,SSX,SSY
type(xycoord)t
LOGICAL(4) status
Текст Пр_2 (1)program Grafik ! ПРОСТОЙ ГРАФИК  use msflib  integer,parameter:: u0=100  integer v0,SX,SY, a(200),n,i,k,min,max,dn

Слайд 48Текст Пр_2 (2)
TYPE (windowconfig) wc
!INTEGER(2) numxpixels !

Number of pixels on x-axis.
!INTEGER(2) numypixels !

Number of pixels on y-axis.

status = GETWINDOWCONFIG(wc)
SSX=wc.numxpixels; SSY=wc.numypixels
v0=SSY-100;
SX=SSX-200;SY=SSY-200 ! ПОЛЕ ГРАФИКА
Текст Пр_2 (2)TYPE (windowconfig) wc  !INTEGER(2) numxpixels  ! Number of pixels on x-axis.  !INTEGER(2)

Слайд 49Текст Пр_2 (3)
print *,'Bb n,k';read *,n,k; if(n>200) n=200

do i=1,n
call random_number(rr)
a(i)=int(k*rr)


enddo
min = MINVAL(a(:n)); max = MAXVAL(a(:n))
write(*,'(20i4)')a(:n); write (*,*)min,max;
pause '1'
Текст Пр_2 (3)print *,'Bb n,k';read *,n,k;	 if(n>200) n=200	   do i=1,n   call random_number(rr)

Слайд 50Текст Пр_2 (4)
oldcolor=SETBKCOLORRGB(#330000) ! RGB (-> BGR)
call clearscreen($gclearscreen) !BLUE

stat2=setcolor(15_2)
stat2=rectangle($gborder,u0,v0-SY,u0+SX,v0) ! FRAME
stat2=initializefonts()

stat2=setfont("t'courier'h14w8")
r=max-min !Размах по оси Y
cx=1.0*SX/(n-1);cy=1.0*SY/r

do i=1,5 ! ВЕРТИКАЛЬНАЯ ОСЬ
v1=v0-int((i-1)*SY/4);u1=u0;u2=u0-3
call moveto(u1,v1,t); call lineto(u2,v1)
write(st,'(f6.2)')min+(i-1)*r/4 ! Пч В СТРОКУ
call moveto(u0-70,v1-7,t); call outgtext(st)
enddo
Текст Пр_2 (4)oldcolor=SETBKCOLORRGB(#330000) ! RGB (-> BGR)call clearscreen($gclearscreen) !BLUE  stat2=setcolor(15_2)  stat2=rectangle($gborder,u0,v0-SY,u0+SX,v0) ! FRAME  stat2=initializefonts()

Слайд 51Текст Пр_2 (5)
if(n

endif
do i=1,n ! ГОРИЗОНТАЛЬНАЯ ОСЬ

if((i==1) .or. (mod(i,dn)==0) .or. (i==n)) then
u1=u0+int((i-1)*cx); v1=v0;v2=v0+3
call moveto(u1,v1,t); call lineto(u1,v2)
write(st,'(i)')i
if (i if(i==n)call moveto(u0+SX-60,v0+5,t)
call outgtext(st)
endif
enddo
Текст Пр_2 (5)if(n

Слайд 52Текст Пр_2 (6)
stat2=setcolor(14_2) ! ЖЕЛТЫЙ ГРАФИК
do i=1,n-1

u1=u0+int((i-1)*cx);u2=u1+int(cx)
v1=v0-int((a(i)-min)*cy)

v2=v0-int((a(i+1)-min)*cy)
call moveto(u1,v1,t); call lineto(u2,v2)
enddo
Текст Пр_2 (6) stat2=setcolor(14_2) ! ЖЕЛТЫЙ ГРАФИК  do i=1,n-1   u1=u0+int((i-1)*cx);u2=u1+int(cx)    v1=v0-int((a(i)-min)*cy)

Слайд 53Текст Пр_2 (7)
! ЗАВЕРШЕНИЕ ПРОГРАММЫ
stat2=setcolor(15_2);st ="Нажать любую клавишу или "

stat2=setfont("t'Times New Roman Cyr'h18w8");
u1=wc.numxpixels-getgtextextent(st); v1=wc.numypixels-40
call

moveto(u1,v1,t); call outgtext(st)
oldcolor=SETBKCOLORRGB(oldcolor)

if(ichar(getcharQQ())==27)stop
enddo
end program
Текст Пр_2 (7)! ЗАВЕРШЕНИЕ ПРОГРАММЫstat2=setcolor(15_2);st =

Слайд 54Выполнение проекта

Выполнение проекта

Слайд 55Программа на Fortran’е
…алгоритмы и структуры данных…

Программа на Fortran’е…алгоритмы и структуры данных…

Слайд 56Конструкция программы
!********************** КОММЕНТАРИИ ***********
!
! PROGRAM: Begin
!
! PURPOSE:
!***********************************************
program Begin
implicit none
! Variables
(ЗДЕСЬ

ВСЕ ПЕРЕМЕННЫЕ)
! Body of Begin
(ЗДЕСЬ ТЕКСТ ТЕЛА

ПРОГРАММЫ)
end program Begin
Конструкция программы!********************** КОММЕНТАРИИ ***********!! PROGRAM: Begin!! PURPOSE:!***********************************************	program Begin	implicit none	! Variables(ЗДЕСЬ  ВСЕ  ПЕРЕМЕННЫЕ)	! Body of Begin

Слайд 57Синтаксис оформления Главная программа
[PROGRAM name_program]
[операторы описания]
[исполняемые операторы]
[CONTAINS
внутренние процедуры]
END[PROGRAM [name_program]]
[…] -> можно

не писать!
ПРОГРАММА ИЗ 3-х БУКВ:
END
Операторы SUBROUTINE, FUNCTION– могут только после

CONTAINS.
END может быть с меткой.
Завершение возможно оператором STOP в любом месте
Синтаксис оформления Главная программа[PROGRAM name_program][операторы описания][исполняемые операторы][CONTAINS	внутренние процедуры]END[PROGRAM [name_program]][…] -> можно не писать!ПРОГРАММА ИЗ 3-х БУКВ:ENDОператоры SUBROUTINE,

Слайд 58Использование программных единиц в проекте
а) встроенные процедуры (SIN,ALOG, TRIM,…)
б) подключаемые

процедуры и модули (из библ. Фортрана и мат. библ. CVF

ссылка Use)
в) создаваемые при работе процедуры и модули
Проектирование программы:
выделение фрагментов, определены данные обмена, способ обмена (параметры, внешний носитель, Use-ассоциирование)
В проект можно включить файл с исходным текстом (строка INCLUDE или директива $INCLUDE)
Использование программных единиц в проектеа) встроенные процедуры (SIN,ALOG, TRIM,…)б) подключаемые процедуры и модули (из библ. Фортрана и

Слайд 59Внешние процедуры
SUBROUTINE, FUNCTION.
Выход в вызывающую программу:
END или Return

(м.б. несколько)
Окончание внешних:
END [SUBROUTINE [имя]]
или
END [FUNCTION [имя]]

New! Для функции результат м.б. переименован в предложении RESULT

МОГУТ БЫТЬ В ОТДЕЛЬНЫХ ФАЙЛАХ ПРОЕКТА
(Удобнее для отладки)

Внешние процедуры SUBROUTINE, FUNCTION.Выход в вызывающую программу: END или Return (м.б. несколько)Окончание внешних: END [SUBROUTINE [имя]] или

Слайд 60Внутренние процедуры
после оператора CONTAINS до завершающего END
Тип внутренней функции:

не должен объявляться в ее носителе (явный интерфейс)
Окончание внутренних включают:

END SUBROUTINE [имя]
или
END FUNCTION [имя]
Внутренние процедуры после оператора CONTAINS до завершающего ENDТип внутренней функции: не должен объявляться в ее носителе (явный

Слайд 61МОДУЛИ
MODULE name_module
[раздел описаний]
[CONTAINS
модульные процедуры]
END[MODULE [name_module]]

Следующие за оператором CONTAINS модульные процедуры

должны завершаться
END SUBROUTINE [имя]
или
END FUNCTION [имя]

МОДУЛИMODULE name_module[раздел описаний][CONTAINSмодульные процедуры]END[MODULE [name_module]]Следующие за оператором CONTAINS модульные процедуры должны завершаться END SUBROUTINE [имя] 		или END

Слайд 62Объекты данных
ВИДЫ ОБЪЕКТОВ ДАННЫХ:
Переменные Константы Функции
Имена: Начинаются с буквы, из латинских букв,

цифр и символа подчеркивания
Регистр букв не является значащим

Типы ВСТРОЕННЫЕ: real,

integer,…
ПРОИЗВОДНЫЕ: (свои!)
Объекты данныхВИДЫ ОБЪЕКТОВ ДАННЫХ:Переменные	Константы	ФункцииИмена: Начинаются с буквы, из латинских букв, цифр и символа подчеркиванияРегистр букв не является

Слайд 63Имена Фортрана по умолчанию
При проходе по выполняемым операторам программа

компилятор заводит имена, встречающиеся ему впервые ( т.е. те, которые

не определены точно ), в соответствии с контекстом.
Если имя используется как переменная, его тип определяется по первой букве имени : I, J, K, L, M или N по умолчанию принимаются целыми, а остальные буквы - действительными числами.
Вы можете использовать оператор IMPLICIT для замены соответствия типа и начальной буквы .
Это же правило используется при использовании имени в функции для определения типа возвратной величины.
Имена Фортрана по умолчанию При проходе по выполняемым операторам программа компилятор заводит имена, встречающиеся ему впервые (

Слайд 64Скаляры и массивы
Real :: x1=1.1, y =.5, z !

:: (лексема!) начальное !присваивание
Integer ar(2,5), i, j, k
Character (40) st

! Массив символов – строка
Real, parameter :: Pi = 3.141593 ! CONST
Logical(1) flag !логическая переменная
! Значения: .FALSE. и .TRUE.
Real,dimension(10)::a=.5 ! Другое описание !массива
Протяженность измерений массива можно указать парой значений
Real ::c(-2:2,5:10)
Скаляры и массивыReal :: x1=1.1, y =.5, z  ! :: (лексема!) начальное 				!присваиваниеInteger ar(2,5), i, j,

Слайд 65Стандартные числовые типы
3 ТИПА: INTEGER, REAL, COMPLEX
INTEGER -2’147’483’648

+2’147’483’647
REAL (отрицательные) -3.4028235E+38 -1.1754944E-38
число

0
(положительные) + 1.1754944E-38 <-> +3.4028235E+38
ДРОБНАЯ ЧАСТЬ МОЖЕТ СОДЕРЖАТЬ ДО 6 ДЕС. ЗНАКОВ
COMPLEX Пара вещественных
(для действительной и мнимой части)

СТАНДАРТНЫЙ ТИП INTEGER, REAL - 4 байта
Определяются операторами: Real a; Integer i,j,k
complex z; … z = (2.3, -9.7) * 2.2

Стандартные числовые типы3 ТИПА: INTEGER, REAL, COMPLEXINTEGER  	-2’147’483’648   +2’147’483’647REAL (отрицательные)		-3.4028235E+38 -1.1754944E-38

Слайд 66Разновидности числовых типов
Имя типа ([kind=] значение) список объектов
Стандартную разновидность (4)

можно не указывать
ДОПУСТИМЫЕ РАЗНОВИДНОСТИ:
INTEGER (1)
INTEGER (2)
INTEGER (4)

Real, Complex(4)
Real, Complex(8) ДВОЙНАЯ ТОЧНОСТЬ

Разновидности числовых типовИмя типа ([kind=] значение) список объектовСтандартную разновидность (4) можно не указыватьДОПУСТИМЫЕ РАЗНОВИДНОСТИ:	INTEGER (1)	INTEGER (2)	INTEGER (4)	Real,

Слайд 67Создать графическое приложение и выполнить упражнения (3 по выбору из

файла Линейные алгоритмы.doc)

Предусмотреть очистку экрана и цикл задачи.
Текстовые строки выводить

латинскими буквами (коротко!)
Например: S rectangle
Input L, W
Result S =
Завершающую строчку (Press any Key or ) вывести в нижнем правом углу!

ПРАКТИКУМ

Создать графическое приложение и выполнить упражнения (3 по выбору из файла Линейные алгоритмы.doc)Предусмотреть очистку экрана и цикл

Слайд 68THE END

THE END

Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика