Você está na página 1de 6

PROGRAMA INFORMTICO

Un programa informtico o programa de computadora es una secuencia de instrucciones, escritas


para realizar una tarea especfica en una computadora. Este dispositivo requiere programas para
funcionar, por lo general, ejecutando las instrucciones del programa en un procesador central. El
programa tiene un formato ejecutable que la computadora puede utilizar directamente para
ejecutar las instrucciones. El mismo programa en su formato de cdigo fuente legible para
humanos, del cual se derivan los programas ejecutables (por ejemplo, compilados), le permite a un
programador estudiar y desarrollar sus algoritmos. Una coleccin de programas de computadora y
datos relacionados se conoce como software.

Generalmente, el cdigo fuente lo escriben profesionales conocidos como programadores de


computadora. Este cdigo se escribe en un lenguaje de programacin que sigue uno de los
siguientes dos paradigmas: imperativo o declarativo, y que posteriormente puede ser convertido
en un archivo ejecutable (usualmente llamado un programa ejecutable o un binario) por un
compilador y ms tarde ejecutado por una unidad central de procesamiento. Por otra parte, los
programas de computadora se pueden ejecutar con la ayuda de un intrprete, o pueden ser
empotrados directamente en hardware.

De acuerdo a sus funciones, los programas informticos se clasifican en software de sistema y


software de aplicacin. En las computadoras de 2015, al hecho de ejecutar varios programas de
forma simultnea y eficiente, se lo conoce como multitareas.

Interprete de Progaramacion
En ciencias de la computacin, intrprete o interpretador es un programa informtico capaz
de analizar y ejecutar otros programas. Los intrpretes se diferencian de los compiladores o de
los ensambladores en que mientras estos traducen un programa desde su descripcin en
un lenguaje de programacin al cdigo de mquina del sistema, los intrpretes slo realizan
la traduccin a medida que sea necesaria, tpicamente, instruccin por instruccin, y
normalmente no guardan el resultado de dicha traduccin.

Etapas para el desarrollo de problemas utilizando el computador

La resolucin de un problema mediante un ordenador consiste en el proceso que a partir


de la descripcin de un problema, expresado habitualmente en lenguaje natural y en
trminos propios del dominio del problema, permite desarrollar un programa que resuelva
dicho problema.
Este proceso exige los siguientes pasos:

Anlisis del problema.


Diseo o desarrollo de un algoritmo.
Transformacin del algoritmo en un programa (codificacin).
Ejecucin y validacin del programa.
Los dos primeros pasos son los ms difciles del proceso. Una vez analizado el problema y
obtenido un algoritmo que lo resuelva, su transformacin a un programa de ordenador es
una tarea de mera traduccin al lenguaje de programacin deseado.
Anlisis del problema informtico
Cuando un usuario plantea a un programador un problema que resolver mediante su ordenador,
por lo general ese usuario tendr conocimientos ms o menos amplios sobre el dominio del
problema, pero no es habitual que tenga conocimientos de informtica. Por ejemplo, un contable
que necesita un programa para llevar la contabilidad de una empresa ser un experto en
contabilidad (dominio del problema), pero no tiene por qu ser experto en programacin.
Del mismo modo, el informtico que va a resolver un determinado problema puede ser un
experto programador, pero en principio no tiene por qu conocer el dominio del problema;
siguiendo el ejemplo anterior, el informtico que hace un programa no tiene por qu ser un
experto en contabilidad.
Por ello, al abordar un problema que se quiere resolver mediante un ordenador, el programador
necesita de la experiencia del experto del dominio para entender el problema. Al final, si se
quiere llegar a una solucin satisfactoria es necesario que:

El problema est bien definido con el mximo detalle


Las especificaciones de las entradas y salidas del problema, deben ser descritas
tambin en detalle:
Qu datos son necesarios para resolver el problema?
Qu informacin debe proporcionar la resolucin del problema?

Diseo del algoritmo


Un algoritmo consiste en una especificacin clara y concisa de los pasos necesarios para
resolver un determinado problema, pero para poder disear algoritmos es necesario disponer
de una notacin, que llamaremos notacin algortmica, que permita:

Describir las operaciones puestas en juego (acciones, instrucciones, comandos,...)


Describir los objetos manipulados por el algoritmo (datos/informaciones)
Controlar la realizacin de las acciones descritas, indicando la forma en que estas se
organizan en el tiempo
Para poder describir cualquier tipo de accin de las que intervienen en un algoritmo, diversos
autores proponen el uso de un conjunto de construcciones lgicas (secuencia, decisin e
iteracin) con las que es posible escribir cualquier programa. Lo que sigue a continuacin es la
descripcin de las diferentes construcciones disponibles para el diseo de algoritmos.

Acciones elementales
Se entiende por acciones elementales aquellas que el ordenador es capaz de realizar y que
sern de dos tipos:

Aritmtico lgicas: Operaciones que, a partir de unos determinados datos, realizan un


clculo aritmtico (suma, resta, multiplicacin,) o un clculo lgico (mayor que, menor que,
igual que,). Las primeras devuelven un valor numrico (4, -5.67,...) y las segundas un
valor lgico (verdadero o falso).
De entrada salida: Acciones que permiten capturar datos para su posterior tratamiento
(las de entrada) y guardar los resultados de dicho tratamiento (las de salida).
Secuencia de acciones elementales
Cuando en un algoritmo se deben ejecutar varias acciones sucesivamente, stas se describen
una detrs de otra segn el orden en que deban ejecutarse. Si se desea se puede emplear
algn tipo de smbolo para separar dos acciones consecutivas. En el siguiente ejemplo se
muestra la descripcin de n acciones separadas por punto y coma (smbolo que habitualmente
se emplea como separador).

