高血压检查什么项目| 什么是双飞| 尿道炎吃什么消炎药| 拉肚子引起的发烧吃什么药| 水泡型脚气用什么药| 结石什么东西不能吃| 结核是什么病| 包二奶什么意思| 对牛弹琴代表什么生肖| 一只眼睛肿了是什么原因| 9.22是什么星座| 收缩压是什么意思| 拔腋毛有什么危害| 女人梦见鬼是什么征兆| 世界上最长的蛇是什么| 环比增长什么意思| 梦见鞭炮是什么意思| 早上起来眼皮肿是什么原因| 胃炎吃什么食物好养胃| 苦瓜汤为什么要放黄豆| 粉刺是什么东西| 1999年属兔是什么命| 当兵有什么要求| 保持器是什么| 小孩几天不大便是什么原因怎么办| 手突然抽搐是什么原因| 马粟是什么| 谢娜什么星座| 七月十五日是什么节日| mdzz是什么意思| 屁股痒用什么药膏| 屁股右边痛是什么原因| 嗓子哑了吃什么药好| 粒细胞低是什么原因| 喝三七粉有什么好处| 宝宝消化不良吃什么药| 护理专业学什么| 什么是花青素| 白色虫子是什么虫图片| 脖子变粗了是什么原因| 山丘是什么意思| 吃什么对胃好养胃| 吃什么生发| acc是什么| 骨折和断了有什么区别| 人活在世上的意义是什么| 躯体化什么意思| 三庭五眼是什么意思| 什么是欲望| 子加一笔是什么字| 倒卖是什么意思| 小姨是什么关系| 年柱将星是什么意思| 什么是伤官见官| 怒发冲冠是什么意思| 垮掉是什么意思| 经常吃红枣有什么好处和坏处| 李世民字什么| 梨涡是什么意思| 为什么手指会发麻| 熬夜吃什么| five是什么意思| 职别是什么意思| 眼睛模糊流泪用什么药| 一动就出汗是什么原因| 胎儿为什么会喜欢臀位| 8.1是什么星座| 老师为什么叫老师| ahc是韩国什么档次| 子宫内膜粘连有什么症状| 浅笑是什么意思| 应无所住而生其心什么意思| toryburch什么牌子| 小便无力是什么原因| 23数字代表什么意思| 相位是什么| 胃不好不能吃什么| 荨麻疹吃什么中药| 送长辈什么礼物合适| 畏寒怕冷是什么原因| 桃酥为什么叫桃酥| 拉肚子吃什么药好得快| 让心归零是什么意思| 肠胃炎吃什么水果比较好| 卧槽是什么意思| 血氧低是什么原因| 姑息性化疗什么意思| 狐媚是什么意思| 独生子女证有什么用| 甲醛对人体有什么危害| 睡觉时间长是什么原因| 新生儿屁多是什么原因| 脉细是什么意思| 什么呢| 脉涩是什么意思| 男人皮肤黑穿什么颜色的衣服好看| 荔枝为什么上火| plt是什么意思| 雌二醇凝胶有什么作用| 内径是什么意思| 肝囊肿是什么原因引起的| 红花对什么| 什么姿势舒服| vb是什么意思| 梦见丢了一只鞋是什么意思| 被隐翅虫咬了用什么药| 晚的反义词是什么| 观音菩萨属什么生肖| 绮字五行属什么| 62岁属什么| 法本是什么意思| 碳13和碳14有什么区别| 骨穿刺主要检查什么病| 阳贵是什么意思| 鼻子上长痘是什么原因| 江小白加雪碧什么意思| 磨玻璃影是什么意思| 赵雅芝是什么脸型| 血糖高可以吃什么零食| 吃什么奶水多| 敏感水体是什么意思| 煮红枣为什么有白色的漂浮物| 寄生虫吃什么药可以杀死| 龚自珍是什么朝代的| 250为什么是骂人的话| no.是什么意思| 额头凉凉的是什么原因| 猪肝和什么菜搭配吃好| 断生是什么意思啊| 败火是什么意思| 碧文圆顶是什么意思| 医院属于什么性质的单位| 累了喝什么缓解疲劳| 太阳穴痛是什么原因| 微量蛋白尿高说明什么| 十二生肖本领强是什么生肖| 遇难是什么意思| 肠道湿热吃什么药| 刚怀孕有什么办法打掉| 奶茶色是什么颜色| 属兔的守护神是什么菩萨| 什么是月经不调| 常喝枸杞泡水有什么好处| 撤侨是什么意思| 六腑指的是什么| 什么的烤鸭| 减肥期间能吃什么水果| 什么是先兆流产| 炁读什么| 有肝病的人吃什么好| 脸长适合什么样的发型| 糖化血红蛋白高是什么意思| 三点水的字有什么| 教授相当于什么级别| 水弹是什么材料| 爸爸的爸爸的爸爸叫什么| 孔夫子搬家的歇后语是什么| 中秋节送什么好| 事业编有什么好处| 急性心肌炎有什么症状| 痛经吃什么药最有效| 冬瓜什么时候成熟| 什么是阳气| 大牙什么时候换| 1和0是什么意思| 扭伤挂什么科| 肠胃性感冒吃什么药| 生化流产是什么原因造成的| 长绒棉和全棉什么区别| 梦到女儿死了是什么意思| 什么是植发| 心功能iv级是什么意思| 愚人节是什么时候| 肚子上方中间疼是什么部位| 浠字五行属什么| 富三代是什么意思| 登革热是什么| 慢性肠胃炎吃什么药| 为什么无缘无故流鼻血| 为什么会射精| 糯米粉做什么好吃| 桀是什么意思| 梦见拖地是什么意思| 推头是什么意思| 梦见亲人哭是什么征兆| 过敏性紫癜不能吃什么| 不均质脂肪肝是什么意思| 气喘吁吁什么意思| 弱的部首是什么| 什么是可转债| 减肥早上吃什么比较好| 教科书是什么意思| 小孩腿疼膝盖疼可能是什么原因| 吃什么会放屁| jz是什么意思| 什么样的人| 西洋参什么时候吃效果最好| 慢性胃炎能吃什么水果| 血红蛋白高是什么原因| 肛门潮湿用什么药| 京ag6是什么意思| 大咖什么意思| 旻什么意思| 茄子吃多了有什么坏处| 什么是三伏贴| 水是什么意思| 为什么医者不自医| 女生过生日送什么礼物好| 月经下不来是什么原因| 跳空缺口是什么意思| 什么不导电| 圣诞节送什么好| 胎儿双顶径是什么意思| 绞丝旁一个奇念什么| 什么是甘油| 什么是手性碳原子| 头疼是什么原因引起的| 做梦梦见屎是什么意思| 小孩不说话什么原因| 夏季吃桃子有什么好处| 淡是什么意思| 蒙脱石是什么东西| 感叹号像什么| 睡醒嘴苦是什么原因| 草莓的花是什么颜色| izzue是什么牌子| 耳鸣吃什么药最好| 淳朴是什么意思| 揣测是什么意思| 钠低是什么原因造成的| 无中生有是什么生肖| 下放是什么意思| circles是什么意思| 夫妻是什么| 白雪什么什么| 面首什么意思| 吃完饭就想睡觉是什么原因| 半枝莲有什么功效| 胡萝卜什么时候种植| point是什么意思| 为什么英文怎么写| 甘耳朵旁什么字| 吃什么可以增加抵抗力和免疫力| 吃什么雌激素会增多| 产后42天复查都检查什么| 反犬旁和什么有关| 为什么乳头会疼| 梦见下大雪是什么意思| 南明为什么打不过清朝| 胃疼挂什么科室| 芜湖有什么大学| 庚午日是什么意思| 梦见狗吃屎是什么意思| 肺主治节是什么意思| 腻歪什么意思| 霸王花煲汤放什么材料| 感染是什么意思| 传媒公司是干什么的| 吃什么补气血最快| 医院dr检查是什么| 肝炎吃什么药| 66岁属什么| 吻合是什么意思| 现在是什么意思| 百度Vai al contenuto

