Lecture. Matematika at software para sa Navy ACS. Paglalarawan ng organisasyon at legal na suporta

    Pangkalahatang matematika at software ACS.

    Espesyal na mathematical at ACS software

Layunin ng pag-aaral: Pamilyar ang iyong sarili sa mga prinsipyo ng pagbuo ng pangunahing bahagi ng matematika at software ng automated control system ng Navy.

Panitikan:

    V.F.

    Shpak Fundamentals ng control automation.

    Bahagi 1, pp. 145-162. Petrodvorets, VMIRE, 1998

N.F.

Mga direktor at iba pa. Automation ng kontrol at komunikasyon sa Navy. pp. 118-121. St. Petersburg Elmore, 2001.

CM. Dotsenko et al Pinag-isang impormasyon at functional space ng Navy: mula sa ideya hanggang sa pagpapatupad. Pahina 221-268. St. Petersburg, NIKA, 2003 1. Pangkalahatang mathematical at computer software.

Ang matematika at software (MSS), kasama ang suporta sa impormasyon (IS), ay kabilang sa pinakamahalagang uri ng suporta para sa automated control system ng Navy. Ang paghihiwalay ng MPO at IO ay medyo may kondisyon. Ang suporta sa impormasyon ay nagbibigay sa gumagamit ng computer (tagagawa ng desisyon) ng impormasyon para sa paggawa ng mga desisyon. Binibigyang-daan ng matematika at software ang user na gawin ang mga kinakailangang kalkulasyon gamit ang impormasyong ibinigay ng software.

Ang pagkakaiba sa pagitan ng mathematical software at software ay puro teknolohikal. Una, nilikha ang mathematical software (MS), at pagkatapos ay ipinatupad ito sa software (SW). Kasabay nito, ang parehong uri ng seguridad ay may karapatan sa malayang pag-iral. Ang isang partikular na MO ay maaaring may ilang bersyon ng software para sa iba't ibang uri ng mga computer. Gayunpaman, sa

kani-kanina lang Ang konsepto ng "mathematical at software" ay nag-ugat, na tumutukoy sa isang solong uri ng software. Ayon sa kanilang mga tungkulin, ang mga MPO ay nahahati sa pangkalahatan (OMPO) at espesyal (SMPO). Sa turn, ang OMPO ay ipinakita sa anyo ng pangkalahatang mathematical software (GMS) at pangkalahatang software (GSO), at SMPO - sa anyo ng espesyal na mathematical software (SMO) at espesyal na software (SPO).

Ang pangkalahatang mathematical na suporta ng isang automated control system ay isang set ng mga paglalarawan at algorithm na idinisenyo upang ayusin at magbigay ng:

epektibong paggana

Ang General ACS software ay isang set ng software tool na nagpapatupad ng mga algorithm ng OMO.

Kasama sa OPO ang isang operating system, application program packages (APP) at isang set ng technological service programs (TPS).

Ang isang operating system ay nauunawaan bilang isang bahagi ng software na idinisenyo para sa pagpaplano at pag-aayos ng proseso ng pagpoproseso ng impormasyon, input-output at pamamahala ng data, paglalaan ng mapagkukunan, paghahanda at pag-debug ng mga programa at iba pang mga pantulong na operasyon. Alinsunod sa kahulugan, ang operating system ay nahahati sa dalawang bahagi: functional at teknolohikal.

Ang teknolohikal na bahagi ng operating system ay isang programming system, na kinabibilangan ng mga programming language, mga tagasalin, isang link editor, isang loader at iba pang mga tool para sa paghahanda at pag-debug ng open source software. Bukod dito, ang mga programming language ay inuri bilang linguistic na suporta para sa mga awtomatikong control system.

Para sa malalaking computer (ES-1045, ES-1046, atbp.), ang EC OS at EC SVM operating system na naglalaman ng mga multilingual programming system ay malawakang ginagamit. Halimbawa, sa operating environment ng CVM EC, maaari kang lumikha ng mga produkto ng software sa mga procedural na wika PL-1, FORTRAN IV, PASCAL, atbp.

Sa modernong mga personal na computer, ang mga programming system ay hindi isang katangian ng operating system (OS). Ang mga ito ay inisyu sa anyo ng magkahiwalay na PPP at inuri ayon sa programming language. Halimbawa, ang mga kasalukuyang kilalang sistema programming ng DELPHI, Visual C, Visual Basic, atbp.

Pinapalawak ng mga application package ang mga kakayahan ng OS at nagbibigay ng mga karagdagang tool para sa pagbuo ng open source software. Alinsunod sa mga paraan, mayroong isang bilang ng mga teknolohiya para sa paglikha ng SMPO, na makikita sa ibaba.

Ang isang set ng mga maintenance program ay binubuo ng mga test program na idinisenyo para sa pag-set up, pag-troubleshoot at pag-troubleshoot ng mga computer.

Pangunahing Konsepto

Algorithm - Ito ay isang order (order o sistema ng mga order) na tumutukoy sa proseso ng pagbabago ng source data sa nais na resulta, na may mga sumusunod na katangian:

  • katiyakan, ibig sabihin, katumpakan at kalinawan para sa ehekutibo; dahil sa ari-arian na ito, ang proseso ng pagpapatupad ng algorithm ay mekanikal sa kalikasan;
  • pagiging epektibo, ibig sabihin, ang kakayahang humantong sa nais na resulta pagkatapos ng isang tiyak na bilang ng mga medyo simpleng hakbang;
  • laganap, ibig sabihin, pagiging angkop para sa paglutas ng anumang problema mula sa isang tiyak na klase ng mga problema.

Mula sa kahulugan ng isang algorithm ay malinaw na ang proseso ng pagpapatupad nito ay dapat na discrete, na binubuo ng magkahiwalay na mga hakbang, mga algorithmic na pagkilos. Ang kinakailangan para sa pagiging simple ng mga hakbang na ito ay dahil sa katotohanan na, na nagbibigay-daan para sa walang limitasyong pagiging kumplikado ng mga hakbang, aalisin namin ang konsepto ng isang algorithm ng anumang katiyakan. Ang pag-aari ng isang algorithm upang humantong sa isang solusyon sa isang tiyak na bilang ng mga hakbang ay tinatawag na potensyal na pagiging posible.

Ang mga likas na wika ay hindi gaanong ginagamit para sa pagbalangkas ng tiyak at tumpak na mga tagubilin. Samakatuwid, ang algorithm ay dapat na isang reseta sa isang pormal na wika.

Ang bawat computer ay binuo upang malutas ang pangunahing mga problema ng isang tiyak na klase. Sa pagsasaalang-alang na ito, kinakailangan na ang computer ay magbigay ng kakayahang magsagawa sa mga kinakailangang kumbinasyon ng isang tiyak na hanay ng mga operasyon, na kinuha bilang elementarya.

Mga pagpapatakbo ng makina sa elementarya ay naglalagay ng impormasyon sa isang RAM cell mula sa ilang iba pang storage device, naglalabas ng impormasyon mula sa cell, pati na rin ang anumang operasyon na: ipinapatupad sa hardware; may paunang data na mga resulta ng elementarya na pagpapatakbo ng makina at naayos sa isa o higit pang mga cell; nagbibigay ng resulta na naitala sa isang hiwalay na cell at available, ngunit hindi kinakailangan para sa paggamit bilang paunang data ng anuman elementarya na operasyon mga sasakyan; ay hindi maaaring ituring bilang isang kumplikado ng mas simpleng pagpapatakbo ng makina na nakakatugon sa tatlong nakaraang kundisyon.

Sistema ng pagpapatakbo ay ang kabuuan ng lahat ng pagpapatakbo ng makina na ibinigay para sa isang computer.

Koponan ay isang elementarya na pagtuturo na nagbibigay para sa pagganap ng isang partikular na grupo ng mga operasyon.

Pangunahing operasyon Ang mga computer ay aritmetika, lohikal, paglilipat, paglipat, kapag ang makina ay lumipat mula sa pagpapatupad ng isang utos patungo sa isa pa, pagkuha ng mga utos mula sa RAM at pagpapahinto sa makina ("stop"). Ang mga pangunahing operasyon sa impormasyon ng liham ay: pagtukoy sa haba ng isang salita; paglilipat ng isang salita mula sa isang lugar sa RAM patungo sa isa pa; pag-highlight ng isang tiyak na bahagi binigay na salita; pagsasama ng mga puwang sa pagitan ng mga salita; paghahati ng isang string ng mga salita sa mas maliliit na linya; paghahambing ng dalawang salita. Karaniwan ang mga nakalistang operasyon ay tinatawag na pag-edit.

Programming

Ang mga kompyuter ay karaniwang ginagamit upang malutas ang mga indibidwal na problema (na kabilang sa isang partikular na klase), o upang malutas ang isang kumplikadong magkakaugnay na mga problema ng iba't ibang klase.

Kapag nilulutas ang isang tiyak na problema (klase ng mga problema) sa isang computer, ang gawain ay nahahati sa mga sumusunod na yugto:

    mathematical formulation ng problema;

    pagbuo ng isang pamamaraan para sa paglutas nito;

    pagbuo ng isang algorithm para sa paglutas nito at pagsulat nito sa ilang programming language;

    programming;

    pag-debug ng programa sa makina;

    paghahanda ng paunang data, paglutas ng mga problema sa isang computer.

Ang inilarawan na hanay ng mga gawa ay tinatawag may problemang programming.

Kapag bumubuo ng isang sistema ng mga programa upang malutas ang isang hanay ng magkakaugnay na mga problema, ang inilarawan na pagkakasunud-sunod ng trabaho ay pinananatili sa panahon ng pagbuo ng bawat programa. Bilang karagdagan, lumilitaw ang isang bilang ng mga karagdagang yugto ng trabaho na may kaugnayan sa pangangailangan upang matiyak ang pagkakaisa ng sistema. Ang isang hanay ng mga gawa upang lumikha ng isang sistema ng mga programa para sa paglutas ng magkakaugnay na mga problema ay tinatawag programming ng system.

Mathematical formulation ng problema. Ang gawaing ito ay binubuo ng pagtukoy sa komposisyon at likas na katangian ng paunang data para sa paglutas ng problema, pagtukoy sa mga unang resulta, at pagtatala ng mga kondisyon ng problema gamit ang mathematical notation. Ang mathematical apparatus na ginamit sa mathematical formulation ng problema ay depende sa klase kung saan nabibilang ang problema.

Pagbuo ng isang paraan para sa paglutas ng problema. Ang isang diskarte sa solusyon ay itinuturing na binuo kapag ang mga dependency ng lahat ng nais na mga resulta sa mga paunang resulta ay itinatag at ang mga pamamaraan para sa pagkuha ng nais na mga resulta ay ipinahiwatig na maaaring ipatupad sa isang computer. Kung natuklasan na ang mga napiling pamamaraan ay hindi angkop sa proseso ng paglutas ng isang problema sa isang computer, kinakailangan na bumalik sa yugto ng pagbuo ng pamamaraan.

Pagbuo ng isang algorithm para sa paglutas ng problema. Ang isang algorithm para sa paglutas ng isang problema ay binuo batay sa pamamaraan para sa paglutas nito. Ang algorithm ay binuo sa isang wika ng mga paglalarawan sa matematika, at pagkatapos ay nakasulat sa isang algorithmic na wika mula sa mga tinatawag na programming language. Ang pagbuo ng isang algorithm para sa paglutas ng isang problema ay dapat isagawa na isinasaalang-alang ang mga katangian ng computer.

