Press "Enter" to skip to content

İnformatika terminlərinin izahlı lüğəti” nəşr olunub

Очень долгое время, весь классический период, строки символов находились в Фортране на таком положении бедного родственника, не имея даже собственного типа переменных, не говоря о произвольной длине. Строковые значения записывались в виде так называемых “холлеритовых констант”, имевших вид длинаHсимволы, например, 5HALPHA . Интересной особенностью Фортрана является то, что холлеритовы (и позднее шестнадцатиричные) константы считаются не имеющими типа. Это просто заполненные области памяти машины, которые принимают тип по способу своего использования. Поскольку классический Фортран разрабатывался в то время, когда байтовая организация памяти сначала не была изобретена, а потом не имела повсеместного использования, то холлеритовы константы не имели определённого языком размера в памяти, их длина в словах зависела от реализации. Например, константа 5HALPHA могла занимать 30 бит в 6-битовой кодировке в одном 48-битовом слове на одной машине (и тогда могла храниться в одной целой или вещественной переменной), либо 40 бит в 8-битной кодировке в двух 32-битовых словах на другой машине (и тогда могла храниться в массиве из двух целых или вещественных чисел).

Əlizamin Sadiqov – Pulmonoloq

Təhsili:
1977-1983-cü illər “Terapevt” Azerbaycan Tibb Universiteti, Baku
1991-1994-cü illər “Aspirantura”, pulmonology Saint-Petersburg Academy of Post graduated Education, Saint-petersburg
2000-2004-cü illər “Doctorantura”, Pulmonary Medicine Saint-Petersburg State Pavlov’s medical university, Saint-Petersburg
2011-ci il Sarttelman University Belgium, pulmonary medicine SartTelman University Leige, Belgium
2012-2015-ci illər Doctor of Health Science(DHSs), Atlantic International University

İş təcrübəsi:
1983-1986-cı illər “Terapevt” Naxcıvan Respublika xəstəxanası Naxcıvan, Azərbaycan
1987-1992-ci illər “Reanimatoloq” Səlyan MX-sı Səlyan, Azərbaycan
1990-1994-cü illər “Aspirant” Sankt peterburq diplomdan sonra təhsil akademiyası Sankt Peterburq
1995-2000-ci illər “Pulmonoloq” Səlyan ağciyərxəstəliklər hospitalı Səlyan, Azərbaycan
2000-2004-cü illər “Pulmonoloq” Sankt peterburq Pavlov adına Tibb Universiteti Sankt Peterburq, Rusiya
2012-2015-ci illər “Doktorantura” Atlantik Beynəlxalq Universiteti Havay adaları Honolulo ABŞ
2006-cı ildən hal hazıra qədər “Assistent” Azərbaycan Tibb Universiteti, II Daxili xəstəliklərin propedevtikası kafedrası (2013-cüildən Terapevtik və pediatrik propedevtika kafedrası) Azərbaycan, Bakı

Təlimləri:
2012-ci il Pulmonary Medicine Board Course Barcelona city
2013-cü il Pulmonary Medicine Board Course Phoenix city, Arizona
2013-cü il Critical Care in Pulmonary Medicine Brunswick city, New Jersey
2014-cü il Internal Medicine New York city, New York

Elmi iş və Məqalələri:
Acute exacerbations of chronic obstructive pulmonary disease : Is it acute exacerbations of chronic cardiopulmonary disease?
Title:Acute Exacerbations of the Chronic Obstructive Pulmonary Disease:How Can we overcome the Exacerbations of the Severe Disease?
300-dən çox məgalə. 100-dən çox elmi məruzə, 11 monografiya

https://vslevitrav.com/ – buy levitra

Excarge, 05-04-2021
Excarge, 09-05-2021
Sweewly, 03-06-2021
Sweewly, 19-06-2021
Sweewly, 05-07-2021
Sweewly, 28-07-2021
Yhdfilmskg, 18-09-2021
Piper, 18-09-2021
Valencia, 18-09-2021