马斯克真把SpaceX和特斯拉的Facebook页面删了

Da Wikipedia, l'enciclopedia libera.
Disambiguazione – Se stai cercando altri significati, vedi Algol.
ALGOL
linguaggio di programmazione
Data di origine1958
Utilizzolinguaggio general-purpose
ParadigmiProcedurale, Imperativa, Strutturata
TipizzazioneForte
Influenzato daFortran
Ha influenzatoSimula, C, CPL, 百度 今天我们要说的这个戏精,小编觉得奥斯卡欠他一个小金人......先造假,博取女方信任这位戏精的名字叫做段某星,为了接近女方,一人曾扮演了多个角色,以谈恋爱为名同时和五六名女性交往。

Pascal, Ada

ALGOL (abbreviazione di ALGOrithmic Language, ossia linguaggio algoritmico) è un linguaggio di programmazione sviluppato nel 1958. In un certo senso fu una reazione al Fortran; introdusse concetti fondamentali come lo stack dei record di attivazione e per certi versi si può considerare capostipite di una grande famiglia di linguaggi di notevole successo, dal Pascal al C.

Per una trentina d'anni è stato lo standard de facto con cui si rappresentavano gli algoritmi. L'ALGOL utilizza blocchi di istruzioni delimitati da coppie di begin ed end (come il Pascal); è stato il primo linguaggio ad usare questa sintassi molto utilizzata anche in didattica: frammenti di sintassi simile all'ALGOL sono tuttora utilizzati a volte come notazione per gli algoritmi chiamata Pidgin Algol.

