Вы находитесь на странице: 1из 29

Introduccin a la programacin

Algoritmos y Programas

Algoritmo: Es una secuencia ordenada de pasos elementales, exenta de ambigedades, que lleva a la solucin de un problema dado en un tiempo finito.
Los algoritmos son independientes del lenguaje de programacin y de la mquina en la que se ejecuta.

Algoritmos y programas

Caractersticas:

Correccin: sin errores Precisin: sin ambigedades Finitud: debe terminar Eficiencia:
Temporal: menor tiempo Espacial: menor uso de memoria

Repetitividad: solucin genrica a un problema dado.

Algoritmos y programas

Programa: Implementacin de un algoritmo en un lenguaje de programacin. Un programa est constituido por un conjunto de instrucciones que la computadora ejecuta de modo secuencial (una a continuacin de la otra) Conjunto de ordenes que se dan a la computadora indicando las tareas a realizar.

Algoritmos y programas
Programa

Datos de entrada

Programa Instrucciones

Datos de salida

Algoritmos y programas

Un programa es un medio para conseguir la informacin necesaria que soluciona un problema. La programacin es un proceso de solucin de problemas. Al desarrollar un programa se siguen las siguientes fases: 1. Definicin y Anlisis del problema 2. Diseo de algoritmos

Diagrama de flujo Pseudocdigo

3. 4. 5. 6.

Codificacin del programa Depuracin y verificacin del programa (Prueba) Documentacin Mantenimiento

Lenguajes de programacin

Instruccin: Es un conjunto de smbolos que para la computadora representan una orden. Las instrucciones se escriben en los lenguajes de programacin. Los lenguajes se forman con:
Smbolos:

lxico Se forman siguiendo reglas precisas: Sintaxis

Sintaxis y semntica

Sintaxis: Esta relacionada con la forma de escribir los programas. Sera, como un programa escrito por un programador, es ledo por otro y parseado por la computadora.
Ejemplos

son las declaraciones de variables, las instrucciones, las expresiones de verdad, etc.

Semntica: Esta relacionada con el significado de un programa, como se comporta cuando se ejecuta en la computadora. Sera, como un programa compuesto por un programador, es entendido por otro, e interpretado por la computadora.

Ejemplos: Sintaxis y semntica


Ejemplos en el lenguaje C Sintaxis Semntica
A=A*3+5; a la variable A le doy el resultado de tomar el valor que contiene multiplicarlo por 3 y sumarle 5 compara el valor de la variable A con el numero 8

(A==8)

Lenguajes de programacin

Los lenguajes utilizados en la actualidad pueden agruparse en:


Lenguaje maquina 2. Lenguaje de bajo nivel (ensamblador) 1. Lenguajes de alto nivel
1.

Lenguajes mquina
Se llama lenguaje mquina a las instrucciones que especifican una operacin, las que se dan directamente a la computadora, utilizando una serie de dgitos binarios (bits) representados por los nmeros 0 y 1..
Ejemplo: 0110 1001 1010 1011 (indica una suma entre dos variable numricas)

Lenguajes mquina
Sus caractersticas son:
El

nico que entiende la computadora Repertorio reducido de instrucciones Depende de la mquina, del hardware de la computadora Diferirn de una computadora a otra Es difcil de entender

Lenguajes de bajo nivel: Ensamblador

El lenguaje de bajo nivel por excelencia es el ensamblador (assembler language).


Cada

lnea de cdigo se traduce en una instruccin para la mquina Las instrucciones en lenguaje ensamblador son conocidas como mnemotcnicos. Es un conjunto reducido de instrucciones Es difcil de entender

Por ejemplo, mnemotcnicos tpicos de operaciones aritmticas son: ADD, SUB, DIV, etc.

Lenguajes de bajo nivel: Ensamblador

Lenguajes de programacin

Una instruccin tpica de suma seria: ADD M, N, P Esto significa "sumar el nmero contenido en la posicin de memoria M al nmero almacenado en la posicin de memoria N y poner el resultado en la posicin de memoria P" Evidentemente es mucho ms sencillo recordar la instruccin anterior con un mnemotcnico que su equivalente en cdigo mquina.

0110 1001 1010 1011

Lenguajes de programacin

Un programa escrito en ensamblador no puede ser ejecutado directamente por la computadora (en esto se diferencia esencialmente del lenguaje mquina) sino que requiere una fase de traduccin al lenguaje mquina.

Lenguajes de programacin
Programa Fuente: Es el programa original escrito en ensamblador Programa Objeto: Es el programa traducido en lenguaje maquina, entendible ya directamente por la computadora. El traductor de Programas: fuente a objeto es un programa existente en casi todas las computadoras llamado, ensamblador.

Lenguajes de Alto Nivel


1. 2.

3.