454 http://images.google.co.zm/url?q=http://batmanapollo.ru/ http://google.com.af/url?q=http://batmanapollo.ru/ http://google.al/url?q=http://batmanapollo.ru/ http://google.dz/url?q=http://batmanapollo.ru/ http://google.as/url?q=http://batmanapollo.ru/ http://google.ad/url?q=http://batmanapollo.ru/ http://google.it.ao/url?q=http://batmanapollo.ru/ http://google.com.ai/url?q=http://batmanapollo.ru/ http://google.com.ag/url?q=http://batmanapollo.ru/ http://google.com.ar/url?q=http://batmanapollo.ru/ http://google.am/url?q=http://batmanapollo.ru/ http://google.ac/url?q=http://batmanapollo.ru/ http://google.com.au/url?q=http://batmanapollo.ru/ http://google.at/url?q=http://batmanapollo.ru/ http://google.az/url?q=http://batmanapollo.ru/ http://google.bs/url?q=http://batmanapollo.ru/ http://google.com.bh/url?q=http://batmanapollo.ru/ http://google.com.bd/url?q=http://batmanapollo.ru/ http://google.com.by/url?q=http://batmanapollo.ru/ http://google.be/url?q=http://batmanapollo.ru/ http://google.com.bz/url?q=http://batmanapollo.ru/ http://google.bj/url?q=http://batmanapollo.ru/ http://google.bt/url?q=http://batmanapollo.ru/ http://google.com.bo/url?q=http://batmanapollo.ru/ http://google.ba/url?q=http://batmanapollo.ru/ http://google.co.bw/url?q=http://batmanapollo.ru/ http://google.com.br/url?q=http://batmanapollo.ru/ http://google.vg/url?q=http://batmanapollo.ru/ http://google.com.bn/url?q=http://batmanapollo.ru/ http://google.bg/url?q=http://batmanapollo.ru/ http://google.bf/url?q=http://batmanapollo.ru/ http://google.bi/url?q=http://batmanapollo.ru/ http://google.com.kh/url?q=http://batmanapollo.ru/ http://google.cm/url?q=http://batmanapollo.ru/ http://google.ca/url?q=http://batmanapollo.ru/ http://google.cv/url?q=http://batmanapollo.ru/ http://google.cat/url?q=http://batmanapollo.ru/ http://google.cf/url?q=http://batmanapollo.ru/ http://google.td/url?q=http://batmanapollo.ru/ http://google.cl/url?q=http://batmanapollo.ru/ http://google.cn/url?q=http://batmanapollo.ru/ http://google.com.co/url?q=http://batmanapollo.ru/ http://google.cd/url?q=http://batmanapollo.ru/ http://google.cg/url?q=http://batmanapollo.ru/ http://google.co.ck/url?q=http://batmanapollo.ru/ http://google.co.cr/url?q=http://batmanapollo.ru/ http://google.ci/url?q=http://batmanapollo.ru/ http://google.hr/url?q=http://batmanapollo.ru/ http://google.com.cu/url?q=http://batmanapollo.ru/ http://google.com.cy/url?q=http://batmanapollo.ru/ http://google.cz/url?q=http://batmanapollo.ru/ http://google.dk/url?q=http://batmanapollo.ru/ http://google.dj/url?q=http://batmanapollo.ru/ http://google.dm/url?q=http://batmanapollo.ru/ http://google.com.do/url?q=http://batmanapollo.ru/ http://google.com.ec/url?q=http://batmanapollo.ru/ http://google.com.eg/url?q=http://batmanapollo.ru/ http://google.com.sv/url?q=http://batmanapollo.ru/ http://google.ee/url?q=http://batmanapollo.ru/ http://google.com.et/url?q=http://batmanapollo.ru/ http://google.com.fj/url?q=http://batmanapollo.ru/ http://google.fi/url?q=http://batmanapollo.ru/ http://google.fr/url?q=http://batmanapollo.ru/ http://google.ga/url?q=http://batmanapollo.ru/ http://google.gm/url?q=http://batmanapollo.ru/ http://google.ge/url?q=http://batmanapollo.ru/ http://google.de/url?q=http://batmanapollo.ru/ http://google.com.gh/url?q=http://batmanapollo.ru/ http://google.com.gi/url?q=http://batmanapollo.ru/ http://google.gr/url?q=http://batmanapollo.ru/ http://google.gl/url?q=http://batmanapollo.ru/ http://google.gp/url?q=http://batmanapollo.ru/ http://google.com.gt/url?q=http://batmanapollo.ru/ http://google.gg/url?q=http://batmanapollo.ru/ http://google.gy/url?q=http://batmanapollo.ru/ http://google.ht/url?q=http://batmanapollo.ru/ http://google.hn/url?q=http://batmanapollo.ru/ http://google.com.hk/url?q=http://batmanapollo.ru/ http://google.hu/url?q=http://batmanapollo.ru/ http://google.is/url?q=http://batmanapollo.ru/ http://google.co.in/url?q=http://batmanapollo.ru/ http://google.co.id/url?q=http://batmanapollo.ru/ http://google.iq/url?q=http://batmanapollo.ru/ http://google.ie/url?q=http://batmanapollo.ru/ http://google.co.im/url?q=http://batmanapollo.ru/ http://google.co.il/url?q=http://batmanapollo.ru/ http://google.it/url?q=http://batmanapollo.ru/ http://google.ci/url?q=http://batmanapollo.ru/ http://google.com.jm/url?q=http://batmanapollo.ru/ http://google.co.jp/url?q=http://batmanapollo.ru/ http://google.co.je/url?q=http://batmanapollo.ru/ http://google.jo/url?q=http://batmanapollo.ru/ http://google.kz/url?q=http://batmanapollo.ru/ http://google.co.ke/url?q=http://batmanapollo.ru/ http://google.ki/url?q=http://batmanapollo.ru/ http://google.com.kw/url?q=http://batmanapollo.ru/ http://google.com.kg/url?q=http://batmanapollo.ru/ http://google.la/url?q=http://batmanapollo.ru/ http://google.lv/url?q=http://batmanapollo.ru/ http://google.com.lb/url?q=http://batmanapollo.ru/ http://google.co.ls/url?q=http://batmanapollo.ru/ http://google.com.ly/url?q=http://batmanapollo.ru/ http://google.li/url?q=http://batmanapollo.ru/ http://google.lt/url?q=http://batmanapollo.ru/ http://google.lu/url?q=http://batmanapollo.ru/ http://google.mk/url?q=http://batmanapollo.ru/ http://google.mg/url?q=http://batmanapollo.ru/ http://google.mw/url?q=http://batmanapollo.ru/ http://google.com.my/url?q=http://batmanapollo.ru/ http://google.mv/url?q=http://batmanapollo.ru/ http://google.ml/url?q=http://batmanapollo.ru/ http://google.com.mt/url?q=http://batmanapollo.ru/ http://google.mu/url?q=http://batmanapollo.ru/ http://google.com.mx/url?q=http://batmanapollo.ru/ http://google.fm/url?q=http://batmanapollo.ru/ http://google.md/url?q=http://batmanapollo.ru/ http://google.mn/url?q=http://batmanapollo.ru/ http://google.me/url?q=http://batmanapollo.ru/ http://google.ms/url?q=http://batmanapollo.ru/ http://google.co.ma/url?q=http://batmanapollo.ru/ http://google.co.mz/url?q=http://batmanapollo.ru/ http://google.com.na/url?q=http://batmanapollo.ru/ http://google.nr/url?q=http://batmanapollo.ru/ http://google.com.np/url?q=http://batmanapollo.ru/ http://google.nl/url?q=http://batmanapollo.ru/ http://google.co.nz/url?q=http://batmanapollo.ru/ http://google.com.ni/url?q=http://batmanapollo.ru/ http://google.ne/url?q=http://batmanapollo.ru/ http://google.com.ng/url?q=http://batmanapollo.ru/ http://google.nu/url?q=http://batmanapollo.ru/ http://google.com.nf/url?q=http://batmanapollo.ru/ http://google.no/url?q=http://batmanapollo.ru/ http://google.com.om/url?q=http://batmanapollo.ru/ http://google.com.pk/url?q=http://batmanapollo.ru/ http://google.ps/url?q=http://batmanapollo.ru/ http://google.com.pa/url?q=http://batmanapollo.ru/ http://google.com.pg/url?q=http://batmanapollo.ru/ http://google.com.py/url?q=http://batmanapollo.ru/ http://google.com.pe/url?q=http://batmanapollo.ru/ http://google.com.ph/url?q=http://batmanapollo.ru/ http://google.pn/url?q=http://batmanapollo.ru/ http://google.pl/url?q=http://batmanapollo.ru/ http://google.pt/url?q=http://batmanapollo.ru/ http://google.com.pr/url?q=http://batmanapollo.ru/ http://google.com.qa/url?q=http://batmanapollo.ru/ http://google.ro/url?q=http://batmanapollo.ru/ http://google.ru/url?q=http://batmanapollo.ru/ http://google.rw/url?q=http://batmanapollo.ru/ http://google.sh/url?q=http://batmanapollo.ru/ http://google.ws/url?q=http://batmanapollo.ru/ http://google.sm/url?q=http://batmanapollo.ru/ http://google.st/url?q=http://batmanapollo.ru/ http://google.com.sa/url?q=http://batmanapollo.ru/ http://google.sn/url?q=http://batmanapollo.ru/ http://google.rs/url?q=http://batmanapollo.ru/ http://google.sc/url?q=http://batmanapollo.ru/ http://google.com.sl/url?q=http://batmanapollo.ru/ http://google.com.sg/url?q=http://batmanapollo.ru/ http://google.sk/url?q=http://batmanapollo.ru/ http://google.si/url?q=http://batmanapollo.ru/ http://google.com.sb/url?q=http://batmanapollo.ru/ http://google.so/url?q=http://batmanapollo.ru/ http://google.co.za/url?q=http://batmanapollo.ru/ http://google.co.kr/url?q=http://batmanapollo.ru/ http://google.es/url?q=http://batmanapollo.ru/ http://google.lk/url?q=http://batmanapollo.ru/ http://google.com.vc/url?q=http://batmanapollo.ru/ http://google.sr/url?q=http://batmanapollo.ru/ http://google.se/url?q=http://batmanapollo.ru/ http://google.ch/url?q=http://batmanapollo.ru/ http://google.com.tw/url?q=http://batmanapollo.ru/ http://google.com.tj/url?q=http://batmanapollo.ru/ http://google.co.tz/url?q=http://batmanapollo.ru/ http://google.co.th/url?q=http://batmanapollo.ru/ http://google.tl/url?q=http://batmanapollo.ru/ http://google.tg/url?q=http://batmanapollo.ru/ http://google.tk/url?q=http://batmanapollo.ru/ http://google.to/url?q=http://batmanapollo.ru/ http://google.tt/url?q=http://batmanapollo.ru/ http://google.tn/url?q=http://batmanapollo.ru/ http://google.com.tr/url?q=http://batmanapollo.ru/ http://google.tm/url?q=http://batmanapollo.ru/ http://google.co.ug/url?q=http://batmanapollo.ru/ http://google.com.ua/url?q=http://batmanapollo.ru/ http://google.ae/url?q=http://batmanapollo.ru/ http://google.co.uk/url?q=http://batmanapollo.ru/ http://google.com/url?q=http://batmanapollo.ru/ http://google.com.uy/url?q=http://batmanapollo.ru/ http://google.co.uz/url?q=http://batmanapollo.ru/ http://google.vu/url?q=http://batmanapollo.ru/ http://google.co.ve/url?q=http://batmanapollo.ru/ http://google.com.vn/url?q=http://batmanapollo.ru/ http://google.co.vi/url?q=http://batmanapollo.ru/ http://google.co.zm/url?q=http://batmanapollo.ru/ http://google.co.zw/url?q=http://batmanapollo.ru/ http://maps.google.com.af/url?q=http://batmanapollo.ru/ http://maps.google.al/url?q=http://batmanapollo.ru/ http://maps.google.dz/url?q=http://batmanapollo.ru/ http://maps.google.as/url?q=http://batmanapollo.ru/ http://maps.google.ad/url?q=http://batmanapollo.ru/ http://maps.google.it.ao/url?q=http://batmanapollo.ru/ http://maps.google.com.ai/url?q=http://batmanapollo.ru/ http://maps.google.com.ag/url?q=http://batmanapollo.ru/ http://maps.google.com.ar/url?q=http://batmanapollo.ru/ http://maps.google.am/url?q=http://batmanapollo.ru/ http://maps.google.ac/url?q=http://batmanapollo.ru/ http://maps.google.com.au/url?q=http://batmanapollo.ru/ http://maps.google.at/url?q=http://batmanapollo.ru/ http://maps.google.az/url?q=http://batmanapollo.ru/ http://maps.google.bs/url?q=http://batmanapollo.ru/ http://maps.google.com.bh/url?q=http://batmanapollo.ru/ http://maps.google.com.bd/url?q=http://batmanapollo.ru/ http://maps.google.com.by/url?q=http://batmanapollo.ru/ http://maps.google.be/url?q=http://batmanapollo.ru/ http://maps.google.com.bz/url?q=http://batmanapollo.ru/ http://maps.google.bj/url?q=http://batmanapollo.ru/ http://maps.google.bt/url?q=http://batmanapollo.ru/ http://maps.google.com.bo/url?q=http://batmanapollo.ru/ http://maps.google.ba/url?q=http://batmanapollo.ru/ http://maps.google.co.bw/url?q=http://batmanapollo.ru/ http://maps.google.com.br/url?q=http://batmanapollo.ru/ http://maps.google.vg/url?q=http://batmanapollo.ru/ http://maps.google.com.bn/url?q=http://batmanapollo.ru/ http://maps.google.bg/url?q=http://batmanapollo.ru/ http://maps.google.bf/url?q=http://batmanapollo.ru/ http://maps.google.bi/url?q=http://batmanapollo.ru/ http://maps.google.com.kh/url?q=http://batmanapollo.ru/ http://maps.google.cm/url?q=http://batmanapollo.ru/ http://maps.google.ca/url?q=http://batmanapollo.ru/ http://maps.google.cv/url?q=http://batmanapollo.ru/ http://maps.google.cat/url?q=http://batmanapollo.ru/ http://maps.google.cf/url?q=http://batmanapollo.ru/ http://maps.google.td/url?q=http://batmanapollo.ru/ http://maps.google.cl/url?q=http://batmanapollo.ru/ http://maps.google.cn/url?q=http://batmanapollo.ru/ http://maps.google.com.co/url?q=http://batmanapollo.ru/ http://maps.google.cd/url?q=http://batmanapollo.ru/ http://maps.google.cg/url?q=http://batmanapollo.ru/ http://maps.google.co.ck/url?q=http://batmanapollo.ru/ http://maps.google.co.cr/url?q=http://batmanapollo.ru/ http://maps.google.ci/url?q=http://batmanapollo.ru/ http://maps.google.hr/url?q=http://batmanapollo.ru/ http://maps.google.com.cu/url?q=http://batmanapollo.ru/ http://maps.google.com.cy/url?q=http://batmanapollo.ru/ http://maps.google.cz/url?q=http://batmanapollo.ru/ http://maps.google.dk/url?q=http://batmanapollo.ru/ http://maps.google.dj/url?q=http://batmanapollo.ru/ http://maps.google.dm/url?q=http://batmanapollo.ru/ http://maps.google.com.do/url?q=http://batmanapollo.ru/ http://maps.google.com.ec/url?q=http://batmanapollo.ru/ http://maps.google.com.eg/url?q=http://batmanapollo.ru/ http://maps.google.com.sv/url?q=http://batmanapollo.ru/ http://maps.google.ee/url?q=http://batmanapollo.ru/ http://maps.google.com.et/url?q=http://batmanapollo.ru/ http://maps.google.com.fj/url?q=http://batmanapollo.ru/ http://maps.google.fi/url?q=http://batmanapollo.ru/ http://maps.google.fr/url?q=http://batmanapollo.ru/ http://maps.google.ga/url?q=http://batmanapollo.ru/ http://maps.google.gm/url?q=http://batmanapollo.ru/ http://maps.google.ge/url?q=http://batmanapollo.ru/ http://maps.google.de/url?q=http://batmanapollo.ru/ http://maps.google.com.gh/url?q=http://batmanapollo.ru/ http://maps.google.com.gi/url?q=http://batmanapollo.ru/ http://maps.google.gr/url?q=http://batmanapollo.ru/ http://maps.google.gl/url?q=http://batmanapollo.ru/ http://maps.google.gp/url?q=http://batmanapollo.ru/ http://maps.google.com.gt/url?q=http://batmanapollo.ru/ http://maps.google.gg/url?q=http://batmanapollo.ru/ http://maps.google.gy/url?q=http://batmanapollo.ru/ http://maps.google.ht/url?q=http://batmanapollo.ru/ http://maps.google.hn/url?q=http://batmanapollo.ru/ http://maps.google.com.hk/url?q=http://batmanapollo.ru/ http://maps.google.hu/url?q=http://batmanapollo.ru/ http://maps.google.is/url?q=http://batmanapollo.ru/ http://maps.google.co.in/url?q=http://batmanapollo.ru/ http://maps.google.co.id/url?q=http://batmanapollo.ru/ http://maps.google.iq/url?q=http://batmanapollo.ru/ http://maps.google.ie/url?q=http://batmanapollo.ru/ http://maps.google.co.im/url?q=http://batmanapollo.ru/ http://maps.google.co.il/url?q=http://batmanapollo.ru/ http://maps.google.it/url?q=http://batmanapollo.ru/ http://maps.google.ci/url?q=http://batmanapollo.ru/ http://maps.google.com.jm/url?q=http://batmanapollo.ru/ http://maps.google.co.jp/url?q=http://batmanapollo.ru/ http://maps.google.co.je/url?q=http://batmanapollo.ru/ http://maps.google.jo/url?q=http://batmanapollo.ru/ http://maps.google.kz/url?q=http://batmanapollo.ru/ http://maps.google.co.ke/url?q=http://batmanapollo.ru/ http://maps.google.ki/url?q=http://batmanapollo.ru/ http://maps.google.com.kw/url?q=http://batmanapollo.ru/ http://maps.google.com.kg/url?q=http://batmanapollo.ru/ http://maps.google.la/url?q=http://batmanapollo.ru/ http://maps.google.lv/url?q=http://batmanapollo.ru/ http://maps.google.com.lb/url?q=http://batmanapollo.ru/ http://maps.google.co.ls/url?q=http://batmanapollo.ru/ http://maps.google.com.ly/url?q=http://batmanapollo.ru/ http://maps.google.li/url?q=http://batmanapollo.ru/ http://maps.google.lt/url?q=http://batmanapollo.ru/ http://maps.google.lu/url?q=http://batmanapollo.ru/ http://maps.google.mk/url?q=http://batmanapollo.ru/ http://maps.google.mg/url?q=http://batmanapollo.ru/ http://maps.google.mw/url?q=http://batmanapollo.ru/ http://maps.google.com.my/url?q=http://batmanapollo.ru/ http://maps.google.mv/url?q=http://batmanapollo.ru/ http://maps.google.ml/url?q=http://batmanapollo.ru/ http://maps.google.com.mt/url?q=http://batmanapollo.ru/ http://maps.google.mu/url?q=http://batmanapollo.ru/ http://maps.google.com.mx/url?q=http://batmanapollo.ru/ http://maps.google.fm/url?q=http://batmanapollo.ru/ http://maps.google.md/url?q=http://batmanapollo.ru/ http://maps.google.mn/url?q=http://batmanapollo.ru/ http://maps.google.me/url?q=http://batmanapollo.ru/ http://maps.google.ms/url?q=http://batmanapollo.ru/ http://maps.google.co.ma/url?q=http://batmanapollo.ru/ http://maps.google.co.mz/url?q=http://batmanapollo.ru/ http://maps.google.com.na/url?q=http://batmanapollo.ru/ http://maps.google.nr/url?q=http://batmanapollo.ru/ http://maps.google.com.np/url?q=http://batmanapollo.ru/ http://maps.google.nl/url?q=http://batmanapollo.ru/ http://maps.google.co.nz/url?q=http://batmanapollo.ru/ http://maps.google.com.ni/url?q=http://batmanapollo.ru/ http://maps.google.ne/url?q=http://batmanapollo.ru/ http://maps.google.com.ng/url?q=http://batmanapollo.ru/ http://maps.google.nu/url?q=http://batmanapollo.ru/ http://maps.google.com.nf/url?q=http://batmanapollo.ru/ http://maps.google.no/url?q=http://batmanapollo.ru/ http://maps.google.com.om/url?q=http://batmanapollo.ru/ http://maps.google.com.pk/url?q=http://batmanapollo.ru/ http://maps.google.ps/url?q=http://batmanapollo.ru/ http://maps.google.com.pa/url?q=http://batmanapollo.ru/ http://maps.google.com.pg/url?q=http://batmanapollo.ru/ http://maps.google.com.py/url?q=http://batmanapollo.ru/ http://maps.google.com.pe/url?q=http://batmanapollo.ru/ http://maps.google.com.ph/url?q=http://batmanapollo.ru/ http://maps.google.pn/url?q=http://batmanapollo.ru/ http://maps.google.pl/url?q=http://batmanapollo.ru/ http://maps.google.pt/url?q=http://batmanapollo.ru/ http://maps.google.com.pr/url?q=http://batmanapollo.ru/ http://maps.google.com.qa/url?q=http://batmanapollo.ru/ http://maps.google.ro/url?q=http://batmanapollo.ru/ http://maps.google.ru/url?q=http://batmanapollo.ru/ http://maps.google.rw/url?q=http://batmanapollo.ru/ http://maps.google.sh/url?q=http://batmanapollo.ru/ http://maps.google.ws/url?q=http://batmanapollo.ru/ http://maps.google.sm/url?q=http://batmanapollo.ru/ http://maps.google.st/url?q=http://batmanapollo.ru/ http://maps.google.com.sa/url?q=http://batmanapollo.ru/ http://maps.google.sn/url?q=http://batmanapollo.ru/ http://maps.google.rs/url?q=http://batmanapollo.ru/ http://maps.google.sc/url?q=http://batmanapollo.ru/ http://maps.google.com.sl/url?q=http://batmanapollo.ru/ http://maps.google.com.sg/url?q=http://batmanapollo.ru/ http://maps.google.sk/url?q=http://batmanapollo.ru/ http://maps.google.si/url?q=http://batmanapollo.ru/ http://maps.google.com.sb/url?q=http://batmanapollo.ru/ http://maps.google.so/url?q=http://batmanapollo.ru/ http://maps.google.co.za/url?q=http://batmanapollo.ru/ http://maps.google.co.kr/url?q=http://batmanapollo.ru/ http://maps.google.es/url?q=http://batmanapollo.ru/ http://maps.google.lk/url?q=http://batmanapollo.ru/ http://maps.google.com.vc/url?q=http://batmanapollo.ru/ http://maps.google.sr/url?q=http://batmanapollo.ru/ http://maps.google.se/url?q=http://batmanapollo.ru/ http://maps.google.ch/url?q=http://batmanapollo.ru/ http://maps.google.com.tw/url?q=http://batmanapollo.ru/ http://maps.google.com.tj/url?q=http://batmanapollo.ru/ http://maps.google.co.tz/url?q=http://batmanapollo.ru/ http://maps.google.co.th/url?q=http://batmanapollo.ru/ http://maps.google.tl/url?q=http://batmanapollo.ru/ http://maps.google.tg/url?q=http://batmanapollo.ru/ http://maps.google.tk/url?q=http://batmanapollo.ru/ http://maps.google.to/url?q=http://batmanapollo.ru/ http://maps.google.tt/url?q=http://batmanapollo.ru/ http://maps.google.tn/url?q=http://batmanapollo.ru/ http://maps.google.com.tr/url?q=http://batmanapollo.ru/ http://maps.google.tm/url?q=http://batmanapollo.ru/ http://maps.google.co.ug/url?q=http://batmanapollo.ru/ http://maps.google.com.ua/url?q=http://batmanapollo.ru/ http://maps.google.ae/url?q=http://batmanapollo.ru/ http://maps.google.co.uk/url?q=http://batmanapollo.ru/ http://maps.google.com/url?q=http://batmanapollo.ru/ http://maps.google.com.uy/url?q=http://batmanapollo.ru/ http://maps.google.co.uz/url?q=http://batmanapollo.ru/ http://maps.google.vu/url?q=http://batmanapollo.ru/ http://maps.google.co.ve/url?q=http://batmanapollo.ru/ http://maps.google.com.vn/url?q=http://batmanapollo.ru/ http://maps.google.co.vi/url?q=http://batmanapollo.ru/ http://maps.google.co.zm/url?q=http://batmanapollo.ru/ http://maps.google.co.zw/url?q=http://batmanapollo.ru/ http://images.google.com.af/url?q=http://batmanapollo.ru/ http://images.google.al/url?q=http://batmanapollo.ru/ http://images.google.dz/url?q=http://batmanapollo.ru/ http://images.google.as/url?q=http://batmanapollo.ru/ http://images.google.ad/url?q=http://batmanapollo.ru/ http://images.google.it.ao/url?q=http://batmanapollo.ru/ http://images.google.com.ai/url?q=http://batmanapollo.ru/ http://images.google.com.ag/url?q=http://batmanapollo.ru/ http://images.google.com.ar/url?q=http://batmanapollo.ru/ http://images.google.am/url?q=http://batmanapollo.ru/ http://images.google.ac/url?q=http://batmanapollo.ru/ http://images.google.com.au/url?q=http://batmanapollo.ru/ http://images.google.at/url?q=http://batmanapollo.ru/ http://images.google.az/url?q=http://batmanapollo.ru/ http://images.google.bs/url?q=http://batmanapollo.ru/ http://images.google.com.bh/url?q=http://batmanapollo.ru/ http://images.google.com.bd/url?q=http://batmanapollo.ru/ http://images.google.com.by/url?q=http://batmanapollo.ru/ http://images.google.be/url?q=http://batmanapollo.ru/ http://images.google.com.bz/url?q=http://batmanapollo.ru/ http://images.google.bj/url?q=http://batmanapollo.ru/ http://images.google.bt/url?q=http://batmanapollo.ru/ http://images.google.com.bo/url?q=http://batmanapollo.ru/ http://images.google.ba/url?q=http://batmanapollo.ru/ http://images.google.co.bw/url?q=http://batmanapollo.ru/ http://images.google.com.br/url?q=http://batmanapollo.ru/ http://images.google.vg/url?q=http://batmanapollo.ru/ http://images.google.com.bn/url?q=http://batmanapollo.ru/ http://images.google.bg/url?q=http://batmanapollo.ru/ http://images.google.bf/url?q=http://batmanapollo.ru/ http://images.google.bi/url?q=http://batmanapollo.ru/ http://images.google.com.kh/url?q=http://batmanapollo.ru/ http://images.google.cm/url?q=http://batmanapollo.ru/ http://images.google.ca/url?q=http://batmanapollo.ru/ http://images.google.cv/url?q=http://batmanapollo.ru/ http://images.google.cat/url?q=http://batmanapollo.ru/ http://images.google.cf/url?q=http://batmanapollo.ru/ http://images.google.td/url?q=http://batmanapollo.ru/ http://images.google.cl/url?q=http://batmanapollo.ru/ http://images.google.cn/url?q=http://batmanapollo.ru/ http://images.google.com.co/url?q=http://batmanapollo.ru/ http://images.google.cd/url?q=http://batmanapollo.ru/ http://images.google.cg/url?q=http://batmanapollo.ru/ http://images.google.co.ck/url?q=http://batmanapollo.ru/ http://images.google.co.cr/url?q=http://batmanapollo.ru/ http://images.google.ci/url?q=http://batmanapollo.ru/ http://images.google.hr/url?q=http://batmanapollo.ru/ http://images.google.com.cu/url?q=http://batmanapollo.ru/ http://images.google.com.cy/url?q=http://batmanapollo.ru/ http://images.google.cz/url?q=http://batmanapollo.ru/ http://images.google.dk/url?q=http://batmanapollo.ru/ http://images.google.dj/url?q=http://batmanapollo.ru/ http://images.google.dm/url?q=http://batmanapollo.ru/ http://images.google.com.do/url?q=http://batmanapollo.ru/ http://images.google.com.ec/url?q=http://batmanapollo.ru/ http://images.google.com.eg/url?q=http://batmanapollo.ru/ http://images.google.com.sv/url?q=http://batmanapollo.ru/ http://images.google.ee/url?q=http://batmanapollo.ru/ http://images.google.com.et/url?q=http://batmanapollo.ru/ http://images.google.com.fj/url?q=http://batmanapollo.ru/ http://images.google.fi/url?q=http://batmanapollo.ru/ http://images.google.fr/url?q=http://batmanapollo.ru/ http://images.google.ga/url?q=http://batmanapollo.ru/ http://images.google.gm/url?q=http://batmanapollo.ru/ http://images.google.ge/url?q=http://batmanapollo.ru/ http://images.google.de/url?q=http://batmanapollo.ru/ http://images.google.com.gh/url?q=http://batmanapollo.ru/ http://images.google.com.gi/url?q=http://batmanapollo.ru/ http://images.google.gr/url?q=http://batmanapollo.ru/ http://images.google.gl/url?q=http://batmanapollo.ru/ http://images.google.gp/url?q=http://batmanapollo.ru/ http://images.google.com.gt/url?q=http://batmanapollo.ru/ http://images.google.gg/url?q=http://batmanapollo.ru/ http://images.google.gy/url?q=http://batmanapollo.ru/ http://images.google.ht/url?q=http://batmanapollo.ru/ http://images.google.hn/url?q=http://batmanapollo.ru/ http://images.google.com.hk/url?q=http://batmanapollo.ru/ http://images.google.hu/url?q=http://batmanapollo.ru/ http://images.google.is/url?q=http://batmanapollo.ru/ http://images.google.co.in/url?q=http://batmanapollo.ru/ http://images.google.co.id/url?q=http://batmanapollo.ru/ http://images.google.iq/url?q=http://batmanapollo.ru/ http://images.google.ie/url?q=http://batmanapollo.ru/ http://images.google.co.im/url?q=http://batmanapollo.ru/ http://images.google.co.il/url?q=http://batmanapollo.ru/ http://images.google.it/url?q=http://batmanapollo.ru/ http://images.google.ci/url?q=http://batmanapollo.ru/ http://images.google.com.jm/url?q=http://batmanapollo.ru/ http://images.google.co.jp/url?q=http://batmanapollo.ru/ http://images.google.co.je/url?q=http://batmanapollo.ru/ http://images.google.jo/url?q=http://batmanapollo.ru/ http://images.google.kz/url?q=http://batmanapollo.ru/ http://images.google.co.ke/url?q=http://batmanapollo.ru/ http://images.google.ki/url?q=http://batmanapollo.ru/ http://images.google.com.kw/url?q=http://batmanapollo.ru/ http://images.google.com.kg/url?q=http://batmanapollo.ru/ http://images.google.la/url?q=http://batmanapollo.ru/ http://images.google.lv/url?q=http://batmanapollo.ru/ http://images.google.com.lb/url?q=http://batmanapollo.ru/ http://images.google.co.ls/url?q=http://batmanapollo.ru/ http://images.google.com.ly/url?q=http://batmanapollo.ru/ http://images.google.li/url?q=http://batmanapollo.ru/ http://images.google.lt/url?q=http://batmanapollo.ru/ http://images.google.lu/url?q=http://batmanapollo.ru/ http://images.google.mk/url?q=http://batmanapollo.ru/ http://images.google.mg/url?q=http://batmanapollo.ru/ http://images.google.mw/url?q=http://batmanapollo.ru/ http://images.google.com.my/url?q=http://batmanapollo.ru/ http://images.google.mv/url?q=http://batmanapollo.ru/ http://images.google.ml/url?q=http://batmanapollo.ru/ http://images.google.com.mt/url?q=http://batmanapollo.ru/ http://images.google.mu/url?q=http://batmanapollo.ru/ http://images.google.com.mx/url?q=http://batmanapollo.ru/ http://images.google.fm/url?q=http://batmanapollo.ru/ http://images.google.md/url?q=http://batmanapollo.ru/ http://images.google.mn/url?q=http://batmanapollo.ru/ http://images.google.me/url?q=http://batmanapollo.ru/ http://images.google.ms/url?q=http://batmanapollo.ru/ http://images.google.co.ma/url?q=http://batmanapollo.ru/ http://images.google.co.mz/url?q=http://batmanapollo.ru/ http://images.google.com.na/url?q=http://batmanapollo.ru/ http://images.google.nr/url?q=http://batmanapollo.ru/ http://images.google.com.np/url?q=http://batmanapollo.ru/ http://images.google.nl/url?q=http://batmanapollo.ru/ http://images.google.co.nz/url?q=http://batmanapollo.ru/ http://images.google.com.ni/url?q=http://batmanapollo.ru/ http://images.google.ne/url?q=http://batmanapollo.ru/ http://images.google.com.ng/url?q=http://batmanapollo.ru/ http://images.google.nu/url?q=http://batmanapollo.ru/ http://images.google.com.nf/url?q=http://batmanapollo.ru/ http://images.google.no/url?q=http://batmanapollo.ru/ http://images.google.com.om/url?q=http://batmanapollo.ru/ http://images.google.com.pk/url?q=http://batmanapollo.ru/ http://images.google.ps/url?q=http://batmanapollo.ru/ http://images.google.com.pa/url?q=http://batmanapollo.ru/ http://images.google.com.pg/url?q=http://batmanapollo.ru/ http://images.google.com.py/url?q=http://batmanapollo.ru/ http://images.google.com.pe/url?q=http://batmanapollo.ru/ http://images.google.com.ph/url?q=http://batmanapollo.ru/ http://images.google.pn/url?q=http://batmanapollo.ru/ http://images.google.pl/url?q=http://batmanapollo.ru/ http://images.google.pt/url?q=http://batmanapollo.ru/ http://images.google.com.pr/url?q=http://batmanapollo.ru/ http://images.google.com.qa/url?q=http://batmanapollo.ru/ http://images.google.ro/url?q=http://batmanapollo.ru/ http://images.google.ru/url?q=http://batmanapollo.ru/ http://images.google.rw/url?q=http://batmanapollo.ru/ http://images.google.sh/url?q=http://batmanapollo.ru/ http://images.google.ws/url?q=http://batmanapollo.ru/ http://images.google.sm/url?q=http://batmanapollo.ru/ http://images.google.st/url?q=http://batmanapollo.ru/ http://images.google.com.sa/url?q=http://batmanapollo.ru/ http://images.google.sn/url?q=http://batmanapollo.ru/ http://images.google.rs/url?q=http://batmanapollo.ru/ http://images.google.sc/url?q=http://batmanapollo.ru/ http://images.google.com.sl/url?q=http://batmanapollo.ru/ http://images.google.com.sg/url?q=http://batmanapollo.ru/ http://images.google.sk/url?q=http://batmanapollo.ru/ http://images.google.si/url?q=http://batmanapollo.ru/ http://images.google.com.sb/url?q=http://batmanapollo.ru/ http://images.google.so/url?q=http://batmanapollo.ru/ http://images.google.co.za/url?q=http://batmanapollo.ru/ http://images.google.co.kr/url?q=http://batmanapollo.ru/ http://images.google.es/url?q=http://batmanapollo.ru/ http://images.google.lk/url?q=http://batmanapollo.ru/ http://images.google.com.vc/url?q=http://batmanapollo.ru/ http://images.google.sr/url?q=http://batmanapollo.ru/ http://images.google.se/url?q=http://batmanapollo.ru/ http://images.google.ch/url?q=http://batmanapollo.ru/ http://images.google.com.tw/url?q=http://batmanapollo.ru/ http://images.google.com.tj/url?q=http://batmanapollo.ru/ http://images.google.co.tz/url?q=http://batmanapollo.ru/ http://images.google.co.th/url?q=http://batmanapollo.ru/ http://images.google.tl/url?q=http://batmanapollo.ru/ http://images.google.tg/url?q=http://batmanapollo.ru/ http://images.google.tk/url?q=http://batmanapollo.ru/ http://images.google.to/url?q=http://batmanapollo.ru/ http://images.google.tt/url?q=http://batmanapollo.ru/ http://images.google.tn/url?q=http://batmanapollo.ru/ http://images.google.com.tr/url?q=http://batmanapollo.ru/ http://images.google.tm/url?q=http://batmanapollo.ru/ http://images.google.co.ug/url?q=http://batmanapollo.ru/ http://images.google.com.ua/url?q=http://batmanapollo.ru/ http://images.google.ae/url?q=http://batmanapollo.ru/ http://images.google.co.uk/url?q=http://batmanapollo.ru/ http://images.google.com/url?q=http://batmanapollo.ru/ http://images.google.com.uy/url?q=http://batmanapollo.ru/ http://images.google.co.uz/url?q=http://batmanapollo.ru/ http://images.google.vu/url?q=http://batmanapollo.ru/ http://images.google.co.ve/url?q=http://batmanapollo.ru/ http://images.google.com.vn/url?q=http://batmanapollo.ru/ http://images.google.co.vi/url?q=http://batmanapollo.ru/ http://images.google.co.zm/url?q=http://batmanapollo.ru/ http://images.google.co.zw/url?q=http://batmanapollo.ru/

Robby, 22-09-2021

смотреть сериал чернобыль отчуждения

Kendra, 23-09-2021

Психолог,Психолог онлайн. Психолог онлайн Психолог Онлайн. Консультация психолога онлайн. Консультация психолога онлайн. Консультация по Skype. Психотерапия онлайн! Услуги аналитического психолога, психотерапевта.

Emely, 24-09-2021

Системно-семейные расстановки. Духовные расстановки Bert Hellinger. Расстановки по Хеллингеру. Системные перестановки. Системные расстановки. Системные-расстановки.

Carmelo, 25-09-2021

Смотреть фильмы онлайн в хорошем качестве Пацанки 6 сезон 3 серия 50 лучших фильмов первой половины 2021 года

Sherlene, 01-10-2021

Смотреть фильмы онлайн в хорошем качестве 1080p кино форсаж 9 смотреть онлайн списки лучших фильмов с рейтингом и отзывами

“İnformatika terminlərinin izahlı lüğəti” nəşr olunub

Azərbaycan Milli Elmlər Akademiyasının (AMEA) İnformasiya Texnologiyaları İnstitutunun böyük elmi işçisi İsmayıl Calallının (Sadıqov) “İnformatika terminlərinin izahlı lüğəti” nəşr olunub.

İnstitutdan AZƏRTAC-a bildirilib ki, Azərbaycan dilinin qorunması və informasiya-kommunikasiya texnologiyaları (İKT) üzrə milli terminologiyanın yaradılması sahəsində böyük əhəmiyyət daşıyan, çoxillik gərgin araşdırmaların nəticəsi olan kitabın elmi redaktoru AMEA-nın akademik-katibi, İnformasiya Texnologiyaları İnstitutunun direktoru, akademik Rasim Əliquliyevdir.

Ensiklopedik nəşr informasiya texnologiyalarının müxtəlif sahələrini – proqram təminatı, aparat vasitələri, şəbəkələr, verilənlərin saxlanması, qrafika, oyunlar, informasiyanın emalı, internet, tarix, jarqon ifadələr, təşkilatlar, proqramlaşdırma və standartlara dair terminləri əhatə edir.

Kitabda proqram və aparat təminatına aid sənədlərdə, bu məhsulların reklamlarında, mətbuatda, televiziyada, kompüterə dair kitab və xüsusi jurnallarda rast gəlinən terminlərin izahı verilib. Lüğətə kompüter sənayesi, proqram mühəndisliyi kimi xüsusi sahələr üzrə terminlər də daxil edilib.

Beş minədək terminin toplandığı lüğətdə ədədlər və xüsusi simvollarla başlayan terminlər ASCII kodlarına uyğun sıralanıb. Lüğətdəki məqalələr iki qrupa ayrılır: terminlərin tam təsviri olan əsas məqalələr və onların sinonimləri olan istinad məqalələri. Bəzi məqalələr uyğun şəkil, sxem, diaqram və ya cədvəllərlə müşayiət olunub.

Məqalələr ingilis dilindəki terminlərə uyğun sıralandığından Azərbaycan, rus və ya türk dilində hər hansı termini tapmaq üçün kitabın sonunda Azərbaycanca-ingiliscə, türkcə-ingiliscə və rusca-ingiliscə terminlər sözlüyü verilib. Bu üç dildən hər hansı birində verilmiş termini əvvəlcə uyğun sözlükdə tapmaq, sonra isə həmin sözün ingiliscə qarşılığına görə onu lüğətdə axtarmaq lazımdır.

Kitab müəllimlər, tələbələr, elmi tədqiqatçılar, İKT mütəxəssisləri, bütövlükdə, informasiya cəmiyyətinin üzvləri üçün nəzərdə tutulub.

К 70-летию Фортрана. Историческая справка. Часть I

Когда умрёт последний программист на $(вашем любимом языке), его тело отвезут на кладбище на катафалке, конструкция которого будет рассчитана на Фортране, а счёт на организацию похорон сформирует программа, написанная на Коболе (Старинная американская мудрость).

В 2023 году исполняется 70 лет с того момента, как Джон Бэкус, сотрудник IBM, убедил начальство утвердить проект первого в мире языка программирования высокого уровня. Как настоящий уважающий себя программист того времени, Бэкус занимался расчётом траекторий баллистических ракет, и его очень раздражало писать такие вещи на ассемблере, а тем более – руководить разработкой таких вещей на ассемблере. В итоге команда из 10 программистов под руководством Бэкуса разработала язык Фортран и первый компилятор для машины IBM 704, представив первые результаты в 1954 году и затратив на разработку 18 человеко-лет. Попутно для формализованного описания синтаксиса Фортрана была разработка ставшая классической форма Бэкуса-Наура (БНФ).

Условно эволюцию языка Фортран можно разделить на классический период (Фортран I – Фортран IV), когда ведущую роль в разработке занимала фирма IBM, язык абсолютно доминировал среди программистов (особенно в США) и сохранял значительную преемственность с самой первой версией; и современный период (Фортран 90 – Фортран 2018), когда разработка велась в основном ISO, синтаксис и семантика языка были значительно осовременены, но, несмотря на это, язык был уже вытеснен на периферию инструментальных средств. Версия Фортран 77, не получившая широкого распространения вследствие доминирования Фортрана IV, занимает промежуточное положение между этими периодами.

Фортран I

Первая версия языка Фортран (которую условно можно было бы назвать Фортран I или Фортран 54) не слишком сильно отличалась от макроассемблера. Основным отличием была возможность записывать арифметические выражения так, как это сейчас общепринято в программировании, то есть похоже на математические формулы (собственно, название Фортран расшифровывается как Формульный транслятор).

Программа на Фортране I записывалась в виде одного монолитного модуля. Всего было реализовано 32 оператора, среди них такие управляющие конструкции, как GOTO (безусловный переход на метку или переход на метку, записанную в значение переменной), цикл DO с меткой конца цикла и арифметический IF (выполнявший переход на одну из трёх меток в зависимости от знака указанного в нём арифметического выражения – отрицательное, ноль или положительное). Также в Фортране I были специальные формы оператора IF для проверки различных флажков процессора IBM 704. Фортран I сразу же включал различные формы операторов форматного и бесформатного ввода-вывода, в том числе специальные операторы для управления магнитной лентой и магнитным барабаном.

Всё распределение памяти в классическом Фортране было статическим. Допускались простые целочисленные и вещественные переменные и массивы.

В ранних версиях Фортрана тип переменной определялся строго по её имени. Если имя начиналось с букв I,J,K,L,M,N, то переменная была целой, иначе – вещественной. При этом в целочисленных и вещественных переменных также можно было содержать значения меток (т.е. адресов) и строк символов фиксированной длины, совпадающих с базовым типом по объёму памяти. Массивы в Фортране I могли иметь до 3 измерений, а их размерность задавалась отдельным оператором DIMENSION (потерявшим популярность, но дошедшим до наших дней), не связанным с определением типа.

