Introduccion A La Programacion Unidad 1
Introduccion A La Programacion Unidad 1
Introduccion A La Programacion Unidad 1
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
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
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:
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.
(A==8)
Lenguajes de programacin
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
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 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.
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.
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.
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.
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.
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 contar con programas de apoyo que permitan realizar operaciones como:
a) b) c)
Sistema Operativo
3. Sistemas operativos multiprocesador: