Скачать презентацию СОВРЕМЕННЫЙ ФОРТРАН Гущин Олег Андрианович  Сейчас, когда Скачать презентацию СОВРЕМЕННЫЙ ФОРТРАН Гущин Олег Андрианович Сейчас, когда

Пр_ФОРТР_01.ppt

  • Количество слайдов: 68

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

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

Существующее положение вещей не могло не отразиться и на системе приоритетов в области программирования. Существующее положение вещей не могло не отразиться и на системе приоритетов в области программирования. … молодёжь стремится освоить Delphi, C/C++, Java и им подобные. Популярны также и системы работы с базами данных типа Fox. Pro, Access, Oracle, Clarion и другие. Несомненно, что эти языки будучи в основной своей массе объектно-ориентированными, хорошо приспособлены для создания систем управления …, а также систем доставки данных, например в среде Internet. В то же время подобные языки мало пригодны для описания явлений природы и разного рода процессов (физических, химических, технологических…), которые, как правило, сами состоят из большого числа параллельно проходящих процессов.

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

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

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

n Проект оказался очень успешным. Уже через год после завершения разработки языка на Фортране n Проект оказался очень успешным. Уже через год после завершения разработки языка на Фортране записывалось большинство программ для компьютеров IBM-704. n Успех объяснялся тем, что язык был довольно простым и не содержал конструкций, порождающих неэффективный код.

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

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

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

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

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

- FORTRAN 90 (1991) (Значительно переработан стандарт языка. Введён свободный формат написания кода. Появились - 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 95 (1997) (Коррекция предыдущего стандарта) - FORTRAN 2003 (2004) (Дальнейшее развитие поддержки - FORTRAN 95 (1997) (Коррекция предыдущего стандарта) - FORTRAN 2003 (2004) (Дальнейшее развитие поддержки ООП в языке. Взаимодействие с операционной системой)

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

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

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

Среда CVF Среда CVF

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

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

Проект «Hello World» Проект «Hello World»

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

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

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

Выполнение Simple Выполнение Simple

Дополнение Hello Дополнение Hello

Графическое приложение Fortran Standard. Graphic СПРАВА Указать имя проекта и его место (для создания Графическое приложение Fortran Standard. Graphic СПРАВА Указать имя проекта и его место (для создания папки)! Появится кнопка Ok … Форма разновидности проекта (после нажатия Ok) Quick. Win (multiple windows) Standard. Graphics (single window) НАШ ОСНОВНОЙ ТИП ПРОЕКТА!

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

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

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

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

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

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

Герман Холлерит Родители Германа были выходцами из Германии, в 1848 году они покинули родину Герман Холлерит Родители Германа были выходцами из Германии, в 1848 году они покинули родину … Герман Холлерит родился 29 февраля 1860 года. Умер в 1929 г. О младенческих годах Германа ничего не известно. (дело семейное). В школу он ходил с явной неохотой и имел среди учителей репутацию ребенка одаренного, но дурно воспитанного и ленивого. Не давались ему ни грамматика, ни каллиграфия, не приводили его в восторг ни отечественная история, ни труды основоположников молодого демократического государства. Значительно лучше дела обстояли с естественными и точными науками.

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

Однажды кондуктор в поезде, заносивший с помощью ручного компостера данные о пассажирах в какой-то Однажды кондуктор в поезде, заносивший с помощью ручного компостера данные о пассажирах в какой-то бланк, навел его на мысль о перфокарте, которая содержала бы данные для переписи населения, и в 1884 году Холлерит уже обратился за патентом на "машину для переписи населения". Впоследствии он получил еще несколько десятков патентов за работы в этой области. ТАБУЛЯТОР ПЕРФОРАТОР

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

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

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

Текст Пр_1 (1) program MAS_Mx. N ! array [M x N] ! Min, Max Текст Пр_1 (1) program MAS_Mx. N ! 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 (2) ЦИКЛ ЗАДАЧИ и ОЧИСТКА ЭКРАНА do call clearscreen($gclearscreen) «ОПЕРАТОРЫ РЕАЛИЗАЦИИ ЗАДАЧИ» Текст Пр_1 (2) ЦИКЛ ЗАДАЧИ и ОЧИСТКА ЭКРАНА do call clearscreen($gclearscreen) «ОПЕРАТОРЫ РЕАЛИЗАЦИИ ЗАДАЧИ» col=settextcolor(15_2) print *, 'Press any Key or ESC'; ch = getchar. QQ() if(ch==CHAR(27))Exit enddo

Текст Пр_1 (3) col=settextcolor(15_2) print '(1 x, a, $)', 'Input M, N, K '; Текст Пр_1 (3) col=settextcolor(15_2) print '(1 x, 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 print *, int(3. 9), nint(3. 9) TRUNK=3 b(i)=MINVAL(a(i, : )) ROUND=4 enddo do j=1, N c(j)=Max. Val(a(: , j)) enddo

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

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

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

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

Текст Пр_2 (2) TYPE (windowconfig) wc !INTEGER(2) numxpixels ! Number of pixels on x-axis. Текст Пр_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 v 0=SSY-100; SX=SSX-200; SY=SSY-200 ! ПОЛЕ ГРАФИКА

Текст Пр_2 (3) print *, 'Bb n, k'; read *, n, k; if(n>200) n=200 Текст Пр_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(*, '(20 i 4)')a(: n); pause '1' write (*, *)min, max;

Текст Пр_2 (4) oldcolor=SETBKCOLORRGB(#330000) ! RGB (-> BGR) call clearscreen($gclearscreen) !BLUE stat 2=setcolor(15_2) stat Текст Пр_2 (4) oldcolor=SETBKCOLORRGB(#330000) ! RGB (-> BGR) call clearscreen($gclearscreen) !BLUE stat 2=setcolor(15_2) stat 2=rectangle($gborder, u 0, v 0 -SY, u 0+SX, v 0) ! FRAME stat 2=initializefonts() stat 2=setfont("t'courier'h 14 w 8") r=max-min !Размах по оси Y cx=1. 0*SX/(n-1); cy=1. 0*SY/r do i=1, 5 ! ВЕРТИКАЛЬНАЯ ОСЬ v 1=v 0 -int((i-1)*SY/4); u 1=u 0; u 2=u 0 -3 call moveto(u 1, v 1, t); call lineto(u 2, v 1) write(st, '(f 6. 2)')min+(i-1)*r/4 ! Пч В СТРОКУ call moveto(u 0 -70, v 1 -7, t); call outgtext(st) enddo

Текст Пр_2 (5) if(n<100) then ; dn=5; else; dn=10 endif do i=1, n ! Текст Пр_2 (5) if(n<100) then ; dn=5; else; dn=10 endif do i=1, n ! ГОРИЗОНТАЛЬНАЯ ОСЬ if((i==1). or. (mod(i, dn)==0). or. (i==n)) then u 1=u 0+int((i-1)*cx); v 1=v 0; v 2=v 0+3 call moveto(u 1, v 1, t); call lineto(u 1, v 2) write(st, '(i)')i if (i

Текст Пр_2 (6) stat 2=setcolor(14_2) ! ЖЕЛТЫЙ ГРАФИК do i=1, n-1 u 1=u 0+int((i-1)*cx); Текст Пр_2 (6) stat 2=setcolor(14_2) ! ЖЕЛТЫЙ ГРАФИК do i=1, n-1 u 1=u 0+int((i-1)*cx); u 2=u 1+int(cx) v 1=v 0 -int((a(i)-min)*cy) v 2=v 0 -int((a(i+1)-min)*cy) call moveto(u 1, v 1, t); call lineto(u 2, v 2) enddo

"" src="https://present5.com/presentation/3/104058261_156320302.pdf-img/104058261_156320302.pdf-53.jpg" alt="Текст Пр_2 (7) ! ЗАВЕРШЕНИЕ ПРОГРАММЫ stat 2=setcolor(15_2); st ="Нажать любую клавишу или "" /> Текст Пр_2 (7) ! ЗАВЕРШЕНИЕ ПРОГРАММЫ stat 2=setcolor(15_2); st ="Нажать любую клавишу или " stat 2=setfont("t'Times New Roman Cyr'h 18 w 8"); u 1=wc. numxpixels-getgtextextent(st); v 1=wc. numypixels-40 call moveto(u 1, v 1, t); call outgtext(st) oldcolor=SETBKCOLORRGB(oldcolor) if(ichar(getchar. QQ())==27)stop enddo end program

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

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

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

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

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

Внешние процедуры SUBROUTINE, FUNCTION. Выход в вызывающую программу: END или Return (м. б. несколько) Внешние процедуры SUBROUTINE, FUNCTION. Выход в вызывающую программу: END или Return (м. б. несколько) Окончание внешних: END [SUBROUTINE [имя]] или END [FUNCTION [имя]] New! Для функции результат м. б. переименован в предложении RESULT МОГУТ БЫТЬ В ОТДЕЛЬНЫХ ФАЙЛАХ ПРОЕКТА (Удобнее для отладки)

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

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

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

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

Скаляры и массивы Real : : x 1=1. 1, y =. 5, z ! Скаляры и массивы Real : : x 1=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)

Стандартные числовые типы 3 ТИПА: INTEGER, REAL, COMPLEX INTEGER -2’ 147’ 483’ 648 <-> Стандартные числовые типы 3 ТИПА: INTEGER, REAL, COMPLEX INTEGER -2’ 147’ 483’ 648 <-> +2’ 147’ 483’ 647 REAL (отрицательные) -3. 4028235 E+38 <-> -1. 1754944 E-38 число 0 (положительные) + 1. 1754944 E-38 <-> +3. 4028235 E+38 ДРОБНАЯ ЧАСТЬ МОЖЕТ СОДЕРЖАТЬ ДО 6 ДЕС. ЗНАКОВ COMPLEX Пара вещественных (для действительной и мнимой части) СТАНДАРТНЫЙ ТИП INTEGER, REAL - 4 байта Определяются операторами: Real a; Integer i, j, k complex z; … z = (2. 3, -9. 7) * 2. 2

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

ПРАКТИКУМ Создать графическое приложение и выполнить упражнения (3 по выбору из файла Линейные алгоритмы. ПРАКТИКУМ Создать графическое приложение и выполнить упражнения (3 по выбору из файла Линейные алгоритмы. doc) Предусмотреть очистку экрана и цикл задачи. Текстовые строки выводить латинскими буквами (коротко!) Например: S rectangle Input L, W Result S = Завершающую строчку (Press any Key or ) вывести в нижнем правом углу!

THE END THE END