Accin 1;
Accin 2;
...
Accin n;

Composicin condicional
Cuando en un algoritmo se quiere indicar que cierta accin solo se debe ejecutar bajo cierta
condicin se indica del siguiente modo:

Si Condicin Entonces
Accin;
FinSi

Solo si la Condicin (operacin lgica) es verdadera se ejecutar la Accin. En este caso,


la Accin puede referirse tanto a una accin elemental como a un conjunto de ellas.

Composicin condicional doble (alternativa)


En ocasiones, se deben ejecutar unas acciones u otras dependiendo de la ocurrencia de una
determinada condicin. Esta especificacin se realiza del siguiente modo:

Si Condicin Entonces
Accin A;
SiNo
Accin B;
FinSi

Dependiendo de si la Condicin es verdadera o falsa se ejecutar la Accin A o la Accin


B respectivamente. De forma anloga a como ocurra en el caso anterior, tanto la Accin
A como la Accin B pueden referirse a una accin elemental o a un conjunto de ellas.
Composicin condicional mltiple
Tambin es posible que a la hora de especificar la ejecucin de una accin haya que escoger
sta entre varias dependiendo del valor de una determinada variable (o indicador). Este caso
se expresa del siguiente modo:

Segn Indicador Hacer


Caso Valor 1:
Accin 1;
Caso Valor 2:
Accin 2;
...
Caso Valor n:
Accin n;
[De Otro Modo:
Accin X;]
FinSegun

En esta construccin Indicador debe tener un determinado valor que en caso de coincidir con
alguno de los n valores provocar la ejecucin de la accin asociada a dicho valor. Si el valor
del Indicador no coincidiera con ninguno de los especificados se ejecutar la Accin X. No
tiene por qu haber una Accin Xpara cuando el Indicador' no coincida con ninguno de
los n valores; en ese caso, si el Indicador' no coincide con ningn valor no se ejecutara
ninguna accin.
Al igual que en los casos anteriores, todas las acciones que aparecen en esta estructura
(Accin 1, Accin 2, Accin n y Accin X) pueden referirse a una nica accin o a un conjunto
de ellas.

Composicin iterativa o bucle


Cuando una accin o conjunto de acciones debe ejecutarse varias veces se recurre a una
estructura iterativa o bucle. En este tipo de estructuras se necesita una condicin que
determine cuando terminan las iteraciones. Dependiendo de si esa condicin se evala al
principio o al final de la estructura y de si la condicin para que las iteraciones continen debe
ser verdadera o falsa, se pueden definir cuatro construcciones iterativas distintas:

La condicin de terminacin ha La condicin de terminacin ha


de ser FALSA de ser VERDADERA

(Estructura 1) (Estructura 2)
Condicin al
Mientras CondicinHacer Hasta Condicin Hacer
principio de la
estructura Accin; Accin;
FinMientras FinHasta

(Estructura 3) (Estructura 4)
Condicin
al final de Hacer Hacer
la Accin; Accin;
estructura
MientrasCondicin; Hasta Condicin;

Sobre las cuatro construcciones que se acaban de presentar cabe hacer las siguientes
observaciones:

Si en las estructuras 1 y 2, cuando se evala la Condicin, sta toma por primera vez un
valor tal que no permita ejecutar la Accin (FALSO en la 1 y VERDADERO en la 2), sta
no se ejecutar ninguna vez. Es decir, puede ocurrir que la Accin, en las estructuras 1 y
2, no se ejecute nunca.
En las estructuras 3 y 4, al estar la Condicin de terminacin al final, la Accin se
ejecutar antes de que la condicin se evale por primera vez, por lo que aunque la
Condicin tome un valor tal que no se permita realizar ms iteraciones, la Accin se
ejecutar al menos una vez.
Si las Condiciones de las estructuras 1 y 2 son complementarias, es decir, que siempre
que una es verdadera la otra es falsa y viceversa (ejemplo: [a > b] y [a b] son
condiciones complementarias), entonces ambas estructuras son equivalentes ya que en
ambas la Accin se ejecutar el mismo nmero de veces.
De forma anloga, si las Condiciones de las estructuras 3 y 4 son complementarias
tambin ambas estructuras sern equivalentes.
Existe una construccin especial para indicar una repeticin de acciones que se suele emplear
cuando se quiere que dicha repeticin se realice un nmero determinado de veces:

Para i = 1 Hasta n Hacer


Accin;
FinPara

En este caso la Accin se repetir n veces e i ser una variable que tomar todos los
valores entre 1 y n (ambos inclusive) en cada una de las sucesivas repeticiones. Esta
construccin, aunque de apariencia diferente a las anteriores, se podra expresar como un
caso particular de la estructura 1 del siguiente modo:

i = 1;
Mientras i <= n Hacer
Accin;
i = i + 1;
FinMientras

En este caso la condicin de finalizacin del bucle es que la variable i sea mayor que n y
siempre, al finalizar la ejecucin de la Accin, i se incrementa en una unidad antes de volver
a evaluar la Condicin para el nuevo valor de i.

Você também pode gostar