Programa (informàtica)

De la Viquipèdia, l'enciclopèdia lliure.
Saltar a la navegació Saltar a la cerca
Esempo un diagrama de flux d'un algorisme d'un programa

Un programa, en informàtica , és un procés algorítmic aplicat a un problema donat per automatització , normalment codificat en una sèrie de línies de codi escrites en un llenguatge de programació per un programador durant la programació per formar un programari , que pot ser executat per un processador , rebre com a entrada determinades dades i retornar la sortida en els eventuals resultats obtinguts després de l'execució / processament de les seves instruccions .

Descripció

Icona de la lupa mgx2.svg El mateix tema en detall: algorisme i programari .
Codi font i execució d'un programa de demostració senzill (anomenat " Hello world ") escrit en idioma Perl

Un programa és un conjunt de línies de codi que formen un conjunt d'instruccions. El problema s’ha de resoldre mitjançant un algorisme perquè un programador pugui codificar-lo en instruccions en un llenguatge de programació ; en aquesta fase, anomenada programació , es crea el codi font del programa que defineix el seu flux d'execució .

El terme indica una seqüència ordenada lògicament d’ordres, instruccions i operacions i es diferencia del terme més genèric de programari, ja que un programa és un programari que es pot carregar a la memòria RAM per executar-lo com a procés , incloent també aquells programes que s’executen a el fons , com en un sistema operatiu en execució, com per exemple. biblioteques . De la mateixa manera, es diferencia del terme " aplicació " que s'utilitza normalment des de la perspectiva de l'usuari final per significar un servei que aquest pot utilitzar, independentment de si està implementat per un sol programa o per un conjunt de programes - i a de fet, els programes que operen en sistemes incrustats no són, per tant, aplicacions per a l'usuari, però permeten la funcionalitat del dispositiu. En aquest cas, l'aplicació consta d'una interfície d'usuari i una unitat de processament. [ no està clar ] L'expressió " sistema de programari " s'utilitza, per regla general, per indicar explícitament una col·lecció de components de programari, com ara programes, biblioteques, fitxers i molt més, que interactuen entre si.

Icona de la lupa mgx2.svg El mateix tema en detall: Programació (informàtica) .

Escriure

Codi font escrit en C ++
Icona de la lupa mgx2.svg El mateix tema en detall: codi font .

Per escriure un programa s’ha de respectar la sintaxi i la semàntica del llenguatge de programació concret triat. A continuació, es detecten i s’informen dels errors d’escriptura durant la compilació o la interpretació. El requisit previ bàsic per a la correcta escriptura i funcionalitat del programa, d'acord amb les especificacions desitjades, és també el processament correcte aigües amunt de l'algoritme per resoldre el problema a automatitzar.

Recopilació / interpretació i enllaç

Icona de la lupa mgx2.svg El mateix tema en detall: recopilació , intèrpret (TI) , enllaçador i plataforma (TI) .
Codi font en HTML i JavaScript

L'execució del codi, un cop precompilat , compilat i / o interpretat, té lloc de manera seqüencial en compliment de seleccions / comprovacions i iteracions; a més, el codi sovint està molt concatenat o el resultat d'una determinada instrucció (per exemple, el valor d'una determinada variable) s'utilitza com a entrada o és preparatori per a instruccions posteriors segons la lògica de dividir i conquerir .

Execució

Icona de la lupa mgx2.svg El mateix tema en detall: Execució (informàtica) .
Nivell d'execució d'usuari a maquinari

Un programa escrit en llenguatge ensamblador o en un llenguatge de programació d’alt nivell ( codi font ) només es pot executar compilant el codi font en codi objecte o traduint-lo al llenguatge de màquina que donarà vida al programa executable o mitjançant un intèrpret .

Cicle del processador (fetch-execute)
  • Per part del maquinari: un programa escrit directament o convertit en llenguatge de màquina es pot executar directament des d’un ordinador (entès com a maquinari ). L’execució de codi per part d’una màquina de maquinari en el cicle d’execució i recuperació és possible gràcies a la capacitat del processador d’executar una sèrie d’ instruccions bàsiques ( conjunt d’instruccions ), en les quals el programa es mapeja / tradueix a nivell de llenguatge de màquina., gràcies als circuits electrònics bàsics ( circuits integrats ) que conformen el propi processador. Des del punt de vista de l'usuari, en ordinadors moderns això sol produir-se gràcies a l'exercici, la gestió o el control de recursos de maquinari (processador, memòria, etc ...) operats pel sistema operatiu que actua com a plataforma de programari del sistema. L'única excepció es produeix quan l'ordinador està engegat, quan arrenca i executa el firmware que s'encarrega de provar l'electrònica i carregar el sistema operatiu. Un cop el procés d'arrencada ha passat el control al sistema operatiu, no es pot executar cap programa directament des del maquinari. Amb el pas del temps, s'ha tornat estrany que un programa sigui adequat per a l' execució directa d'un ordinador pensat només com a maquinari ; normalment requereix una màquina virtual que inclogui el maquinari de l'ordinador amb l'addició d'una o més capes de programari que ajudin a crear l' entorn d'execució adequat per al programa. Els mateixos programes executables solen requerir la presència d’un determinat sistema operatiu , determinades biblioteques , etc. Tot i que les línies generals de funcionament d’una màquina virtual són de vegades força similars a les descrites anteriorment per a la màquina de von Neumann, en molts casos difereixen substancialment d’ella, introduint nombrosos conceptes no presents en aquesta arquitectura (per exemple, els registres d’activació de la pila) . Es pot dir que un llenguatge de programació és tant més alt com més la màquina virtual corresponent presenta característiques conceptualment distants dels mecanismes fonamentals de l’arquitectura de von Neumann (o, en general, de l’arquitectura de maquinari subjacent).

Articles relacionats

Altres projectes

Enllaços externs

Control de l'autoritat LCCN (EN) sh85029524 · GND (DE) 4047394-6 · BNE (ES) XX526558 (data)
Informàtica Portal de TI : accediu a les entrades de Viquipèdia relacionades amb TI