Kapag gumagamit ng isang computer upang malutas ang isang problema, kinakailangang isaalang-alang ang mga sumusunod na tampok:

  • isang malaki ngunit limitadong bilang ng mga digit sa mga larawan ng mga numero;
  • higit na bilis ng pagsasagawa ng mga operasyon sa mga numerong nakaimbak sa RAM;
  • medyo mababa ang bilis ng input data at output ng mga resulta;
  • medyo mababang bilis ng pagpapalitan ng numero sa pagitan ng RAM at mga panlabas na storage device;
  • medyo maliit na kapasidad ng RAM na may napakalaking kapasidad ng mga panlabas na storage device;
  • ang posibilidad ng random na pagkabigo ng makina at ang nagresultang pangangailangan na subaybayan ang operasyon nito.

Programming. Ang programming ay V pagre-record ng binuong algorithm sa isang programming language (halimbawa, sa tinatawag na ASSEMBLY language o ALGOL, FORTRAN, COBOL, PL/I), manu-manong ginanap, at kasunod na pagsasalin sa isang machine algorithmic na wika.

I-broadcast ay ang proseso ng katumbas na pagbabago ng isang algorithm na tinukoy sa isang programming language sa isang algorithm sa machine language. Ang prosesong ito ay isinasagawa gamit ang isang espesyal na programa na tinatawag na tagasalin.

Pag-debug ng isang programa sa isang makina. Ang pag-debug ng isang programa sa isang makina ay naglalayong alisin ang mga error sa programa at kasama ang: pagsubaybay sa programa; paghahanap at pagpapasiya ng nilalaman (diagnosis) ng mga pagkakamali; pagwawasto ng mga nakitang error.

Paghahanda ng paunang datos. Paglutas ng problema sa isang computer. Ang unang data ng gawain na ilalagay sa computer ay dapat munang ilipat mula sa mga form o dokumento patungo sa mga punched tape o punched card. Ang prosesong ito ay isinasagawa sa mga espesyal na punching device na nilagyan ng keyboard. SA Sa panahon ng proseso ng pagbubutas, ang mga error ay posible kapwa bilang isang resulta ng mga random na pagkabigo ng mga perforating device at bilang isang resulta ng mga error sa trabaho ng mga operator ng perforator. Ang lahat ng mga error na ipinakilala sa impormasyon sa panahon ng pagsuntok at pagpasok ay dapat itama.

Bilang isang tuntunin, alinman sa 80-column na PC o papel na PL ay ginagamit upang magpasok ng impormasyon sa isang computer. Ang mga malalaking makina ay mayroong pareho. Ang punch card ay naglalaman ng 12 linya, at samakatuwid ay posible ang 12 na suntok sa bawat column; sa transverse na direksyon ng punched tape, pinapayagan ang 5, 6, 7 at 8 na posisyon ng pagsuntok. Kaya, sa teoryang posible na gumamit ng alpabeto mula 2 5 =32 hanggang 2 12 =4096 na mga character, ngunit sa pagsasagawa ay bihirang higit sa 3 mga suntok sa isang punched card column, kaya, bilang panuntunan, ang alpabeto na ginamit ay naglalaman ng mula sa 40 sa 80 character. Kabilang sa mga kagamitan kompyuter mayroong isang independiyenteng aparato para sa pagpaparami sa papel na impormasyon na nakapaloob sa mga punched card at punched tape sa isang form na maginhawa para sa pagbabasa ng tao. Bilang resulta, nakukuha natin ang karaniwang tinatawag listahan, o printout.

Matapos ipasok ang mga programa at paunang data sa computer, ang problema ay awtomatikong nalutas.

Computer software

Software(MO) COMPUTER ay maaaring tukuyin bilang isang tiyak na koleksyon ng mga programa, na ang bawat isa ay maaaring praktikal na magamit ng gumagamit lamang o kasama ng ilang iba pang mga programa upang malutas ang mga problema, o upang magsagawa ng ilang trabaho na may kaugnayan sa programming, o upang lumikha ng isang tiyak na mode ng pagpapatakbo ng computer .

SA MO computer system maaaring kasama ang mga sumusunod na grupo ng mga programa:

    operating system ng mga programa;

    sistema ng mga tool sa programming;

    mga aplikasyon sa mga programa;

    sistema ng mga programa sa pagpapanatili ng software;

    isang sistema ng mga programa sa pagsubok na idinisenyo upang subaybayan ang kalusugan ng isang computer.

operating system naglalaman ng mga program na tumutukoy sa operating mode ng computer at nagpapalawak nito mga kakayahan sa pagpapatakbo. Kasama sa operating system ang isang bilang ng mga programa, kung saan ang mga pangunahing ay ang mga sumusunod:

dispatser- isang programa na nagbibigay tiyak na mode pagpapatakbo ng computer;

superbisor, o monitor,- isang programa na nagsisiguro sa operasyon na itinalaga sa makina ng isang operator ng tao sa loob ng balangkas ng mode na itinatag para dito;

isang bilang ng mga programa ng utility, tulad ng mga programa para sa pag-input ng source data, mga programa para sa pag-edit at pag-output ng mga resulta, isang loader - isang programa para sa pagpasok ng tinatawag na mga gumaganang programa sa RAM, ibig sabihin, mga programa sa paglutas ng problema, isang librarian - isang programa para sa pagpasok mga subroutine para sa pagsasagawa ng macrooperations at ang kanilang mga sarili ay macrooperations subroutines, isang programa para sa pakikipag-ugnayan sa pagitan ng operating system at isang human operator.

Upang patakbuhin ang operating system malaking halaga may mga kakayahan na mayroon ang mga makabagong makina (at wala sa mga unang henerasyong makina): ang pagkakaroon ng isang interrupt system, memory protection, command protection at interrupt masking.

Ang kakanyahan ng trabaho ng dispatcher ay ang pag-uuri niya ng anumang pagkagambala sa pagpapatakbo ng makina bilang taktikal, kung saan agad niyang inililipat ang kontrol at impormasyon tungkol sa pagkaantala sa superbisor, o bilang estratehiko. Sa huling kaso, siya mismo ang nagpapahintulot sa pagkagambala. Tatawagin nating konklusyon ang tekstong nauugnay sa reaksyong ito.

Ang superbisor ay nagpaplano, sa kahilingan ng isang tao na operator, ang pagkakasunud-sunod ng pagpapatupad ng programa at namamahagi ng mga magagamit na kagamitan sa computer sa kanila, nag-aayos ng kanilang pila at nagpapanatili ng kaayusan sa pila na ito. Ang mga pangunahing gawain na kinakaharap ng superbisor ay: pamamahala sa pag-unlad ng computer; pagpapanatili ng pakikipag-ugnayan sa isang tao na operator.

Mayroong iba't ibang mga mode ng pagpapatakbo ng computer, ang pagkakaloob nito ay isa sa mga pangunahing layunin ng dispatcher.

Ang isang bilang ng mga mode ay nauugnay sa paglutas ng mga problema na ipinakita sa anyo ng tinatawag na pakete ng trabaho Kasabay nito, ang buong pakete ay binibigyan ng impormasyon tungkol sa mga gawain na kasama dito at ang kanilang mga pakinabang sa bawat isa (priority system).

Ang pakete ng trabaho ay isinasagawa sa ilalim ng kontrol ng isang superbisor. Sa kasong ito, maaaring isagawa ang single-program, dual-program o multi-program na operasyon ng makina. Ang pagiging epektibo ng paggamit nito ay higit na nakasalalay sa kung paano pinagsama ang gawain sa isang pakete. Ang isang pakete ay itinuturing na mahusay na binubuo kung ang gitnang processor (arithmetic unit at control unit) ay hindi idle. Ang inilarawan na mga mode ay tinatawag mga batch mode. Mga modernong kompyuter Kasabay nito, pinapayagan nila ang sabay-sabay na pagpapatupad ng hanggang 16 na trabaho.

Mode ng pagbabahagi ng oras nailalarawan sa pamamagitan ng katotohanan na ito ay sabay na konektado sa computer malaking bilang malayong impormasyon input/output device na tinatawag na mga terminal. Kung sa batch operation ang mga user ay hindi pinapayagan sa control panel, pagkatapos ay sa time-sharing mode ang bawat isa sa kanila ay nakikipag-usap sa makina nang walang partisipasyon ng operator. Tinitiyak ng dispatcher na ang maliliit na bloke ng oras ay ibinibigay nang sunud-sunod sa lahat ng nakapila na user. Sa paglipas ng ilang segundo, nagsisilbi nang kaunti ang makina sa bawat user. Ang mode ng pagbabahagi ng oras ay maginhawa sa mga kaso kung saan ang pagpapatupad ng trabaho sa makina ay dapat maganap sa anyo ng isang dialogue sa pagitan ng computer at ng user. Nangyayari ito kapag nagde-debug ng mga programa sa isang computer, kapag nilulutas ang mga problema sa impormasyon gaya ng tanong at sagot.

Sistema ng software naglalaman ng isang bilang ng mga programa ng tagasalin para sa pagsasalin ng mga algorithm na tinukoy sa iba't ibang mga input programming language sa machine language. Karaniwan, ang isang programming tool system ay naglalaman ng mga tagasalin mula sa algorithmic na mga wika ng tatlong antas.

Ang proseso ng pagsasalin ng isang algorithm at ang proseso ng pagpapatupad nito sa pamamagitan ng isang makina ay maaaring pagsamahin sa isa sa dalawang paraan.

Ang unang paraan, tinatawag compilation, ay ang proseso ng pagpapatupad ng isang algorithm ng isang makina ay isinasagawa pagkatapos na ganap na makumpleto ang proseso ng pagsasalin nito. Ang pangalang "compilation" ay lumitaw dahil sa katotohanan na sa una ay nangangahulugan ito ng isang proseso ng pagsasalin batay sa pagsasama-sama sa isang buong pre-prepared na bahagi (subroutines) na tumutugma sa ilang bahagi ng algorithm na isinasalin. Kasunod nito, ang pangalang ito ay pinalawak sa kaso ng "dynamic" na pagsasalin, na hindi nauugnay sa paggamit ng mga pre-prepared na teksto.

Ang pangalawang paraan ng pagsasama-sama ng proseso ng pagsasalin at ang proseso ng pagpapatupad ng algorithm ay tinatawag mga interpretasyon. Ang pamamaraang ito ay binubuo sa katotohanan na ang mga indibidwal na bahagi ng algorithm ay ginanap kaagad pagkatapos ng pagsasalin, pagkatapos kung saan ang parehong pamamaraan ay isinasagawa sa iba pang mga bahagi ng algorithm, atbp.

Ito ay katangian ng compilation na ang compiler program na nagpapatupad nito ay hindi na kailangan sa panahon ng pagpapatupad ng algorithm at samakatuwid ay hindi matatagpuan sa RAM ng computer. Ang paggamit ng paraan ng interpretasyon ay nangangailangan ng pagkakaroon ng interpreter program sa RAM ng computer habang nilulutas ang problema.

Ang bawat pamamaraan ay may sariling mga merito, ngunit ang pamamaraan ng interpretasyon ay mas nababaluktot. Bilang karagdagan, pinapasimple nito ang gawain ng paglalaan ng memorya, bagaman nangangailangan ito ng maraming karagdagang pagkonsumo ng memorya upang maiimbak ang mismong programa ng interpreting.

Ang mga sistema ng programming para sa pinakabagong mga computer ay kadalasang nakabatay sa tinatawag na prinsipyo ng modularity. Mga module ay tinatawag na "mga piraso" ng mga algorithm na tinukoy sa wika ng executive system o sa input programming language, kung saan natutugunan ang mga sumusunod na kundisyon:

Ang "mga piraso" ng mga algorithm na tinukoy sa wika ng executive system ay dapat bigyan ng karagdagang impormasyon na sapat upang matiyak na, sa naaangkop na pagproseso, isang programa na tinukoy sa wika ng executive system ay maaaring tipunin mula sa kanila;