Son los mas utilizados por los programadores. Estn diseados para que las personas escriban y entiendan los programas de un modo mucho ms fcil que los lenguajes mquina y ensambladores. Otra razn es que son independientes de la mquina; esto es, las instrucciones del programa no dependen del diseo del hardware o de una computadora en particular.

En consecuencia, programas escritos en lenguajes de alto nivel son portables o transportables, lo que significa la posibilidad de poder ser ejecutados con poca o ninguna modificacin en diferentes tipos de computadoras; al contrario que los programas en lenguaje mquina o ensamblador que slo se pueden ejecutar en un determinado tipo de computadora.

Lenguajes de Alto Nivel

Los lenguajes de alto nivel presentan las siguientes ventajas:


El

tiempo de formacin de los programadores es relativamente corto, comparado con otros lenguajes. La escritura de programas se basa en reglas sintcticas similares a los lenguajes humanos. Nombres de las instrucciones tales como READ, WRITE, PRINT, OPEN, etc. Las modificaciones de los programas y puestas a punto son ms fciles. Reduccin del coste de los programas. Transportabilidad.

Lenguajes de programacin

Traductores de lenguaje

Son programas que traducen programas fuente escritos en lenguajes de alto nivel a cdigo mquina.

Los traductores se dividen en: Compiladores Interpretes

Interpretes
Un interprete es un traductor que toma un programa fuente, lo traduce y a continuacin lo ejecuta, a esta tarea la lleva a cabo instruccin por instruccin. Dicho programa por medio de la computadora desarrolla una tarea especifica.

Un lenguaje que soporte un traductor de tipo intrprete se denomina lenguaje interpretado.


BASIC es el modelo por excelencia interpretado. Los programas fuente en BASIC se escriben con

ayuda de un programa denominado editor que suele venir incorporado al programa intrprete.

Compiladores

Un compilador es un programa que traduce los programas fuente escritos en lenguajes de alto nivel a lenguaje mquina. Los programas escritos en lenguajes de alto nivel (en el editor del lenguaje) se llaman programas fuente y el programa traducido programa objeto. Aqu el compilador traduce sentencia a sentencia el programa fuente. Lenguajes compiladores tpicos son: PASCAL, C, C++

Sistema Operativo

Un SISTEMA OPERATIVO es un conjunto de programas que permiten utilizar los recursos de la mquina. Esto es, sirve como un enlace entre el hardware y el usuario.
Ejemplos de sistemas operativos: MS-DOS, OS/2, UNIX (y sus diferentes versiones como SOLARIS, IRIX, LINUX, etc.), Windows 7, Windows XP, VMS (Vax) y MAC-OS. As como los sistemas operativos de red (Novell) y sistemas operativos distribuidos (MOSIX, Amoeba y Mach).

Sistema Operativo

Los sistemas operativos de red son una ampliacin de los sistemas operativos convencionales que permiten el control de una red de computadoras. Disponen de programas de control de interfaz con la red y permiten establecer una sesin de trabajo con un sistema remoto, transferir archivos entre computadoras, intercambiar correo, etc. Los sistemas operativos distribuidos controlan el procesamiento distribuido. Este implica la conexin en paralelo de varias computadoras ejecutando funciones concurrentemente y comunicndose entre si. Estos resultan complejos, pero obedecen a la necesidad de centralizar y compartir recursos

Sistema Operativo

Un sistema operativo debe ser:


1. Eficiente, es decir, no debe desperdiciar tiempo til y debe realizar sus funciones de una manera rpida. 2. Fiable, ya que un fallo de l, puede causar que el sistema se ''caiga''. 3. Deben ser de tamao pequeo.

Un sistema operativo debe contar con programas de apoyo que permitan realizar operaciones como:
a) b) c)

Editar. Transferir informacin Ejecutar programas.

Sistema Operativo: Categoras


Sistemas operativos multitarea (o multiprogramados), los cuales son capaces de ejecutar ms de un programa a la vez.
1.

Estos se basan en tcnicas de multiprogramacin y son los ms extendidos en la actualidad.

Sistema Operativo: Categoras


2. Sistemas operativos multiusuario, los cuales son sistemas que permiten que ms de un usuario acceda al sistema de manera simultnea. Naturalmente dicho sistema debe ser tambin multitarea ya que cada usuario podr ejecutar varios programas a la vez. UNIX es un ejemplo de este tipo de sistemas.

Sistema Operativo
3. Sistemas operativos multiprocesador:

Existen sistemas que tienen dos o ms procesadores interconectados, trabajando simultneamente.


En este caso, el sistema operativo debe ser capaz de administrar el reparto del trabajo entre los distintos procesadores para sacar provecho del paralelismo existente. (LINUX, UNIX y WINDOWS XP y 7, MAC-OS).

Вам также может понравиться