Académique Documents
Professionnel Documents
Culture Documents
Hoy da, todos estamos acostumbrados a usar un sistema informtico y las diferentes aplicaciones
instaladas en l, los procesadores de texto, hojas de clculo, vemos el correo o ficheros grficos, etc.,
todos tenemos ordenador en casa o acceso a algn PC.
Cuando se comienza a estudiar informtica se inicia estudiando qu es un sistema informtico. Un
sistema informtico es un conjunto formado por tres partes: hardware, software y el hombre.
HARDWARE. Es la parte tangible del sistema, parte fsica. Se denomina hardware a
todos los componentes fsicos que forman el sistema informtico, todas aquellas piezas
que forman la torre" del ordenador junto a la pantalla, impresora, y dems elementos que
an no incluyndose en la torre interactan de algn modo con ella.
SOFTWARE. Es la parte no tangible. La forman todas aquellas aplicaciones o programas
instalados en el equipo. El software se clasifica en software base y software de aplicacin.
EL HOMBRE. Es una parte importante del sistema ya que es quien usa el mismo. Sin la
iteracin del hombre de nada servira que tuviramos un hardware y un software.
CONCEPTOS BSICOS
ALGORITMO VS PROGRAMA
Segn la RAE (http://www.rae.es) un Algoritmo es un conjunto ordenado y finito de operaciones
que permite hallar la solucin de un problema.
Para solucionar nuestro problema (comprar los billetes para realizar un viaje a Londres) se deben
seguir una serie de pasos u operaciones. Este conjunto de operaciones es finito y naturalmente
ordenado, la secuencia debe ser tal y como se indica, por ejemplo no podemos concretar formas de
pago si antes no se ha ido a una agencia. As, acabamos de desarrollar un algoritmo, de hecho de
forma cotidiana estamos continuamente generando algoritmos ya que continuamente se plantean
problemas que debemos solucionar.
Ahora bien, cuando este problema debe ser resuelto en un ordenador, el algoritmo se convierte en lo
que se denomina programa. Seguimos usando una secuencia ordenada y finita de pasos pero escrita
en un lenguaje que la mquina es capaz de entender.
CARACTERSTICAS DE UN PROGRAMA
Un algoritmo, posteriormente convertido en programa, debe cumplir una serie de caractersticas:
Debe ser finito. Estar formado por un conjunto finito de lneas de forma que en algn
punto ve alcanzado su fin.
Debe ser legible. Es importante crear cdigos limpios y fciles de leer, con tabulaciones
y espacios que diferencien las partes del programa. Si desarrollamos cdigos bien
estructurados nos ser ms fcil la correccin de errores y modificacin del mismo.
Busing System; using
System,Collections.Genericj
using System.Linq;
jusing System.Text;
Enamespace HolaMundo{class Program{
E3
statc void Hain(string[] args){Consol.MriteLine("Hola mundo);|:cnrcle.ReadLine();
El
El
class
prograin{
static void Hain(string[] args){
Ccnscle,Writeline("Hola
mundo")j Cense le,ReadLine();
}
}
}
Cdigo fuente con lneas de cdigo bien estructuradas. Fcil de entender, detectar errores y modificar.
Debe ser fcilmente modificable, es decir, debe estar diseado de forma que debe ser
sencillo el proceso de actualizacin o modificacin del mismo ante las nuevas necesidades
del usuario final.
Debe ser eficiente. El usuario acabar usando programas que solucionen sus problemas
de la mejor y ms rpida forma posible, as debemos crear programas que ocupen poco
espacio en memoria y se ejecuten rpidamente.
Deben ser modulares. Esta caracterstica ayuda a que el programa sea ms legible y fcil
de entender. Debemos perseguir realizar algoritmos que se encuentren divididos en
subalgoritmos de forma que se disponga de un grupo principal desde el que llamaremos
al resto. Al usar subprogramas adems incitamos la reutilizacin de cdigo y evitamos
la repeticin de este. Deber estar estructurado. Esta caracterstica engloba de alguna
forma las anteriores, ya que un programa estructurado ser fcil de leer, de modificar y
estar compuesto de subprogramas que permitirn la reutilizacin de cdigo.
NOTA: A la hora de realizar las actividades que encontrar en los captulos que forman el libro se
aconseja al lector que sus diferentes cdigos fuente posean las caractersticas mencionadas. Para ello:
Se comenzar cada subprograma un nivel hacia dentro con respeto al programa en
el que se incluye (pulsaremos la tecla TAB para empezar a escribir una serie de
caracteres.
LENGUAJE DE PROGRAMACIN
Habitualmente el ser humano se comunica a travs del uso del lenguaje, es decir, es capaz de generar
una serie de sonidos que forman lo que conocemos como fonemas, pasadas al papel son las letras de
nuestro alfabeto, que combinadas constituyen las slabas, palabras y frases. A este lenguaje se le
usan instrucciones similares a las que entiende la CPU de forma directa; mientras que otros estn
formados por palabras reservadas ms cercanas a las que usamos normalmente en el lenguaje natural.
As, en funcin de si el lenguaje de programacin est ms cerca del lenguaje mquina o del lenguaje
natural encontraremos:
Lenguajes de bajo nivel. Es el lenguaje de programacin ms cercano al lenguaje
mquina. Est constituido por palabras reservadas difciles de recordar y la sintaxis de las
instrucciones
es
bastante
compleja
ya
que
se
suele
trabajar
a nivel de registr
o.
Ejemplo de este tipo es el lenguaje ensamblador.
Lenguajes de nivel medio. Son lenguajes que se acercanun
poco
ms
al
lenguaje
natural introduciendo palabras reservadas similares a las que usamos habitualmente como
if, int o while pero que siguen proporcionando rdenes para trabajar a nivel de bit. Un
ejemplo claro de este tipo es el lenguaje de programacin C.
Lenguajes de alto nivel. Lenguajes parecidos al lenguaje humano tal que su forma de
proceder, su sintaxis, etc., es ms similar al lenguaje natural. Abstrae al programador del
funcionamiento interno de la mquina.
Proceso. Una vez damos la orden de ejecutar nuestro programa y este se coloca en
memoria y es decodificado instruccin a instruccin por el procesador se le denomina
proceso.
Encontraremos lenguajes de programacin con funciones que permiten generar programas
Para finalizar, hoy da usamos sobretodo aplicaciones con entorno grfico similar a los sistemas
operativos actuales. As, existen lenguajes de programacin adaptados a los nuevos tiempos que
desarrollan este tipo de programas que adems son orientados a sucesos.
Lenguajes de programacin no visuales. Este tipo de lenguajes generan programas en modo
texto. Aunque actualmente primen los entornos visuales an se sigue usando este tipo de
software en comandos para configuracin y administracin de equipos.
Lenguajes de programacin visuales. Generan programas a los que se asocia un entorno
visual. Estos lenguajes usarn entornos de desarrollo que proporcionarn las herramientas
necesarias para la creacin de paneles, botones, cuadros de texto, etc., de forma que el
programador se evite la programacin de estos componentes.
CDIGO
Aunque el trmino cdigo se ha usado en varias ocasiones en los prrafos anteriores no ha sido
definido an formalmente. Segn la Real Academia de la Lengua una de las definiciones de cdigo
es: Combinacin de signos que tiene un determinado valor dentro de un sistema establecido.
Podemos usar esta definicin para expresar la esencia de cdigo de un programa, ya que este est
formado por un conjunto de signos (elementos del lenguaje, elementos generados por el usuario,
signos matemticos, etc.) que tienen valor dentro de un sistema establecido, es decir, en las
especificaciones de un lenguaje de programacin concreto.
Ms comnmente podemos decir que se define cdigo al conjunto o subconjunto de lneas que forman
un programa. Estas lneas se configurarn con una estructura concreta y estarn formadas de unos u
otros elementos en funcin del lenguaje de programacin que estemos usando. Usaremos con
frecuencia la palabra cdigo fuente en lugar de cdigo.
Adems, en los lenguajes de programacin compilados usaremos el trmino cdigo objeto, siendo
este el cdigo generado tras la compilacin del cdigo fuente. El cdigo objeto es un cdigo mquina
o bytecode de forma que a partir de un cdigo fuente escrito en lenguaje natural, obtenemos cdigo