Очень долгое время, весь классический период, строки символов находились в Фортране на таком положении бедного родственника, не имея даже собственного типа переменных, не говоря о произвольной длине. Строковые значения записывались в виде так называемых “холлеритовых констант”, имевших вид длинаHсимволы, например, 5HALPHA . Интересной особенностью Фортрана является то, что холлеритовы (и позднее шестнадцатиричные) константы считаются не имеющими типа. Это просто заполненные области памяти машины, которые принимают тип по способу своего использования. Поскольку классический Фортран разрабатывался в то время, когда байтовая организация памяти сначала не была изобретена, а потом не имела повсеместного использования, то холлеритовы константы не имели определённого языком размера в памяти, их длина в словах зависела от реализации. Например, константа 5HALPHA могла занимать 30 бит в 6-битовой кодировке в одном 48-битовом слове на одной машине (и тогда могла храниться в одной целой или вещественной переменной), либо 40 бит в 8-битной кодировке в двух 32-битовых словах на другой машине (и тогда могла храниться в массиве из двух целых или вещественных чисел).

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

Так как всё управление ходом вычислений в раннем Фортране было основано на метках и их использовании в различных операторах, то текст программы, как правило, представлял собой классические логические спагетти. От этого недостатка удалось уйти только к концу 20 века. Википедия приводит следующий пример программы на Фортране II, который также мог бы относиться и к Фортрану I:

C AREA OF A TRIANGLE WITH A STANDARD SQUARE ROOT FUNCTION C INPUT - TAPE READER UNIT 5, INTEGER INPUT C OUTPUT - LINE PRINTER UNIT 6, REAL OUTPUT C INPUT ERROR DISPLAY ERROR OUTPUT CODE 1 IN JOB CONTROL LISTING READ INPUT TAPE 5, 501, IA, IB, IC 501 FORMAT (3I5) C IA, IB, AND IC MAY NOT BE NEGATIVE OR ZERO C FURTHERMORE, THE SUM OF TWO SIDES OF A TRIANGLE C MUST BE GREATER THAN THE THIRD SIDE, SO WE CHECK FOR THAT, TOO IF (IA) 777, 777, 701 701 IF (IB) 777, 777, 702 702 IF (IC) 777, 777, 703 703 IF (IA+IB-IC) 777, 777, 704 704 IF (IA+IC-IB) 777, 777, 705 705 IF (IB+IC-IA) 777, 777, 799 777 STOP 1 C USING HERON'S FORMULA WE CALCULATE THE C AREA OF THE TRIANGLE 799 S = FLOATF (IA + IB + IC) / 2.0 AREA = SQRTF( S * (S - FLOATF(IA)) * (S - FLOATF(IB)) * + (S - FLOATF(IC))) WRITE OUTPUT TAPE 6, 601, IA, IB, IC, AREA 601 FORMAT (4H A= ,I5,5H B= ,I5,5H C= ,I5,8H AREA= ,F10.2, + 13H SQUARE UNITS) STOP END

Очень интересной особенностью Фортрана I был оператор FREQUENCY . Он представлял собой подсказку для компилятора к арифметическому IF , и в этом операторе программист задавал априорные вероятности перехода по каждому из трёх возможных путей. Используя эти вероятности, компилятор при трансляции программы выполнял симуляцию методом Монте-Карло (!) и по её результатам принимал решение о наиболее эффективном размещении блоков кода в памяти машины, чтобы уменьшить число переходов.

Операторы Фортрана I размещались в фиксированных позициях перфокарт. Первые 5 позиций были отведены под метку или признак комментария, 6-я позиция – под признак продолжения, позиции с 7 по 72 – под текст оператора, с 73 по 80 – под произвольный текст (обычно там записывался номер перфокарты, чтобы можно было собрать рассыпавшуюся колоду). Такой фиксированный формат сохранялся до конца 20 века, хотя перфокарты перестали использоваться гораздо раньше, а неспособностью воспринимать текст дальше 72 позиции отличался только перфокарточный ввод собственно IBM 704. Пробелы в операторах игнорировались.

В своей статье об успехах разработки первого компилятора Фортрана Бэкус с соавторами утверждал, что после однодневного обучения языку новый программист оказывался в состоянии самостоятельно писать на нём программы, и, например, мог написать программу из 47 операторов Фортрана, которая компилировалась на IBM 704 шесть минут, превращалась при этом примерно в 1000 машинных инструкций, и со второго раза удавалось устранить ошибки и написать работающую программу, которую на ассемблере пришлось бы писать вручную три дня и неизвестно сколько отлаживать. В общем, высокоуровневое программирование показало свою перспективность. Делались даже такие утверждения, что использование Фортрана устраняет необходимость отладки, так как в программах и так сразу всё ясно (ещё раз посмотрев на код выше, можно в свете этого заявления составить представление об уровне способностей людей, которые тогда занимались программированием).

Фортран II

В 1958 году в IBM был реализован язык Фортран II, основным отличием которого от Фортрана I была реализация многомодульных программ в виде раздельно транслируемых главной программы, подпрограмм (процедур) и функций, между которыми могли передаваться параметры и общий блок памяти. Модули программы объединялись только на этапе компоновки, и никакого контроля за совпадением описаний параметров и общего блока в классическом Фортране не было. Если, например, подпрограмма или функция имела формальные параметры с одними типами и количеством, а вызывалась с другими, то получалось нехорошо. Так как к тому же все параметры в классическом Фортране передавались по ссылке, в том числе и константы, то таким образом можно было ненамеренно достигать очень интересных результатов, например, присваивать константам новые значения, передавая их вместо переменных.

Также в Фортран II были добавлены описания простых типов, в том числе новых типов COMPLEX и DOUBLE PRECISION . Но основным механизмом описания переменных в классическом Фортране всё равно оставалось описание по умолчанию, в зависимости от первой буквы имени.

Язык Фортран к тому времени пошёл на ура (хотя Дейкстра, разумеется, критиковал его, как и вообще всё, в чём он или его друзья не имели личного интереса) и заинтересовал других производителей компьютеров, помимо IBM. Стали появляться первые альтернативные реализации.

Довольно известный старый тест производительности Whetstone написан на языке Фортран II.

Фортран III

Версия языка Фортран III была внутренним продуктом IBM, который позволял использовать в программах ассемблерные вставки для IBM 704 (естественно, не понадобилось впоследствии) и использовать логические выражения и формат типа ” А ” для ввода-вывода строковых данных (понадобилось впоследствии). Компилятор Фортрана III использовался примерно в 20 экземплярах и не дошёл до стадии коммерческого релиза.

Фортран IV

Версия Фортран IV была реализована в IBM в 1962 году и с небольшими изменениями стандартизована ANSI в 1966. Впоследствии этот стандарт получил неофициальное название Фортран 66. Отчасти благодаря своим востребованным функциям, отчасти благодаря реализации имевшей огромное влияние серии машин IBM S/360 в 1964 году, Фортран IV получил ошеломительный успех и стал доминирующим языком программирования на следующую четверть века, вплоть до кризиса мейнфреймов. На Фортране IV были написаны все основные библиотеки физических и инженерных расчётов, многие из которых используются до сих пор. Если рассматривать причины использования Фортрана в настоящее время, то основной из них является совместимость с кодом, разработанным на Фортране IV.