Esistono tre versioni ufficiali di ALGOL: ALGOL 58, ALGOL 60 ed ALGOL 68. Di queste, solo ALGOL 60 si è diffusa (Niklaus Wirth basò il proprio Algol-W sull'ALGOL 60 prima di cominciare a sviluppare il Pascal). I nomi ufficiali delle versioni di ALGOL sono dovuti all'anno di pubblicazione. L'ALGOL 58 era conosciuto originariamente come IAL (l'acronimo di International Algorithmic Language.)

L'ALGOL è stato sviluppato congiuntamente da un comitato di informatici statunitense ed europeo. Esistono tre differenti sintassi: una sintassi di riferimento, una sintassi per la pubblicazione ed una per l'implementazione. Le differenti sintassi permisero di usare differenti parole chiave e convenzioni per i punti decimali (punti o virgole) a seconda della lingua utilizzata.

John Backus sviluppò il metodo di descrizione dei linguaggi di programmazione detto Backus normal form (BNF) specificatamente per l'ALGOL 58. è stato rivisto ed ampliato da Peter Naur nella Backus-Naur form per l'ALGOL 60. Sia Backus che Naur fecero parte del comitato che creò l'ALGOL 60. L'ALGOL 60 ispirò molti dei linguaggi che seguirono; la citazione canonica a questo proposito è dovuta a C. A. R. Hoare: "ALGOL fu un grande progresso sui suoi successori". La citazione completa è: "Qui c'è un linguaggio così avanzato che non è solo un miglioramento rispetto ai predecessori ma anche rispetto ai propri successori" ma l'aforisma è più conosciuto. A volte viene attribuito erroneamente a Edsger Dijkstra, conosciuto per le acute osservazioni, che collaborò all'implementazione del primo compilatore per ALGOL 60.

Il B5000 della Burroughs Corporation ed i suoi successori erano macchine a stack progettate per essere programmate mediante varianti estese dell'ALGOL 60, conosciute come Elliot ALGOL; effettivamente il loro sistema operativo chiamato MCP (Master Control Program) era scritto in Elliot ALGOL fin dal 1961. La Unisys Corporation vende ancora computer che discendono dal B5000, utilizzano l'MCP e supportano vari compilatori di Elliot ALGOL.