Ang mga "piraso" ng mga algorithm na tinukoy sa mga wika ng pag-input na programming ay dapat bigyan ng karagdagang impormasyon na sapat upang, sa naaangkop na pagproseso, maaari silang ma-convert sa mga module na tinukoy sa algorithmic na wika ng executive system.

Ang prinsipyo ng modularity namamalagi sa katotohanan na ang mga programa sa wika ng executive system ay binuo mula sa mga module. Ang mga module sa wika ng executive system ay maaaring maipon sa isang library. Pinapayagan ka ng modular na prinsipyo na gumamit ng mga module na pinagsama-sama sa iba't ibang mga wika kapag nag-assemble ng isang programa. algorithmic na mga wika. Ang kakayahang makaipon ng mga module at pagkatapos ay muling gamitin ang mga ito nang paulit-ulit na nakakatipid sa paggawa ng mga programmer.

Ang lahat ng software program ay dapat na mga elemento ng ilang library. Library ng mga karaniwang programa ay isang koleksyon ng mga pre-compiled na mga programa kung saan ang bawat programa ay binibigyan ng karagdagang impormasyon na nagpapakilala dito. Ang data tungkol sa lahat ng mga programa ay dapat na buod sa isang karaniwang talahanayan na tinatawag na katalogo. Dapat payagan ng direktoryo ang isang subroutine na matagpuan ayon sa pangalan nito at sa layunin nito.

Ang aklatan ay karaniwang nangongolekta ng mga espesyal na pinagsama-sama at espesyal na idinisenyong mga programa.

Maipapayo na gamitin ang nakalistang mga tool sa programming upang malutas ang iba't ibang mga gawain (mga problema). Kasabay nito, pinaniniwalaan na ang mga programa para sa mga indibidwal na gawain (mga problema) ay maaaring hindi masyadong "mabuti", ngunit ang kabuuang halaga ng programming at paglutas ng problema sa isang computer ay karaniwang mas mababa kaysa sa kapag bumubuo ng mas maraming "mahusay" na mga programa.

ACS software

ACS software ay isang sistema ng mga pamamaraan, pamamaraan at tool na nagbibigay-daan sa iyong epektibong bumuo ng mga programa ng solusyon sa isang computer mga tiyak na gawain ACS, kontrolin ang pagpapatakbo ng computer sa proseso ng paglutas ng mga problemang ito, subaybayan ang tamang operasyon ng computer.

Ang mga pangunahing probisyon na dapat sundin kapag gumagawa ng MO ACS ay ang mga sumusunod:

  • pagiging tugma at pagbabase ng ACS na binuo ng MO sa umiiral na MO computer;
  • focus ng mga napiling MO tool sa mga gawain ng automated control system;
  • sapat na iba't ibang mga tool sa automation programming;
  • ang kakayahang epektibong gumawa ng mga pagbabago sa mga programa sa trabaho;
  • ang posibilidad ng isang hindi malabo at komprehensibong paglalarawan ng mga algorithm;
  • ang kakayahang i-optimize ang pagpapatakbo ng mga pribadong programa;
  • modularity ng pagbuo ng programa.

Ang MO ACS ay nagsisilbing magbigay sa user ng malawak na hanay ng mga serbisyo sa teknolohiya ng programming. Maaari itong nahahati sa dalawang bahagi: pagguhit ng mga control program at pagguhit ng mga programa sa pagproseso.

Kontrolin ang mga programa isagawa ang paunang paglo-load ng RAM ng mga makina at kontrol sa pagpapatakbo ng automated na sistema ng kontrol, kabilang ang interrupt processing, pamamahagi ng channel work, pag-load ng mga programa mula sa library sa RAM. Ang mga control program ay nagbibigay ng multi-program na operasyon at nakikipag-usap sa operator.

Pagproseso ng mga programa isama ang isang programming automation system at mga programa sa serbisyo.

Programming automation system function ang mga sumusunod: pagre-record ng mga programa sa input programming language; pagsasalin ng mga programa sa panloob na wika ng computer; pagsasama-sama (pagsasama-sama) ng mga kinakailangang pagsasaayos (mga segment) mula sa mga karaniwang subroutine; mga programa sa pag-debug sa antas ng mga wika ng pag-input; pagsasaayos ng mga programa sa antas ng mga wikang input.

Ang mga pangunahing gawain ng mga programa ng serbisyo ay ang mga sumusunod: pagtatala ng mga programa sa silid-aklatan; pagbubukod ng mga programa mula sa aklatan; muling pagsusulat ng mga programa mula sa isang magnetic medium patungo sa isa pa, pag-print at pag-output ng mga programa sa punched media; tawag mga kinakailangang programa sa proseso ng pagtatrabaho sa RAM at pag-set up nito sa lokasyon nito.

Ang mga pangunahing bahagi ng MO ACS ay isang system dispatch program at isang library ng mga karaniwang gawain at karaniwang mga programa, na nilayon para sa pagproseso ng produksyon at pang-ekonomiyang impormasyon.

Programa ng pagpapadala ng system tinitiyak ang paggana ng mga awtomatikong sistema ng kontrol sa mode na tinutukoy ng mga aktibidad sa produksyon, pang-ekonomiya o administratibo.

Library ng mga karaniwang gawain, na magagamit sa MO computer ay isang transisyonal na hakbang tungo sa pagbuo ng isang library ng system na nakatuon sa mga proseso ng pagpoproseso ng impormasyon sa mga awtomatikong control system. System library dapat maglaman ng:

mga programa para sa pagpasok at pag-convert ng mga dokumento at iba pang nakasulat na mapagkukunan ng paunang data sa anyo ng computer;

mga programa para sa pag-aayos ng mga array ng machine na nailalarawan sa pamamagitan ng parehong malalaking volume at ang pagiging kumplikado ng kanilang istraktura, para sa epektibong paghahanap at pagkuha ng kinakailangang data mula sa mga array;

mga programa para sa pag-convert ng data sa pinakakatanggap-tanggap na anyo para sa mga tao (sa anyo ng mga graph, diagram, larawan) at pag-output ng mga ito sa mga panlabas na device.

Mga wika sa programming

Wika ng programming ay tinatawag na mga sign system na ginagamit upang ilarawan ang mga proseso ng paglutas ng mga problema sa isang computer. Sa kanilang likas na katangian, ang mga programming language ay nahahati sa tatlong grupo:

  1. pormal na algorithmic na mga wika;
  2. pormal na non-algorithmic programming language;
  3. hindi ganap na pormal na sistema ng pag-sign na ginagamit sa programming.

Mga pormal na wika sa programming. Ang pangkat ng mga wikang ito ay kinabibilangan ng: algorithmic na mga wika ng mga makina at operating system; mga wikang algorithmic na nakatuon sa makina; mga wikang algorithmic na nakatuon sa problema; unibersal na machine-independent na algorithmic na mga wika.

Mga wika ng operating system ay tinatawag na algorithmic na mga wika na nakikita ng mga complex na nabuo mula sa mga computer at isang dispatcher program na binuo para sa kanila (minsan ay tinatawag ding superbisor).

Ang pagbubuo ng mga programa nang direkta nang manu-mano sa wika ng isang makina o operating system ay kasalukuyang hindi ginagamit, dahil nangangailangan ito ng programmer na matandaan ang isang malaking bilang ng mga detalye, kung wala ito imposibleng bumuo ng isang programa mula sa mga utos.

Mga wikang algorithmic na nakatuon sa makina naglalaman ng mga nagpapahayag na paraan na ginagawang posible na ipahiwatig sa pag-record ng algorithm sa tulong ng kung ano ang teknikal na ibig sabihin ng ilang bahagi nito ay dapat isagawa at kung paano dapat gamitin ang mga storage device. Kasama sa mga machine-oriented programming language ang mga autocode at ilang wika na malapit sa kanilang mga kakayahan sa mga unibersal na algorithmic na wika, halimbawa ALMO.

Mga wikang algorithmic na nakatuon sa problema Ito ang mga wika na espesyal na idinisenyo upang ilarawan ang mga proseso ng paglutas ng mga problema ng isang partikular na makitid na klase, halimbawa, mga problema ng linear algebra, istatistika, mga problema sa pagproseso ng data, atbp. Sa partikular, ang COBOL ay kabilang sa mga wikang nakatuon sa problema.

Pangkalahatang machine-independent na algorithmic na mga wika angkop para sa paglikha ng mga algorithm para sa paglutas ng mga problema ng napakalawak na mga klase. Kasama sa mga wikang ito ang nabanggit na ALGOL, FORTRAN, PL/1.

Kabilang sa mga unibersal na machine-independent na algorithmic na wika, ang pagbubukod ay YAL. Ang layunin ng wikang ito ay hindi limitado sa pagiging isang programming language. Ang YALS ay ginagamit bilang unang yugto ng paglalarawan ng mga algorithm kapag ang programming sa machine language o ASSEMBLY na wika (operator programming method; isang algorithm na nakasulat sa YALS ay manu-manong isinalin sa machine language o ASSEMBLY na wika).

Ang talahanayan sa ibaba ay nagbibigay ng comparative data sa pagitan ng mga pormal na programming language.

Hindi ganap na pormal na sistema ng pag-sign. Ang mga wikang ito ay karaniwang ginagamit sa manual programming o sa paunang, manu-manong yugto ng computer-aided programming. Ang isang halimbawa nito ay isang flowchart ng programa. Ang isang diagram ng daloy ng programa ay isang pinalaki na paglalarawan ng programa, kung saan ang mga indibidwal na bahagi nito ay inilalarawan sa anyo ng "mga bloke" (mga parihaba, diamante, bilog, atbp.), Sa loob kung saan ang nilalaman ng mga bahaging ito ay nakasaad sa natural na wika ( halimbawa, sa Russian). Ang koneksyon sa pagitan ng mga bloke (mga bahagi ng programa) ay inilalarawan gamit ang mga linya na nagpapahiwatig ng paglipat ng kontrol. Maaaring may label ang mga linya upang ipahiwatig ang mga kondisyon kung saan nagaganap ang paglipat ng kontrol. Ang mga flowchart ay katulad ng mga algorithm na nakasulat sa LLS gamit ang mga generalised operator, ngunit naiiba sa mga ito dahil ang kahulugan ng mga block ay nakasaad sa natural, impormal na wika, samantalang sa LLS generalized operator ay binibigyan ng decoding sa eksaktong pormal na wika.

Sa kasalukuyan, higit sa 2000 iba't ibang mga algorithmic na wika at higit sa 700 mga lugar ng kanilang aplikasyon ay kilala para sa paglutas ng mga kaukulang problema sa isang computer.

Mayroong mga programming language ng mga sumusunod na antas:

    wika ng zero o mababang antas- code ng makina;

    wika sa unang antas - mnemonic code, o simbolikong coding na wika;

    pangalawang antas ng wika - autocode (macrocode);

    mga wika ng ikatlong antas (mas mataas) - mga wikang nakatuon sa problema.

Maipapayo na gumamit ng mga automated control system bilang mga input na wika, depende sa uri ng mga gawain. mga wikang nakatuon sa problema iba't ibang uri

Comparative data ng pormal na algorithmic programming language

Klase ng algorithmic programming language

Accounting para sa mga tampok ng computer

Mga katangian ng isang klase ng mga problema

Paraan ng programming

Kondisyon na pagtatasa ng kalidad ng programa

Mga wika ng makina

Mga wikang nakatuon sa makina

Bahagyang

Natutukoy ng mga katangian ng computer

Automated

Kasiya-siya

Mga wikang nakatuon sa problema

menor de edad

Automated

Kasiya-siya

Universal machine-independent na mga wika

Wala o napaka minor

Napakalawak

Automated

Mababa

(halimbawa, para sa pagsusuri - ALGOL, FORTRAN, atbp., para sa mga gawaing pang-ekonomiya- ALGEK, atbp., para sa mga gawaing pang-impormasyon - COBOL, SINTHOL, atbp.).