Фортран IV унаследовал от Фортрана III логические выражения и позволил писать что-то хотя бы отчасти напоминающее современные условные операторы – логический IF с одним оператором в его теле, которым чаще всего по понятным причинам оказывался GOTO .

С логическими выражениями всё было не совсем прекрасно, потому что на клавиатурах того времени зачастую не было символов сравнения, и в Фортране IV было принято решение заменять их буквенными обозначениями в точках, такими как .GT. вместо “больше”, .LT. вместо “меньше”, .NE. вместо “не равно” и т.д.

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

Пример программы на Фортране IV:

 INTEGER*4 NOBJ, NUMTRA, NIS REAL*8 DT INTEGER*4 NP REAL*8 TOBJTR, OBJTR1, OBJTR2 NOBJ = 2 WRITE (1) NOBJ DO 2 I = 1, NOBJ NUMTRA = I * 2 NIS = I * 2 + 10 WRITE (1) NUMTRA, NIS DT = 1E-4 NP = 2 WRITE (1) DT, NP K = NUMTRA / 2 DO 1 J = 1, K TOBJTR = 100. + J OBJTR1 = .11 OBJTR2 = .12 WRITE (1) TOBJTR, OBJTR1 IF (J.NE.K) WRITE (1) TOBJTR, OBJTR2 1 CONTINUE 2 CONTINUE STOP END

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

Вместе с Фортраном развивались теория и практика компиляции, что позволило создавать очень сложные оптимизирующие компиляторы. Например, уже для IBM 1401 был реализован 63-проходный компилятор.

Вершиной изысканий IBM являлся оптимизирующий компилятор FORTRAN IV уровня H для OS/360 и совместимых систем. Компилятор FORTRAN IV (H) был настолько хорош, что в дальнейшем программисты систем IBM практически проигнорировали появление компилятора Фортрана 77 со значительно более удобным языком, так как код, порождаемый старым компилятором, был эффективнее. Аналогичная ситуация складывалась и у других производителей.

Наиболее вычислительно производительные компьютеры в то время выпускала фирма CDC (их главный конструктор, Сеймур Крей, впоследствии организовал собственную фирму). Для компьютеров CDC был разработан очень мощный компилятор Фортрана 66, получивший огромную популярность среди физиков во всём мире (этот компилятор в CDC пытались назвать FORTRAN V, чтобы выглядеть превзошедшими IBM на поколение, но название не прижилось). Для советской машины БЭСМ-6, на архитектуру которой в целом оказала значительное влияние CDC, был реализован компилятор, полностью совместимый с CDC FORTRAN.

В целом, любая машина того периода, претендующая на проведение расчётов, должна была иметь хороший компилятор Фортрана IV. И даже многие не претендующие на такое машины, например, 8-разрядный домашний компьютер Apple II, имели компиляторы Фортрана.

Очевидным производным от Фортрана IV является классический Бейсик семидесятых-восьмидесятых годов (с номерами строк).

Фортран IV имел развитую систему ввода-вывода, но характерную для своего времени проблему: внешнюю привязку файлов. Поскольку в то время файловые системы в современном виде ещё не были изобретены, то программы на Фортране IV работают с файлами просто по номерам. Вопрос о том, как из этого номера получается реальное имя (если оно есть) и размещение файла, никак не регулируется языком. На практике, операционные системы шестидесятых годов обеспечивали привязку специальными операторами языка управления заданиями, которые исполнялись операционной системой до запуска фортрановской программы. Этими операторами задавалось, например, что фортрановский файл номер 6 привязан к системному принтеру, а файл номер 1 привязан к определённой области на диске. Некоторые поздние реализации обеспечивали привязку файлов путём нестандартного для того времени оператора OPEN .

Фортран 77

К 70-м годам фирма IBM несколько охладела к Фортрану, который пыталась заменить разработанным ей более совершенным языком PL/I, включающим все возможности Фортрана, Кобола, Алгола и многое сверх того. Некоторые программисты действительно перешли на PL/I, но многие, особенно среди учёных, не занимающихся программированием профессионально, продолжали программировать на Фортране IV. У них было три аргумента против PL/I: Фортран IV – простой для изучения язык, на Фортране IV написано много кода и Фортран IV имеет более эффективный компилятор.

На фоне этой возни, созданный в ANSI комитет X3J3, с 1966 года занимавшийся Фортраном, разработал новый стандарт Фортран 77. Это был более продвинутый язык, чем Фортран 66, который стандартизовал многие расширения IBM, имевшиеся в Фортране IV, но не вошедшие в стандарт Фортран 66, а сверх того Фортран 77 включал: символьный тип, блочный оператор IF , операторы OPEN и CLOSE , оператор PARAMETER для констант и ещё разное по мелочи. Также стандартом Фортран 77 впервые были запрещены выход за границу массива и переход оператором GOTO внутрь цикла (из чего можно сделать вывод, какие не омрачённые условностями нравы царили в программировании до того).

IBM и другие фирмы реализовали компиляторы Фортрана 77 (причём в компиляторе IBM даже предусматривалась опциональная возможность уйти от синтаксиса с фиксированными позициями).

В 1978 году американские военные выкатили свой стандарт MIL-STD-1753, стандартизующий расширения Фортрана 77, сделанные компьютерными фирмами, в основном CDC и IBM. Среди этих расширений был структурный оператор DO , заканчивавшийся операторной скобкой END DO , оператор DO WHILE , операторы CYCLE и EXIT для управления выполнением цикла и оператор IMPLICIT NONE для отмены неявного описания переменных по первой букве. Всё это можно было рассматривать, как начало облагораживающего влияния на Фортран языка PL/I.

Пример программы на Фортране 77 по военному стандарту:

* This program computes the prime numbers between 1 and 10000 * using the Sieve of Eratosthenes algorithm. IMPLICIT NONE INTEGER UPBOUND PARAMETER (UPBOUND=10000) INTEGER I, K, PRIMES LOGICAL*1 NUMBERS(2:UPBOUND) CHARACTER*11 FORM PARAMETER (FORM='(A,I5,A,I5)') DO I = 2, UPBOUND NUMBERS(I) = .TRUE. ENDDO PRIMES = 0 DO I = 2, UPBOUND IF( NUMBERS( I ) )THEN PRIMES = PRIMES + 1 DO K = I + I, UPBOUND, I NUMBERS( K ) = .FALSE. ENDDO ENDIF ENDDO PRINT FORM, 'The Number of Primes between 1 and ', UPBOUND, 1 ' are: ', PRIMES END

Однако, ни гражданский, ни военный стандарт Фортрана 77 не был особенно востребован за пределами преподавания в университетах. Как можно легко догадаться, программисты на Фортране выдвигали три аргумента против Фортрана 77: Фортран IV – простой для изучения язык, на Фортране IV написано много кода и Фортран IV имеет более эффективный компилятор.

К 1990 году, когда автор впервые получил возможность зарабатывать на жизнь в том числе и Фортраном, это уже был очень архаичный язык, который, однако, имел значительную сферу применения. Стандарт Фортран 77 не получил значительного распространения, и в ходу среди реально программирующих людей был Фортран IV. Фиксированный формат записи, 6-символьные идентификаторы, только статические переменные, раздельная компиляция, отсутствие блочных операторов и лапша из меток и GOTO – всё это в любой нише программирования смотрелось довольно странно на фоне таких развитых языков того времени, как PL/I для мейнфреймов и Паскаль и Си для машин поменьше. При этом действительно существовала огромная масса унаследованного программного обеспечения, которое никому не хотелось менять. Фирма Microsoft, например, одними из первых реализовала компиляторы Фортрана для MS-DOS и позже для Windows. Со всем этим следовало что-то делать.

О современном периоде Фортрана (1991–2023) – в следующей статье.

Comments are closed, but trackbacks and pingbacks are open.