ALGOL 60 ufficialmente non possedeva istruzioni di I/O; le varie implementazioni necessariamente dovettero implementarle ma il modo variava da un'implementazione all'altra. ALGOL 68 offrì invece una completa libreria di istruzioni di transput (il termine usato da ALGOL 68 per indicare l'Input/Output).

L'ALGOL 60 era dotato di due modalità di passaggio dei parametri: il più comune è detto passaggio per valore, l'altro chiamato passaggio per nome non è mai stato adottato da nessun altro linguaggio di programmazione successivo. Il passaggio per nome aveva alcune limitazioni rispetto al passaggio per riferimento, facendone una caratteristica indesiderata nella progettazione del linguaggio. Per esempio, è impossibile con l'ALGOL 60 sviluppare una procedura che scambi i valori di due parametri se i parametri sono passati mediante una variabile intera ed un array indicizzato mediante la stessa variabile intera.

L'ALGOL 68 è stato definito mediante un formalismo chiamato grammatica a due livelli creato da Adriaan van Wijngaarden e dal quale ha preso il nome. Le grammatiche di Van Wijngaarden utilizzano una grammatica libera dal contesto per generare un insieme infinito di produzioni che permettono di riconoscere un particolare programma in ALGOL 68; sono in grado di esprimere il tipo di richieste che in molti altri standard di linguaggi di programmazione vanno sotto il nome di semantica e devono essere espresse in linguaggio naturale non ambiguo ed in seguito implementati nei compilatori come codice ad hoc collegato col parser del linguaggio formale.

Esempio di programma (ALGOL 60)

[modifica | modifica wikitesto]

Il modo in cui deve essere scritto il testo in grassetto dipende dalla particolare implementazione (es. 'INTEGER' in luogo di 'integer').

procedure Absmax(a) Size:(n, m) Result:(y) Subscripts:(i, k);
    value n, m; array a; integer n, m, i, k; real y;
comment The absolute greatest element of the matrix a, of size n by m
is transferred to y, and the subscripts of this element to i and k;
begin integer p, q;
    y := 0; i := k := 1;
    for p:=1 step 1 until n do
    for q:=1 step 1 until m do
        if abs(a[p, q]) > y then
            begin y := abs(a[p, q]);
            i := p; k := q
            end
end Absmax

Poiché ALGOL 60 non possiede istruzioni di I/O native, non esiste una versione di "Hello World" portabile. Il codice seguente può essere eseguito sull'implementazione di ALGOL per i mainframe Burroughs A-Series ed è tratta da questo sito. URL consultato il 6 novembre 2017 (archiviato dall'url originale il 4 febbraio 2010).:

BEGIN
FILE F (KIND=REMOTE);
EBCDIC ARRAY E [0:11];
REPLACE E BY "HELLO WORLD!";
WHILE TRUE DO
  BEGIN
  WRITE (F, *, E);
  END;
END.

Un esempio alternativo che utilizza le primitive di I/O dell'Elliott ALGOL è presentato qui di seguito. In realtà l'Elliott ALGOL usa caratteri differenti per 'inizio-stringa' e 'fine-stringa':

 program HiFolks;
 begin
    print ‘Hello world’;
 end;

Altri progetti

[modifica | modifica wikitesto]

Collegamenti esterni

[modifica | modifica wikitesto]
Controllo di autoritàLCCN (ENsh85003475 · BNE (ESXX541596 (data) · J9U (ENHE987007293928505171
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica
肠胃炎挂什么科 喝酒不能吃什么水果 摆渡人什么意思 min是什么单位 扁桃体挂什么科
冬天手脚冰凉是什么原因怎么调理 中医四诊指的是什么 血痣是什么原因引起的 可甜可盐什么意思 高血压是什么
tao是什么意思 自渎是什么意思 高血压1级是什么意思 翻车了是什么意思 fov是什么
螳螂吃什么 梦到自己头发白了是什么意思 鸦片鱼是什么鱼 鞑靼是什么意思 scc是什么检查项目
裘是什么意思hcv8jop6ns8r.cn 平顶山为什么叫平顶山zsyouku.com 中秋节送什么hcv9jop6ns7r.cn 血糖高有什么影响hcv9jop0ns3r.cn 眉心长痘痘什么原因xscnpatent.com
纳尼是什么意思hcv8jop3ns7r.cn 菠菜不能和什么食物一起吃hcv7jop5ns1r.cn 荨麻疹为什么晚上起hcv8jop2ns2r.cn 黄精和什么搭配补肾效果最好hcv8jop4ns9r.cn 红斑狼疮是一种什么病hcv9jop2ns2r.cn
梨状肌综合征吃什么药hcv8jop8ns7r.cn 向日葵是什么hcv8jop0ns4r.cn 兰芝属于什么档次bysq.com 2008年出生的属什么hcv8jop0ns1r.cn 学子是什么意思hcv7jop6ns4r.cn
述说是什么意思sscsqa.com 怀孕抽烟对孩子有什么影响hcv9jop3ns3r.cn 11月23日是什么星座hcv9jop2ns1r.cn 检查肝肾功能挂什么科hcv9jop2ns7r.cn 金字旁加各念什么hcv9jop7ns0r.cn
百度