Tingnan natin ang ilan sa mga algorithmic programming language.

ALGOL-60. Ang pangalan ng wika ay nagmula sa mga salitang Ingles na Algorithmic Language. Ito ay binuo ng isang grupo ng mga siyentipiko mula sa iba't ibang bansa noong 1960 at naging laganap. Ang mga dahilan para sa tagumpay nito ay nakasalalay sa kalapitan nito sa ordinaryong wikang matematika, ang kaginhawaan ng paglalarawan ng isang malawak na klase ng mga problema, pagiging pandaigdigan at kumpletong kalayaan mula sa isang tiyak na computer, at mahigpit na pormalisasyon ng wika mula sa alpabeto hanggang sa pinaka kumplikadong mga konstruksyon.

Ang ALGOL-60 ay hindi lamang wikang unibersal programming, ngunit isa ring internasyonal na wika para sa paglalarawan ng mga algorithm.

Ang batayan para sa pagsulat ng mga algorithm sa wikang ALGOL-60 ay isang pagkakasunud-sunod ng mga operator na pinaghihiwalay ng simbolo na ";". Ang pagkakasunud-sunod ng mga operator na ito, na mga iisang aksyon sa wika, ay sinamahan ng isang pagkakasunud-sunod ng mga paglalarawan na nagbibigay sa tagapagsalin ng impormasyon tungkol sa mga kinakailangang katangian na ginagamit sa mga operator. Ang mga paglalarawan, halimbawa, ay nagbibigay ng impormasyon tungkol sa mga klase ng mga numero na ginagamit bilang mga variable na halaga, ang laki ng mga arrays ng mga numero, atbp. Ang ganitong kumbinasyon ng mga paglalarawan at operator sa wikang ito ay tinatawag na block.

Ang isang programa sa wikang ALGOL-60 ay isang bloke, o isang tambalang pahayag, na hindi naglalaman ng ibang pahayag sa loob at hindi gumagamit ng ibang pahayag na wala dito.

Ang mga computer center kung saan isinasagawa ang programming sa ALGOL ay dapat mag-ipon ng karanasan hindi sa anyo ng kumpletong mga programa ng ALGOL, ngunit sa anyo ng mga paglalarawan ng mga pamamaraan. Ito ay dahil sa ang katunayan na halos imposible na isama ang mga yari na programang ALGOL sa mga bagong programa, samantalang ang mga paglalarawan ng mga pamamaraan ay espesyal na idinisenyo para dito.

Sa USSR, ang ALGOL-60 ay naging laganap sa anyo ng ilan sa mga variant nito.

FORTRAN. Ang salitang FORTRAN ay nabuo mula sa dalawang salitang Ingles (Formula Translator). Isa sa mga pinakamahalagang katangian ng wikang FORTRAN ay medyo libre ito sa mga detalye ng isang partikular na computer. Ang FORTRAN ay isang machine-independent na programming language.

Malawak na mathematical software library ang naipon sa wikang ito, kabilang ang mga karaniwang (madalas na ginagamit) na mga programa at maraming mga espesyal na programa na ginagamit upang malutas ang mga partikular na problema.

Ang malawakang pagpapakilala ng FORTRAN sa pagsasanay sa programming ay dahil sa mga katangian nito, kung saan dapat itong pansinin, una, ang pagiging simple nito kumpara sa iba pang mga algorithmic na wika (halimbawa, ALGOL); pangalawa, dahil sa kawalan ng sobrang kumplikadong mga istruktura, ang mga isinaling programa ay mas mahusay kumpara sa mga programang nakasulat sa ibang mga wika; sa parehong oras, ang FORTRAN ay angkop para sa pagprograma ng karamihan sa mga computational algorithm;

pangatlo, ang FORTRAN ay may napakalakas na paraan para sa pagkonekta ng isang tao sa isang makina: ang impormasyong ginawa ng computer ay ipinakita sa isang form na pamilyar sa mga siyentipiko at inhinyero. At panghuli, pang-apat, ang FORTRAN ay angkop para sa epektibong paggamit panlabas mga kagamitan sa kompyuter.

Ang algorithm para sa paglutas ng problema, na isinulat gamit ang FORTRAN, ay binubuo ng isang pagkakasunud-sunod ng mga operator. Ang mga operator na ito ay maaaring may iba't ibang uri. Kung pinagsama-sama, ang mga operator na tumutukoy sa algorithm para sa paglutas ng problema ay bumubuo sa orihinal na programa. Matapos maisulat at ma-punch ang source program sa mga punch card, ito ay na-convert gamit ang isang FORTRAN translator sa isang gumaganang programa.

Ang unang pahayag ay ang header na pahayag, na mayroong form || PROGRAMa ||, kung saan ang a ay ang pangalan ng program, at ang huli ay ang end operator (operator || END ||) at isang set ng mga subroutine. Ang pangunahing programa at bawat subroutine ay naglo-localize ng mga label ng operator, pati na rin ang mga pangalan ng mga variable, array at iba pang dami, sa gayon ay nagbibigay-daan sa parehong mga label at identifier na magamit sa iba't ibang subroutine at sa pangunahing programa. Ang komunikasyon sa pagitan ng pangunahing programa at mga subroutine ay isinasagawa gamit ang naaangkop na mga pahayag sa pag-access.

Kapag bumubuo ng mga programa sa FORTRAN, inirerekumenda na sumunod sa sumusunod na pagkakasunud-sunod ng mga operator: 1) operator-header ng pangunahing programa (subroutine); 2) operator ng paglalarawan ng file; 3) implicit type setting operator; 4) tahasang uri ng operator, sizing operator, general area operator; 5) operator para sa pagtukoy ng katumbas; 6) operator-function, operator-procedure; 7) operator para sa pagtatakda ng format, executable operator (walang kondisyon, kondisyon, input, output); 8) end operator.

COBOL. Ang pangalan ng wika ay nagmula sa mga salitang Ingles na Common Business Oriented Language. Ang COBOL ay isang algorithmic na wika na nakatuon sa problema na idinisenyo upang ilarawan ang mga proseso ng paglutas ng problema at pagproseso ng data. Ang COBOL ay kasalukuyang ang tanging malawak na sinasalitang wika mataas na antas para sa pagprograma ng mga gawaing pang-ekonomiya. Ang malawak na katanyagan nito ay ipinaliwanag sa pamamagitan ng ang katunayan na ang COBOL ay medyo malapit sa natural na wika, kung saan ang mga problemang pang-ekonomiya ay kadalasang nabubuo at nilulutas.

Ang mga natatanging katangian ng wikang COBOL ay ang mga sumusunod:

ang wika sa isang tiyak na kahulugan ay isang subset wikang Ingles; ang tekstong nakasulat sa COBOL ay mauunawaan nang walang paunang paghahanda;

mahusay na inilalarawan ng wika ang data na may istrakturang tipikal ng mga papeles ng negosyo; ang data na ito ay maaaring nauugnay sa mga personal na bagay, mga kalakal, pananalapi (pinahihintulutan din ang pinagsamang data);

sinusubukan ng wika na lutasin ang problema ng ganap na pagkakatugma, ibig sabihin, kalayaan mula sa mga detalye ng mga partikular na computer.

Ang programa ng COBOL ay binubuo ng apat na bahagi na tinatawag na mga seksyon. Ang mga seksyong ito ay may mga sumusunod na pangalan: seksyon ng pagkakakilanlan, seksyon ng kagamitan, seksyon ng data at seksyon ng mga pamamaraan. Ang seksyon ng mga pamamaraan ay naglalaman ng aktwal na programa, ngunit ito ay walang kahulugan (o sa pinakamahusay na hindi kumpletong tinukoy) maliban kung ang istraktura ng data na ipoproseso, na tinukoy sa ikatlong seksyon, ay kilala. Ang seksyon ng kagamitan ay nahahati naman sa isang seksyon ng pagsasaayos at isang seksyon ng I/O, at ang seksyon ng data ay nahahati sa isang seksyon ng array, isang seksyon gumaganang memorya at ang seksyon ng constants. Sa simula ng seksyon (seksyon) mayroong pangalan ng seksyon (seksyon), na sinusundan ng isang tuldok; Ang pamagat na may tuldok ay sumasakop sa isang hiwalay na linya. Ang nilalaman ng isang seksyon o seksyon ay binubuo ng mga pangungusap na pinagsama-sama sa pinangalanang mga talata.

Sa COBOL, mas madaling gumawa ng maliliit na pagbabago sa programa na kinakailangan kapag nagpoproseso ng komersyal na impormasyon.

Sa COBOL, ang pangunahing yunit ng input at output ay ang data file. Ang bawat file ay binubuo ng mga talaan. Ang parehong file ay madalas na ginagamit sa iba't ibang mga programa depende sa likas na katangian ng mga gawain na nalutas. Ang mga paglalarawan ng file ay napakahigpit at hindi pinapayagan ang mga pagbabago.

Isinasaalang-alang ng mga developer ang posibilidad na gumamit ng isang makina upang mag-broadcast ng mga programa, at isa pang makina upang malutas ang problema ayon sa pinagsama-samang programa. Bilang karagdagan, ang parehong programa ng COBOL ay maaaring isalin sa mga wika iba't ibang kompyuter pagkakaroon ng iba't ibang set ng kagamitan.

SOL. Digital modeling kung paano mabisang paraan ang pananaliksik ay nakakakuha ng pagtaas ng katanyagan sa mga espesyalista na kasangkot sa pagsusuri at disenyo kumplikadong mga sistema.

Kadalasan, ang isang system specialist ay nakakaranas ng kahirapan sa pagsulat ng isang programa na ginagaya ang pagpapatakbo ng system na kanyang pinag-aaralan. Ang dahilan nito ay maaaring ang matinding pagiging kumplikado ng mga system na halos imposibleng ilarawan sa matematika. Ang mga problema ng ganitong uri ay dumami, lalo na, sa pagsasagawa ng paglikha ng mga instrumentation at control system. Upang mapadali ang paglikha ng mga programa, ang mga awtomatikong programming language (specialized modeling language) ay kasalukuyang ginagamit, na nagbibigay-daan, na may pinakamababang oras na ginugol sa paghahanda at pagpapatupad ng mga gawain sa isang computer, upang bumuo at mag-aral ng mga programa na gayahin ang pagpapatakbo ng sistemang pinag-aaralan.

Kasabay nito, ang mga elemento ng isang dalubhasang wika ay, bilang isang patakaran, medyo pangkalahatan at maaaring maging . inilapat sa isang malawak na klase ng kunwa phenomena. Bilang karagdagan, ang mga espesyal na wika sa pagmomodelo, kumpara sa mga unibersal, ay makabuluhang pinasimple ang programming ng computational at lohikal na operasyon, na nagpapakilala sa modelong sistema. Kasabay nito, ang koneksyon sa pagitan ng setter ng problema at ng programmer ay pinasimple. Nakamit ito salamat sa mga sumusunod na tampok ng mga espesyal na wika sa pagmomodelo:

  • ang kakayahang ayusin ang istraktura ng pamamahagi ng memorya ng makina sa pagitan ng mga variable at parameter. Ang distribusyon na ito ay mas butil-butil at pino kaysa sa nakamit sa pamamagitan ng paggamit ng karamihan sa mga pangkalahatang layunin na wika;
  • ang pagkakaroon ng isang set ng mga tagubilin na nagpapasimple sa pagbabago ng mga estado ng simulate system. Sa karamihan ng mga kaso, ito ay isinasagawa ng isang karaniwang kontrol o pansamantalang subroutine na kumokontrol sa pagkakasunud-sunod ng pagpapatupad ng mga subroutine;
  • ang pagkakaroon ng isang hanay ng mga tagubilin na tumutukoy sa pangangailangan na ipatupad ang isang partikular na subroutine sa isang tiyak na oras;
  • ang pagkakaroon ng mga utos para sa pagsasagawa ng pamantayan o madalas na nakakaharap na mga operasyon na may kaugnayan sa mga random na numero at pamamahagi ng posibilidad;
  • ang pagkakaroon ng mga utos na nagpapasimple sa pagkuha at pagtatala ng mga istatistikal na tagapagpahiwatig sa panahon ng pagpapatakbo ng programa sa pagmomolde.

Tingnan natin ang ilang espesyal na wika ng algorithmic modeling.

Ang GPSS universal modeling language ay ang pinakamalawak na ginagamit at simple at madaling maunawaan. Hindi ito nangangailangan ng kaalaman sa programming o machine operations. Ang programa ng simulation ay ipinakita sa form ng block diagram, na partikular na kaakit-akit sa mga hindi programmer.

Ang algorithmic language na SIMSCRIPT ay itinuturing na pinakamakapangyarihang modelling language sa kasalukuyan. Dahil sa isang bilang ng mga natatanging tampok nito, naaangkop ito sa pinakamalawak na klase ng mga gawain. Gayunpaman, medyo kumplikado ang wikang ito, at limitado ang mga diagnostic tool para sa mga programa sa pag-debug. Bukod, potensyal na mamimili Dapat alam mo ang FORTRAN at may karanasan sa programming.

Ang atensyon ng mga espesyalista na kasangkot sa paglutas ng mga problema sa pagmomodelo ay naaakit ng mga dalubhasang wika na binuo para sa mga layuning ito batay sa ALGOL. Kabilang sa mga awtomatikong programming language na ito, ang pinaka-advanced ay SIMULA at SOL.

Ang isang halimbawa ng isa sa pinakamatagumpay na dalubhasang algorithmic na wika na idinisenyo para sa pagmomodelo ng discretely change system ay ang SOL language - Simulation Oriented Language.

Ang wikang SOL ay binuo batay sa unibersal na programming language na ALGOL, ay may parehong istraktura at ginagamit ang mga pangunahing elemento nito. Upang ilarawan ang isang malawak na uri ng mga proseso na may mga discrete na kaganapan, kinakatawan ng SOL unibersal na sistema mga konsepto, at samakatuwid sa maraming aspeto ito ay halos kapareho sa mga awtomatikong programming language na nakatuon sa problema tulad ng ALGOL o FORTRAN. Gayunpaman, ang wika ng SOL ay may mga pangunahing tampok na nakikilala ito sa mga wikang ito: Ang SOL ay nagbibigay ng isang mekanismo para sa pagmomodelo ng mga asynchronous na parallel na proseso, mga maginhawang notasyon para sa mga random na elemento sa loob ng mga arithmetic expression, at awtomatikong paraan ng pagkolekta ng istatistikal na data tungkol sa mga bahagi ng simulate system. Sa kabilang banda, maraming mga tampok ng mga wikang pangkalahatang layunin na nakatuon sa problema ay hindi ginagamit sa SOL hindi dahil hindi sila tugma dito, ngunit sa halip ay dahil nagpapakilala sila ng mga malalaking komplikasyon sa disenyo nito nang hindi pinalawak ang mga kakayahan nito. Ang mga prinsipyong pinagbabatayan ng pagbuo ng wika at ang pagsulat ng mga programa sa pagmomodelo dito ay ginagawang posible na bumuo ng mga modelo ng mga kumplikadong sistema sa isang madaling basahin na anyo.

PL/ako. Ang pangalan ng wika ay nagmula sa mga salitang Ingles na Programming Language/One.

Ang wikang PL/I ay lumitaw pagkatapos ng paglikha ng isang bilang ng mga napaka-advanced na wika, at, siyempre, ang mga hinalinhan na wikang ito ay may malaking epekto sa istraktura nito. Kaya, pinapanatili nito ang bloke na istraktura ng programa mula sa ALGOL, ang kakayahang pabago-bagong maglaan ng memorya, mayroon itong procedure sa pagtawag ng apparatus, isang paraan para sa pagtukoy ng mga format na ginamit sa FORTRAN, atbp. Ngunit mayroong maraming mga bagong tampok. Ang wika ay maginhawa para sa pagmomodelo, paglutas ng mga lohikal na problema, pananaliksik mga logic circuit, paglutas ng mga problema sa real time, pagbuo ng mga software system. Maaaring gamitin iba't ibang uri data (binary, decimal, symbolic, complex number, matrice, atbp.), ngunit napakahirap ayusin ang data na ito sa mga array, table, text, questionnaire, filing cabinet, atbp. Mayroong malawak na hanay ng mga karaniwang pag-andar at pamamaraan. Binuo sa wikang PL/I matagumpay na sistema mga operasyong kumokontrol sa lahat ng proseso ng input, output at pagpapalitan ng impormasyon sa pagitan ng pangunahing at storage device. Ang lahat ng mga tampok na ito ay gumagawa ng isang impression matinding pagsisikip wika. Dapat ding isaisip ang mga disadvantages: ang paglalarawan ng wika ay hindi kasiya-siya, hindi ito pormal.

Ang PL/I ay isang multi-purpose programming language na nilalayon hindi lamang para sa pang-ekonomiya at pang-agham at teknikal na programming, kundi pati na rin para sa programming work sa real time at para sa paglikha ng mga programming system.

Isa sa mga pangunahing mga target sa pagbuo ng wika, ang layunin ay upang makamit ang modularity, ibig sabihin, ang kakayahang gumamit sa pangunahing programa nai-broadcast na ang mga programa bilang hiwalay na mga module nang walang muling pag-broadcast. Ang pangangailangan upang matiyak ang pinakamalaking posibleng pagiging simple at kadalian ng pagsulat ng mga programa ay isinasaalang-alang. Kasabay nito, nananatili pa rin ang pangangailangang gumuhit ng pangkalahatan at detalyadong lohikal na mga diagram ng mga programa, ngunit sa naaangkop na karanasan sa programming sa wikang PL/I, maiiwasan mo ang malaki at nakakapagod na gawaing nauugnay sa pagsusulat ng programa sa wikang makina.

Sa wikang PL/I, ang bawat variable na descriptor, bawat paglilinaw ng construction-addition at bawat detalye ay binibigyan ng "default na interpretasyon (prinsipyo). Nangangahulugan ito na saanman ang isang wika ay nagbibigay ng ilang mga tampok at ang programmer ay walang tinukoy na anuman, ang compiler ay naglalapat ng isang "default na interpretasyon," ibig sabihin, ipinapalagay nito ang ilan sa mga tampok na ibinigay sa wika para sa kasong ito. Dahil dito, ang mga kakayahan na ipinahiwatig para sa bawat pagbuo sa wika ay ang mga pinaka-malamang na kakailanganin ng programmer.

Ang mga programa sa wikang PL/I ay nakasulat sa libreng anyo; Ang programmer mismo ay maaaring bumuo ng mga paraan ng pag-record ng mga programa na kailangan niya. Kasabay nito, ang pag-access sa lahat ng paraan ng sistema ng computer ay ibinibigay.

Ang mga pahayag ng isang programa na nakasulat sa wikang PL/I ay pinagsama sa "mga bloke". Ang mga bloke ay gumaganap mahahalagang tungkulin: Tinutukoy nila ang saklaw ng mga variable at iba pang mga pangalan, upang ang parehong pangalan sa iba't ibang mga bloke ay maaaring magamit para sa iba't ibang layunin; pinapayagan ka nitong maglaan ng mga cell ng memorya para sa mga variable para lamang sa tagal ng pagpapatupad ng isang partikular na bloke at palayain ang mga ito para magamit para sa iba pang mga layunin kapag huminto sa pagtakbo ang bloke.

RPG. Ang wikang RPG ay idinisenyo upang i-automate ang pagprograma ng mga gawain at ang pagproseso ng impormasyong pang-ekonomiya. Ang nilalaman ng mga gawaing ito ay higit na limitado sa mga sumusunod na proseso: pagpapanatili ng mga file (i.e. pag-aayos, pag-iimbak, pagsasaayos at pag-update), pag-uuri ng mga file, pag-compile at pag-print ng iba't ibang mga dokumento ng accounting, tulad ng mga listahan, pahayag, talahanayan, buod, ulat, atbp. Karaniwan, tumatagal ang mga kalkulasyon isang maliit na bahagi kabuuang dami ng paglutas ng problema. Kapag nilulutas ang mga naturang problema, maginhawang gumamit ng mga RPG, lalo na sa yugto ng pag-compile at pag-isyu ng mga ulat. Sa kasong ito, ipinapalagay na ang mga input file na ginamit upang ihanda ang mga ulat ay ginawa at pinagsunod-sunod gamit ang ibang paraan.

Binibigyang-daan ka ng RPG na magsagawa ng ilang mga kalkulasyon (karaniwan ay simple at pamantayan) sa data ng pag-input, bumuo ng isang ulat at i-print ito. Maaaring ipasok ang data ng input mula sa card, magnetic tape, o mga device ng memorya ng direktang access. Bilang karagdagan sa paglikha ng isang ulat, pinapayagan ka ng RPG na iwasto at i-update ang mga input file, pati na rin lumikha ng mga bagong file. Ang RPG ay may mga tool na nagbibigay-daan sa iyo upang magsagawa ng mga operasyon gamit ang mga talahanayan (halimbawa, paghahanap para sa kinakailangang elemento ng talahanayan at pagpapakita ng talahanayan), pati na rin ang mga tool para sa pag-aayos ng koneksyon ng RPG program na may mga program na nakasulat sa iba pang mga wika​​at ginamit upang malutas ang parehong problema.

Ang isang tampok ng wika ay hindi kailangang ilarawan ng programmer ang pagkakasunud-sunod ng mga operasyon upang malutas ang problema (ang algorithm ng problema), ngunit dapat lamang ilarawan sa mga espesyal na form ang data ng input na ginamit upang lumikha ng ulat, ang mga kalkulasyon na isinagawa sa data na ito. , at ang format ng ulat.

Batay sa impormasyong ito, ang tagasalin ng RPG ay bumubuo ng isang gumaganang programa, at pagkatapos ay pinoproseso ng nilikhang programa ang mga input file at ini-print ang kinakailangang ulat.

Ang paghahanda ng ulat gamit ang RPG ay binubuo ng mga sumusunod na pangunahing hakbang: pagtukoy sa data ng gawain at kung paano ito iproseso; pagguhit ng paunang programa; pagbubutas ng orihinal na programa; pagkuha ng isang programa sa trabaho; pagpapatupad ng programa ng trabaho.

Bago magsulat ng isang programa para sa gawaing nasa kamay, kinakailangan na magsagawa ng ilang pagsusuri dito. Kinakailangang matukoy ang input data, ang format at uri ng input data record, ang mga field ng record na ginamit at ang kanilang posisyon, ang paraan ng pagpoproseso ng data, ang bilang at uri ng mga kabuuan na kakalkulahin, ang format ng naka-print na ulat at iba pang data ng output.

Kapag naitatag na ang input at output data ng gawain at ang paraan para sa pagproseso ng mga ito, kinakailangang ilarawan ang mga datos na ito sa naaangkop na RPG forms. Mayroong ilang mga uri ng RPG form, ang bawat isa ay idinisenyo upang magtala ng ilang partikular na impormasyon. Ang mga form sa paglalarawan ng data ng input ay naglilista ng lahat ng mga file ng input, ilarawan ang istraktura at mga natatanging tampok ng lahat ng mga uri ng mga tala sa bawat file at ang lokasyon ng mga patlang na ginamit sa mga talaan. Ang form ng pagkalkula ay nagpapahiwatig kung anong pagproseso ng data ng input ang kailangang gawin. Inilalarawan ng Output Description Form ang format ng kinakailangang ulat at iba pang mga output file. Sa form at form ng paglalarawan ng file karagdagang impormasyon ang mga katangian ng mga file na ginamit sa programa (input, output, talahanayan, atbp.) ay ipinahiwatig. Ang paunang programa ay ang impormasyong ipinahiwatig sa mga form ng RPG para sa paglutas ng isang partikular na problema.

Matapos isulat ang programa sa naaangkop na mga form, ang teksto ng programa ay butas-butas sa mga card.

Upang makakuha ng gumaganang programa, kailangan mo munang isalin ang source program. Upang gawin ito, ang ilang mga control card ay idinagdag sa mga source program card, tulad ng control card RG1G translator at control operator card - TASK MANAGEMENT, kinakailangan para sa pagpapatakbo ng RPG translator. Pagkatapos ng pagsasalin, maaaring i-edit ang resultang module gamit ang EDITOR. Bilang resulta ng pag-edit, ang isang programa (load module) na handa para sa pagpapatupad ay nakuha, na tinatawag na isang gumaganang programa. Ang pagsasama-sama at pag-edit ay kinakailangan upang makagawa ng nais na ulat.

Programa sa trabaho maaaring isagawa kaagad pagkatapos ng pagsasahimpapawid at pag-edit o sa anumang iba pang oras. Binabasa ng programa ng manggagawa ang mga file ng pag-input ng paghahanda, pinoproseso ang mga ito at bilang resulta ay gumagawa ng isang ulat at iba pang mga file ng output.

ALGAMS. Ang ALGAMS algorithmic na wika ay naglalayong sa medium-power machine; ito ay batay sa isang subset ng wikang ALGOL-60.

Ang isang mahalagang problema na nalutas sa ALGAMS ay ang pagpapakilala ng mga pamamaraan ng input-output. Pinalawak ng ALGAMS ang hanay ng mga karaniwang function; posible ring gumamit ng mga subroutine ng library. Kasama sa ALGAMS ang mga tool na nagbibigay-daan sa iyo na ipahiwatig ang posibleng pagse-segment ng program, ang tinatawag na mga part identifier, pati na rin ang mga tool na ginagawang posible na epektibong magamit ang buffer memory ng computer sa pamamagitan ng paglalarawan ng ilan sa mga array na may mga espesyal na identifier.

Ang isang input statement ay binubuo ng isang INPUT identifier na sinusundan ng isang listahan ng mga aktwal na parameter, na nakapaloob sa mga panaklong. Tinutukoy ng unang parameter ang numero ng channel kung saan ipinasok ang data, ang natitirang aktwal na mga parameter ay mga simpleng variable, array identifier o na-index na variable.

Kapag nagpapasok ng teksto sa sunud-sunod na mga elemento ng array na nagsisimula sa tinukoy na bagay ang input ay itinalaga ng mga halaga ng integer na tumutugma sa magkakasunod na character ng input string sa kahulugan ng procedure=TEXT. Pamamaraan = TEXT ay tinukoy bilang mga sumusunod:<оператор текст>::=TEXT (<строка>, <переменная с индексами>).

Ang input procedure identifier ay ang salitang OUTPUT. Ang operator ay may apat na uri: ang number operator, ang boolean operator, ang text operator, at ang layout operator. Ang isang output statement ay binubuo ng isang OUTPUT identifier na sinusundan ng isang listahan ng mga aktwal na parameter, na nakapaloob sa mga panaklong. Ang unang aktwal na parameter ng pamamaraan ay tumutukoy sa output channel number, ang pangalawang parameter ay tumutukoy sa format ng output data, at lahat ng iba ay tumutukoy sa mga output object. May mga tool sa pag-edit kapag nagpi-print ng impormasyon.

BASIE K. Ang pangalan ng wika ay nagmula sa mga salitang Ingles na Beginners all Purpose Symbolic Instructioncode. Nagkamit ito ng malawak na katanyagan dahil sa pagiging simple nito, kadalian ng pag-aaral at magagandang pagkakataon para sa paglutas ng malawak na iba't ibang mga problema. Sa maraming minicomputer ang wikang ito ay pinagtibay bilang pangunahing sinasalitang wika. Ang BASIC na wika ay isang programming language. Ito ay maginhawa para sa paglutas ng maliliit na pang-agham at teknikal na mga problema, kapwa sa mga tuntunin ng bilang ng mga operasyon na isinagawa at ang dami ng input at nagresultang data. Ang pinakamahalagang tampok ng wika ay na ito ay inangkop para sa sunud-sunod na pagpapatupad. Nangangahulugan ito na pagkatapos ng bawat pagbabago sa pinagmulang teksto ng isang BASIC na programa, hindi posible na muling isalin ang buong programa, ngunit ang mga pahayag lamang nito na nabago. Ang posibilidad ng sunud-sunod na pagpapatupad ng BASIC na wika ay nagpapahintulot sa iyo na bawasan ang gastos ng oras ng computer para sa muling pagsasalin. Ito, sa turn, ay nagbibigay-daan sa iyo upang pabilisin ang pag-debug ng cycle nang labis na magiging ipinapayong i-debug ang mga BASIC na programa sa dialog mode.

Bilang karagdagan sa kakayahang makaipon ng mga malalaking programa na binubuo ng mga binagong numero ng BASIC na mga operator ng wika, ang mga tinatawag na direktang utos ay ibinigay, iyon ay, ang mga naisakatuparan kaagad pagkatapos na maipasok ang mga ito mula sa console ng programmer (mula sa isang teletype). Sa direct command mode, hindi lamang administrative directives tulad ng RUN - start execution, LIST - print out text, SAVE - i-save ang program text sa library, BYE - end ang work session ay maaaring gamitin; anumang BASIC operator ang pumasok nang wala serial number, isinagawa sa direct command mode. Ito ay nagpapahintulot, sa partikular, ang mga halaga ng mga variable na mai-print at baguhin anumang oras sa panahon ng pagpapatupad ng programa.

Functional na salita Aksyon na isasagawa

I-PRINT I-print ang text ng mensahe na nakapaloob sa mga quote o ang halaga pagpapahayag ng aritmetika(na dati nang nakalkula ito), o ang mga halaga ng mga variable

INPUT Ipasok ang mga numero mula sa console ng programmer at ipadala ang mga ito sa tinukoy na mga variable

Hayaan Magtalaga variable na halaga mga ekspresyon

PUMUNTA Pumunta sa execution ng operator gamit ang ibinigay na numero

KUNG Kung ang tinukoy na kundisyon ay natugunan, ang aksyon ay tinukoy sa ibinigay na operator, kung hindi - pumunta sa susunod na pahayag

Data ng DATA; ang pahayag na ito ay hindi naisakatuparan. Inilalarawan nito ang isang bloke ng data sa pag-debug (mga numero). Ang koleksyon ng mga bloke ng data ng debug ay bumubuo ng isang hanay ng data ng pag-debug

WAKAS Katapusan ng programa

Kaya, ang step-by-step na compilation scheme kasama ang direct command mode ay nagbibigay-daan sa iyong epektibong i-debug ang mga BASIC program sa dialog mode.

Ang isang BATAYANG programa ay binubuo ng mga pahayag, ang bawat isa ay nagsisimula sa isang function na salita. Tinutukoy ng salita ng serbisyo ang uri ng operator at ang likas na katangian ng mga aksyon na ginawa sa panahon ng pagpapatupad nito.

Kapag nilulutas ang maraming mga problema, kinakailangan upang ipakita ang data sa anyo ng mga talahanayan. Gamit ang mga kakayahan ng ilang BASIC na mga operator ng wika, maaari kang bumuo ng mga talahanayan sa iba't ibang mga format.


6.1 ACS software Ang ACS software ay nauunawaan bilang isang set ng iba't ibang mga pamamaraan sa matematika, mga modelo, algorithm at software packages na nagsisiguro sa paggana ng automated control system alinsunod sa nilalayon nitong layunin. Ang terminong software para sa mga awtomatikong control system ay tumutukoy sa matematika, linguistic at software ng mga awtomatikong control system. Ang isang tampok ng software ng automated control system ay: -pagtaas sa relatibong halaga ng software kumpara sa complex of technical means (CTS) ng automatic control system; -makatwirang typification (unification) ng application software; -malawak na paggamit ng PPP, karaniwang mga casing, atbp.


Suporta sa matematika para sa mga awtomatikong sistema ng kontrol Ang suporta sa matematika (MS) ay maaaring nahahati sa tatlong bahagi: software ng computer (o panloob); espesyal na software sa matematika (o panlabas); teleprocessing software Kasama sa Internal MO ang mga operating system (MS DOS), programming system at mga pagsubok (mga programa para sa pagsuri sa wastong operasyon ng mga computer device),



ACS software Operating system (OS) - isang set ng mga program na kumokontrol sa proseso ng paglutas ng mga problema. Pinakamainam na pag-load ng lahat ng mga node ng computer at mga panlabas na aparato ay ang pangunahing gawain ng OS. Kasama sa OS ang isang bilang ng mga programa, ang pangunahing mga ito ay: dispatcher, superbisor, at mga utility program. Ang Dispatcher ay isang program na nagbibigay ng isang tiyak na mode ng pagpapatakbo ng computer. Ang Supervisor ay isang programa na nagsisiguro sa operasyong itinalaga sa makina ng isang operator ng tao sa loob ng balangkas ng mode na itinatag para dito. Kasama sa mga utility ang mga programa para sa pag-input ng source data; mga programa para sa pag-edit at pagpapakita ng mga resulta; mga programa para sa komunikasyon sa pagitan ng OS at isang operator ng tao, atbp. Ang OS ay nakikilala ayon sa kanilang nilalayon na layunin sa: mga pangkalahatan para sa paglutas ng malawak na hanay ng mga problema at mga problema. Depende sa organisasyon ng paglutas ng mga problema sa isang computer, ang mga sumusunod na operating mode ng OS ay nakikilala: indibidwal, batch, multiprogramming, pagbabahagi ng oras.


Sa indibidwal na mode, ang computer ay permanente o pansamantalang nasa pagtatapon ng isang user. Batch Processing Ipinapalagay na ang user ay walang direktang access sa computer. Ang mga gawaing inihanda niya sa anyo ng mga programa at mapagkukunan ng data ay ini-load ng operator sa computer at nalutas sa mga batch. Ang multiprogramming ay nagsasangkot ng kakayahang sabay na malutas ang ilang mga gawain gamit ang iba't ibang mga programa, na isinasaalang-alang ang priyoridad. Sa kasong ito, isang gawain ang malulutas sa bawat sandali ng oras. Kung, habang nilulutas ang isang problema, kinakailangan na lutasin ang isa pang may higit pa mataas na priyoridad, pagkatapos ay ang solusyon sa problema ay nagambala, ang pangalawang problema ay nalutas, pagkatapos ng solusyon nito ang unang problema ay patuloy na nalutas mula sa lugar kung saan naganap ang paghinto, atbp. Kasama sa mode ng pagbabahagi ng oras ang paglutas ng ilang mga gawain nang sabay-sabay.


ACS software. Ang mga pangunahing layunin ng OS ay: pataasin ang pagganap ng mga computer system (CS) sa pamamagitan ng pagproseso ng tuluy-tuloy na input stream ng mga gawain at pagbabahagi ng CS resources sa mga gawain na sabay-sabay na tumatakbo sa OS (multiprogramming effect); pagpaplano ng sasakyang panghimpapawid alinsunod sa mga priyoridad ng mga indibidwal na gawain, pagpapanatili ng mga rekord at pagsubaybay sa paggamit ng mga mapagkukunan; pagbibigay ng mga programmer ng mga tool para sa pagbuo at pag-debug ng mga programa; pagbibigay sa operator ng paraan ng pagkontrol ng sasakyang panghimpapawid.


ACS software Ang programming system ay idinisenyo upang i-automate ang proseso ng mga gawain sa pagprograma, naglalaman ito ng mga tagasalin ng mga algorithmic na wika ng iba't ibang antas at uri at mga programa ng serbisyo. Ang sistema ng mga programa ng utility (mga pagsubok) ay idinisenyo upang subaybayan ang tamang paggana ng sasakyang panghimpapawid, tuklasin ang mga pagkakamali at pag-aralan ang mga uri at sanhi ng mga pagkabigo. Kasama sa Espesyal (panlabas) na MO ang PPP, mga programa para sa mga partikular na gawain ng mga automated na control system, at isang system dispatch program. Ang PPP ay functionally complete software packages na naglalayong lutasin ang isang partikular na klase ng mga problema.


Suporta sa matematika para sa mga automated control system Ang mga programa para sa mga partikular na gawain ng mga automated control system ay maaaring nahahati sa 3 klase: mga programang karaniwan sa lahat ng industriya (industriya, transportasyon, kalakalan, atbp.); mga programang karaniwan sa mga negosyo sa industriya ng abyasyon; mga programang partikular sa bawat negosyo (ARZ, asosasyon ng produksyon ng abyasyon, atbp.). Kasama sa mga gawain sa Class 1 ang mga sumusunod na gawain: (payroll, personnel accounting, inventory accounting, atbp.). Kasama sa pangalawa ang mga gawain sa kontrol sa pagpapadala (pagkalkula ng mga mode ng pagpapatakbo ng kagamitan, pagkalkula ng output ng sasakyan, atbp.). Kasama sa ikatlo ang mga tiyak na gawain ng pag-aayos ng sasakyang panghimpapawid (paggawa ng mga ekstrang bahagi sa panahon ng pag-aayos, paghahanda ng sasakyang panghimpapawid para sa mga flight, atbp.). Ang isang malaking bilang ng mga programa na may iba't ibang layunin at kahulugan ay nangangailangan ng kanilang organisasyon sa buong system, at ito ay ginagawa gamit ang isang system dispatch program.


Ang MO ay binuo batay sa pag-type ng mga algorithm sa mga klase ng mga problema at pinag-isang pamamaraan para sa paglutas ng mga kaugnay na problema. Ginagawang posible ng diskarteng ito na bawasan ang gastos ng machine learning, gayundin ang paglikha ng pinag-isang mga modelo para sa paglutas ng iba't ibang klase ng mga problema. Kasama sa unang klase ng mga gawain ang mga pangunahing gawain sa accounting (masa) (pag-ulit ng mga pag-aayos sa mga subscriber - milyon-milyon bawat taon, mga kalkulasyon ng payroll - daan-daang libo bawat taon, atbp.). Mga halimbawa ng pangunahing gawain sa accounting: araw-araw, sampung araw, buwanan at taunang accounting ng resibo at pagkonsumo ng gasolina at mga pampadulas ng mga airline, unit, atbp.; araw-araw, lingguhan, buwanang oras ng paglipad ng sasakyang panghimpapawid; accounting at pagsusuri ng mga pagkabigo ng kagamitan sa paglipad; accounting ng paggalaw at imbentaryo materyal na mapagkukunan atbp.


Ang pangunahing accounting ay nagbibigay-daan sa iyo upang makaipon ng isang malaking halaga ng impormasyon sa kahabaan ng paraan, ang kasunod na generalization na kung saan ay magbibigay-daan sa iyo upang makakuha ng kumpletong data ng istatistika na kinakailangan para sa paggawa ng desisyon. Ang mga gawaing ito ay bumubuo ng isang klase ng mga gawain sa accounting at istatistika, na kinabibilangan din ng mga gawain sa pagpaplano ng regulasyon. Ang katangian ng matematika ng mga problemang ito ay isang malaking bilang ng mga lohikal na operasyon na may isang maliit na bilang ng mga simple. mga operasyong matematikal. Kabilang sa mga gawain ng klase na ito ay mapapansin: pagsasama-sama ng lahat ng anyo ng istatistika at mga pahayag sa pananalapi; pagkalkula ng mga gastos sa produkto; pagkalkula ng mga kinakailangan sa gasolina at pampadulas, atbp. Ang isang malaking pangkat ng mga nakalista ay mga gawain sa accounting na nailalarawan sa pamamagitan ng isang malaking bilang ng mga karagdagan, pagbabawas, mga lohikal na operasyon (pag-uuri, pagpapangkat, paghahambing) at ang pagbuo ng mga talahanayan ng isang naibigay na anyo. ACS software


Ang pagmomodelo ng matematika ay malawakang ginagamit sa tatlong pangunahing magkakaibang klase ng mga problema: mga kumplikadong hindi matinding kalkulasyon, pagtataya at pag-optimize. Sa isang awtomatikong sistema ng kontrol, pinapanatili ng isang tao ang mga pag-andar ng paggawa ng desisyon batay sa data na inisyu ng awtomatikong sistema ng kontrol, direktang pagmamasid sa kinokontrol na proseso (object) (kontrol), pag-unlad at pagtatatag ng mga mapagpasyang panuntunan (pamantayan, pamantayan, limitahan ang mga antas ng kinokontrol na dami), pagpapabuti ng pamamahala at mga anyo nito, pagsusuri ng mga resulta ng pagpapatakbo ng computer at paghahanda ng mga hakbang upang mapabuti ang pagpapatakbo ng system.


6.3 Ang mga programming language para sa paglalarawan ng mga gawain sa mga automated control system ay mga high-level na wika (ibig sabihin, mga non-machine language), na naging isang uri ng connecting bridge sa pagitan ng mga tao at ng machine language ng computer. Ang mga mataas na antas ng wika ay gumagana sa pamamagitan ng mga programa sa pagsasalin na nagpapakilala ng " source code" (isang hybrid ng mga English na salita at mathematical expression na binabasa ng isang makina), at sa huli ay nagiging dahilan upang maisagawa ng computer ang mga naaangkop na command na ibinigay sa machine language. Mayroong dalawang pangunahing uri ng mga tagapagsalin: mga interpreter, na nag-scan at nagsusuri ng source code sa isang hakbang, at mga compiler , na nag-i-scan sa source code upang makagawa ng text ng programa sa wika ng makina na pagkatapos ay isasagawa nang hiwalay sabihin sa computer na gawin ang isang gawain tulad ng I-PRINT *3/2.1 at magbabalik ng tugon sa iyo sa sandaling mag-click ka ENTER key(pinapayagan nito ang isang $3,000 na computer na magamit bilang isang $10 na calculator). Bilang karagdagan, ang mga interpreter ay may mga espesyal na katangian na nagpapadali sa pag-debug. Maaari mong, halimbawa, matakpan ang pagpoproseso ng isang interpreter program, ipakita ang mga nilalaman ng ilang mga variable, i-skim ang program, at pagkatapos ay ipagpatuloy ang pagpapatupad Ang isang compiler ay isang tagasalin ng teksto sa machine language na nagbabasa pinagmulan. Sinusuri ito ayon sa istrukturang sintaktik ng wika at isinasalin ito sa wikang makina. Sa madaling salita, ang compiler ay hindi nagpapatupad ng mga programa, ito ay nagtatayo sa kanila. Ang mga interpreter ay hindi maaaring ihiwalay sa mga programa na kanilang pinapatakbo ang mga compiler ay gumagawa ng kanilang trabaho at umalis sa eksena. Kapag nagtatrabaho sa isang pinagsama-samang wika tulad ng Turbo BASIC, makikita mong kinakailangang isipin ang iyong mga programa sa mga tuntunin ng dalawang pangunahing yugto ng kanilang buhay: ang panahon ng pag-compile at ang panahon ng pagpapatakbo.


2. KLASIFIKASYON NG MGA WIKA SA PAGPROGRAMMING 2.1. Ang mga wikang nakatuon sa makina Ang mga wikang nakatuon sa makina ay mga wika na ang mga hanay ng mga operator at visual na paraan ay makabuluhang nakasalalay sa mga katangian ng computer (panloob na wika, istraktura ng memorya, atbp.). Pinapayagan ka ng mga wikang nakatuon sa makina na gamitin ang lahat ng mga kakayahan at tampok ng mga wikang umaasa sa Machine: - mataas na kalidad mga nilikhang programa(compactness at bilis ng pagpapatupad); - ang kakayahang gumamit ng mga tiyak na mapagkukunan ng hardware; - predictability ng object code at memory order; - para sa pag-compile epektibong mga programa kinakailangang malaman ang command system at ang operating features ng computer na ito; - ang masinsinang proseso ng pagsulat ng mga programa (lalo na sa mga wika ng makina at JSC), na hindi gaanong protektado mula sa mga pagkakamali; - mababang bilis ng programming; - ang imposibilidad ng direktang paggamit ng mga program na pinagsama-sama sa mga wikang ito sa iba pang mga uri ng mga computer.


Ang mga wikang nakatuon sa makina ay nahahati sa mga klase ayon sa antas ng awtomatikong programming: Wika ng makina ang computer ay may sarili nitong partikular na Machine Language (mula rito ay tinutukoy bilang ML), ito ay inireseta na magsagawa ng mga tinukoy na operasyon sa mga operand na kanilang tinukoy, samakatuwid ang ML ay isang command language. Gayunpaman, ang ilang pamilya ng mga computer (halimbawa, ES Computers, IBM/370/, atbp.) ay may iisang ME para sa mga computer na may iba't ibang kapangyarihan. Ang utos ng alinman sa mga ito ay nagbibigay ng impormasyon tungkol sa lokasyon ng mga operand at ang uri ng operasyon na isinasagawa. Gayunpaman, ang mga code ng pagpapatakbo at mga address sa mga tagubilin ng makina, na isang pagkakasunud-sunod ng mga binary (sa panloob na code) o octal (madalas na ginagamit kapag nagsusulat ng mga programa) na mga digit, ay pinapalitan sa YSC ng mga simbolo (mga pagkakakilanlan), ang paraan ng pagsulat na tumutulong sa programmer. mas madaling matandaan ang semantikong nilalaman ng operasyon. Tinitiyak nito ang isang makabuluhang pagbawas sa bilang ng mga error kapag bumubuo ng mga programa ng Autocode Mayroon ding mga wika na kasama ang lahat ng mga kakayahan ng YSC, sa pamamagitan ng pinalawak na pagpapakilala ng mga macro command - tinatawag silang Autocodes. Ang mga binuo na autocode ay tinatawag na Assemblers. Mga programa sa serbisyo atbp., bilang panuntunan, ay pinagsama-sama sa mga wika tulad ng Assembly Macro Ang isang wika na isang paraan para sa pagpapalit ng isang pagkakasunud-sunod ng mga simbolo na naglalarawan sa pagpapatupad ng mga kinakailangang aksyon sa computer sa isang mas naka-compress na form ay tinatawag na isang Macro (kapalit na tool). . Karaniwan, ang isang Macro ay idinisenyo upang paikliin ang orihinal na pagpasok ng programa. Ang bahagi ng software na nagbibigay-daan sa mga macro na gumana ay tinatawag na isang macro processor.


2.2. Mga wikang independyente sa makina Ang mga wikang independyente sa makina ay isang paraan ng paglalarawan ng mga algorithm para sa paglutas ng mga problema at impormasyong ipoproseso. Ang mga ito ay maginhawang gamitin para sa isang malawak na hanay ng mga gumagamit at hindi nangangailangan sa kanila na malaman ang mga detalye ng pag-aayos ng paggana ng mga computer at sasakyang panghimpapawid. Ang mga katulad na wika ay tinatawag mataas na antas ng mga wika programming. Ang mga programang pinagsama-sama sa naturang mga wika ay mga pagkakasunud-sunod ng mga pahayag na nakaayos ayon sa mga patakaran ng pagtingin sa wika (mga gawain, mga segment, mga bloke, atbp.). Inilalarawan ng mga operator ng wika ang mga aksyon na dapat gawin ng system pagkatapos isalin ang program sa ML. Ang programmer ay nakakuha ng pagkakataon na hindi ilarawan nang detalyado proseso ng pag-compute sa antas ng mga utos ng makina, at tumuon sa mga pangunahing tampok ng algorithm na nakatuon sa problema Sa pagpapalawak ng mga lugar ng aplikasyon ng teknolohiya ng computer, ang pangangailangan ay lumitaw upang gawing pormal ang pagtatanghal ng pagbabalangkas at solusyon ng mga bagong klase. ng mga problema. Kinailangan na lumikha ng mga programming language na, gamit ang mga notasyon at terminolohiya sa lugar na ito, ay gagawing posible na ilarawan ang mga kinakailangang solusyon sa mga algorithm para sa mga itinalagang mga problema. Ang mga wikang ito, na nakatuon sa paglutas ng mga partikular na problema, ay dapat magbigay sa programmer ng mga tool upang maikli at malinaw na bumalangkas ng problema at makakuha ng mga resulta sa kinakailangang anyo, halimbawa: Fortran, Algol - mga wika nilikha para sa paglutas ng mga problema sa matematika; Simula, Slang - para sa pagmomodelo; Lisp, Snoball - para sa pagtatrabaho sa mga istruktura ng listahan.


Ang mga unibersal na wika Ang mga unibersal na wika ay nilikha para sa isang malawak na hanay ng mga gawain: komersyal, siyentipiko, pagmomolde, atbp. Ang unang unibersal na wika ay binuo ng IBM, na naging Pl/1 sa pagkakasunud-sunod ng mga wika. Ang pangalawang pinakamakapangyarihang unibersal na wika ay tinatawag na ALGOL-68. Pinapayagan ka nitong magtrabaho kasama ang mga character, digit, fixed-point at floating-point na mga numero. Ang PL/1 ay may binuong sistema ng mga operator para sa pamamahala ng mga format at pagtatrabaho sa mga field variable na haba, na may data na nakaayos sa mga kumplikadong istruktura, at para sa epektibong paggamit ng mga channel ng komunikasyon. Isinasaalang-alang ng wika ang mga kakayahan sa interrupt na kasama sa maraming makina at may naaangkop na mga operator. Ang posibilidad ng parallel execution ng mga seksyon ng programa ay ibinigay. Ang mga programa sa Pl/1 ay pinagsama-sama gamit ang mga awtomatikong pamamaraan. Gumagamit ang wika ng maraming feature ng Fortran, Algol, at Cobol. Gayunpaman, pinapayagan nito hindi lamang ang pabago-bago, kundi pati na rin ang pinamamahalaang at istatistikal na paglalaan ng memorya Ang paglitaw ng mga bagong teknikal na kakayahan ay nagdulot ng isang hamon sa mga programmer ng system– upang lumikha ng software na nagsisiguro ng pakikipag-ugnayan sa pagpapatakbo sa pagitan ng isang tao at isang computer ay tinatawag na mga interactive na wika. Ang gawaing ito ay isinagawa sa dalawang direksyon. Ang mga espesyal na wika ng kontrol ay nilikha upang magbigay ng epekto sa pagpapatakbo sa pagkumpleto ng mga gawain, na pinagsama-sama sa anumang hindi pa nabuong (hindi diyalogo) na mga wika. Ang mga wika ay binuo din na, bilang karagdagan sa mga layunin ng pamamahala, ay magbibigay ng isang paglalarawan ng mga algorithm para sa paglutas ng mga problema.


Ang pangangailangan upang matiyak ang agarang pakikipag-ugnayan sa gumagamit ay nangangailangan ng pag-save ng isang kopya ng source program sa memorya ng computer kahit na pagkatapos matanggap ang object program sa mga code ng makina. Kapag gumagawa ng mga pagbabago sa isang programa gamit ang isang interactive na wika, ang programming system, gamit ang mga espesyal na talahanayan, ay nagtatatag ng ugnayan sa pagitan ng mga istruktura ng source at object program. Pinapayagan ka nitong gawin ang mga kinakailangang pagbabago sa editoryal sa object program. Ang isang halimbawa ng mga wikang pang-usap ay BASIC. Gumagamit ang BASIC ng notation na katulad ng mga ordinaryong mathematical expression. Maraming mga operator ang pinasimpleng bersyon ng mga operator ng Fortran. Samakatuwid, ang wikang ito ay nagbibigay-daan sa iyo upang malutas ang isang medyo malawak na hanay ng mga problema na bumubuo sa isang pangkat ng mga wika na naglalarawan sa organisasyon ng data na naproseso gamit ang mga nakapirming algorithm (mga wika sa tabular at mga generator ng ulat), at. mga wika ng komunikasyon na may mga operating system. Nagbibigay-daan sa iyong malinaw na ilarawan ang parehong gawain at ang mga aksyon na kinakailangan upang malutas ito, ginagawang posible ng mga talahanayan ng desisyon na malinaw na matukoy kung anong mga kundisyon ang dapat matugunan bago magpatuloy sa anumang aksyon. Ang isang talahanayan ng desisyon, na naglalarawan sa isang tiyak na sitwasyon, ay naglalaman ng lahat ng posibleng block diagram ng mga pagpapatupad ng mga algorithm ng solusyon. Mga Paraan ng Talahanayan ay madaling pinagkadalubhasaan ng mga espesyalista ng anumang propesyon. Ang mga program na nakasulat sa tabular na wika ay madaling naglalarawan ng mga kumplikadong sitwasyon na lumitaw sa panahon ng pagsusuri ng system.

ACS software

Ang suporta sa matematika ay kinakailangan para sa pagpormal ng mga proseso ng kontrol (na may layuning i-automate ang mga ito) at pagpapatupad ng mga algorithm ng kontrol sa isang computer. Ang paglalarawan sa matematika ay karaniwang kinabibilangan ng:

* pormal na paglalarawan ng mga bagay at proseso ng pamamahala;

* mga algorithm para sa paglutas ng mga problema sa kontrol;

* computer software na ginagamit sa lahat ng antas ng pamamahala.

Ang pormal na proseso ng paglalarawan ay nagbibigay-daan sa amin upang makakuha ng isang pangkalahatang paglalarawan ng control object at ang proseso ng kontrol sa anyo ng mga pormal na modelo ng matematika. Batay sa mga modelong ito, binuo ang mga control algorithm.

Tinutukoy ng mga algorithm ng kontrol ang kinakailangang pagkakasunud-sunod ng mga aksyon sa panahon ng kontrol at ginagawang posible na gawing pormal ang paglalarawan ng proseso ng kontrol para sa layunin ng awtomatikong pagpapatupad nito. Ang algorithm ay ang batayan para sa pagbuo ng isang computer control program para sa kaukulang bagay.

Ang software ay kinakailangan upang ipatupad ang mga control algorithm sa mga partikular na computer na bahagi ng GPS automated control system. Sa ilalim ng kontrol ng software, ang pakikipag-ugnayan ng computer sa mga operating personnel at kagamitan ay sinisiguro sa proseso ng pamamahala.

Halimbawa, kapag awtomatikong inaayos ang mga parameter ng isang kinokontrol na bagay, ipinapatupad ng control system ang mga function awtomatikong regulator:

x (t) = y z (t) - y (t);

U(t) = A(x(t)),

kung saan ang x(t) ay ang error ng control object; y z (t) – itakda ang halaga kinokontrol na parameter, y (t) - kasalukuyang halaga ng kinokontrol na parameter; U(t) – kontrol na aksyon; Ang A ay isang operator depende sa control law.

Sa awtomatikong kontrol, posible na magsagawa ng proporsyonal na kontrol (P-kontrol), proporsyonal-integral na kontrol (PI-kontrol), proporsyonal-integral-derivative na kontrol (PID-kontrol), pinakamainam na kontrol, matinding kontrol at adaptive na kontrol. Ang napiling uri ng kontrol ay tutukuyin ng operator na "A", ayon sa kung saan ang magnitude ng pagkilos ng kontrol ay tinutukoy ng magnitude ng error.

Ang isang pangkalahatang algorithm na nagpapatupad ng gawain ng awtomatikong kontrol ng parameter Y sa isang computer ay ipinapakita sa Fig. 206. Kapag nagsimula ang gawain, magsisimula ang programa sa pagtiyempo at poll ang control object. Bilang resulta ng pagboto sa bagay, ang kasalukuyang halaga ng kinokontrol na parameter na Y(t) ay ipinasok.

Ang kasalukuyang halaga ng kinokontrol na parameter ay inihambing sa tinukoy at ang mismatch (error) ay tinutukoy, mula sa halaga kung saan ang kinakailangang halaga ng kontrol ay kinakalkula. Ang kontrol na ito ay nagmula sa computer at, na nakakaimpluwensya sa actuator ng object, binabago ang output parameter nito kung kinakailangan.

Ang inilarawan na algorithm ay ipinatupad sa anyo ng isang control program para sa isang computer. Sa kasong isinasaalang-alang, ang computer ay maaaring, halimbawa, isang programmable microcontroller. Sa kasong ito, ang programa ay maaaring isulat sa assembler language ng microprocessor na ginagamit sa microcontroller. Pagkatapos ay isinalin ang programa sa mga tagubilin ng microprocessor machine, ang pagkakasunod-sunod nito ay naitala sa read-only memory (ROM) ng microcontroller.

Ang pag-develop ng software sa machine at algorithmic programming language ay nangangailangan ng pakikilahok ng mga dalubhasang programmer upang malutas ang mga problema, bagama't ang mga technologist at manager ay pinakamahusay na nauunawaan ang problema sa pamamahala. Bilang isang resulta, nagkaroon ng pangangailangan upang bumuo ng tulad mga awtomatikong sistema pagdidisenyo ng software na maaaring gamitin ng mga user na hindi mga espesyalista sa computer programming.

Ang ganitong mga sistema ay itinuturing na isang tool para sa pagbuo ng automated process control software. Sa modernong automated process control system, ang interaksyon sa pagitan ng operator at ng teknolohikal na proseso ay isinasagawa gamit ang software na karaniwang kilala bilang SCADA. SCADA system (Supervisory Control And Data Acquisition System) – isang sistema para sa pangongolekta ng data at operational dispatch control. Ang SCADA system ay gumaganap ng mga sumusunod na pangunahing pag-andar:

· kontrol ng mga parameter at koleksyon ng data sa kinokontrol teknolohikal na proseso;

· kontrol sa proseso, na ipinatupad ng mga operator batay sa nakolektang data at mga panuntunan (pamantayan), ang pagpapatupad nito ay nagsisiguro ng kinakailangang kahusayan at kaligtasan ng proseso.

Ang SCADA system ay nag-automate ng pagkolekta ng impormasyon tungkol sa teknolohikal na proseso, nagbibigay ng isang interface ng operator, nagse-save ng kasaysayan ng proseso at awtomatikong kinokontrol ang proseso sa kinakailangang lawak.

Ang mga instrumental na sistema ng SCADA ay isang kasangkapan para sa pagbuo ng mataas na antas ng software para sa mga awtomatikong sistema ng kontrol sa proseso. Ang SCADA system ay kadalasang may built-in na suporta para sa input/output device: control controllers, sensors at mga kagamitan sa pagsukat, na ginawa ng mga nangungunang kumpanya sa mundo para sa kontrol at mga sistema ng pagkolekta ng impormasyon. Ang mga instrumental na sistema ng SCADA ay produkto ng software iba't ibang kumpanya pagkakaroon ng kasing dami karaniwang mga tampok, at makabuluhang pagkakaiba.