7/30/2019 Introd. a la Algoritmia - Tema 2
1/22
Introduccin a la Algoritmia
Leccin 2Conceptos Bsicos de
Programacin
Pontificia Universidad Catlica Madre y Maestra
Vicerrectora Acadmica
Facultad Ciencias de las Ingenieras
Ingeniera en Sistemas y Computacin - ISC
16-ene-13
Santiago, Rep. Dom.
7/30/2019 Introd. a la Algoritmia - Tema 2
2/22
Conceptos Bsicos de Programacin
ProgramarEs la forma de dar rdenes a la computadora.
Se programa a travs de los lenguajes de
programacin.
La programacin es la transmisin de
instrucciones a la computadora, a travs de
un lenguaje de programacin.
Concepto de Programacin
7/30/2019 Introd. a la Algoritmia - Tema 2
3/22
Conceptos Bsicos de Programacin
ProgramarLa realizacin de un programa viene a
solucionar un problema especfico usando el
computador.
Toda la interfase o comunicacin con el
computador se realiza a travs de
instrucciones agrupadas en un programa.
El beneficiado o perjudicado de laprogramacin es el usuario. Por esta razn
es conveniente que se tome en cuenta al
programar.
Concepto de Programacin
7/30/2019 Introd. a la Algoritmia - Tema 2
4/22
Conceptos Bsicos de Programacin
Lenguaje de
ProgramacinEs un conjunto de smbolos, caracteres y reglas(programas) que le permiten a las personas
comunicarse con la computadora.
Tienen un conjunto de instrucciones que nos
permiten realizar operaciones de entrada-
salida, clculos, manejo de textos,lgica/comparacin y almacenamiento-
recuperacin.
Concepto de Programacin
7/30/2019 Introd. a la Algoritmia - Tema 2
5/22
Conceptos Bsicos de Programacin
...en funcin de...
La evolucin de los lenguajes de programacin
ha estado en funcin de:
- Las computadoras y sus sistemas operativos.
- Las aplicaciones.
- Los mtodos de programacin.
- Los fundamentos tericos.
- La importancia dada a la estandarizacin.
Evolucin de los Lenguajes de Programacin
7/30/2019 Introd. a la Algoritmia - Tema 2
6/22
Conceptos Bsicos de Programacin
El nico lenguaje que una computadora
comprende es su lenguaje mquina. Sin
embargo, las personas tienen dificultad para
entender el cdigo mquina.
Como resultado, los investigadores
desarrollaron primero un lenguaje ensamblador
y luego lenguajes de nivel superior.
Los lenguajes de nivel superior al lenguaje
mquina se enfocan en lo que el programadorquiere que la mquina haga, y no en cmo la
mquina ejecutar esos comandos.
Evolucin de los Lenguajes de Programacin
7/30/2019 Introd. a la Algoritmia - Tema 2
7/22
Conceptos Bsicos de Programacin
Evolucin de los Lenguajes de Programacin
Bajo Nivel
Son dependientes de la mquina, estn diseadospara ejecutarse en una determinada computadora.
Alto Nivel
Son independientes de la mquina y se puedenutilizar en una variedad de computadoras. Loslenguajes de ms alto nivel no ofrecen
necesariamente mayores capacidades deprogramacin, pero s ofrecen una interaccinprogramador/computaora ms avanzada.
7/30/2019 Introd. a la Algoritmia - Tema 2
8/22
Conceptos Bsicos de Programacin
Lenguaje de Bajo Nivel
Los lenguajes mquina son los lenguajes ms bsicos.
Consisten en hileras de nmeros y son definidos porel diseo del hardware. Esto nos dice que el lenguaje
mquina para una Apple no es el mismo que el de una
PC.
Esencialmente, el cdigo mquina consiste por
completo de los 0s y 1s del sistema numricosbinario.
Evolucin de los Lenguajes de Programacin
7/30/2019 Introd. a la Algoritmia - Tema 2
9/22
Conceptos Bsicos de Programacin
Lenguaje de Bajo Nivel
Los lenguajes ensambladores fueron desarrollados
usando nemotcnicos similares a las palabras delidioma ingls.
Los programadores trabajan en editores de texto, que
son simples procesadores de palabras, para crear
archivos fuente.
Los archivos fuente contienen instrucciones para que
la computadora las ejecute, pero tales archivos deben
primero traducirse al lenguaje mquina.
Evolucin de los Lenguajes de Programacin
7/30/2019 Introd. a la Algoritmia - Tema 2
10/22
Conceptos Bsicos de Programacin
Lenguaje de Alto Nivel
Los lenguajes de alto nivel fueron desarrollados para
hacer ms fcil la programacin.
Estos lenguajes son llamados de alto nivel porque su
sintaxis es ms cercana al lenguaje humano que el
cdigo del lenguaje mquina o ensamblador.
Los comandos escritos en cualquier lenguajeensamblador o de alto nivel deben ser traducidos de
nuevo a cdigo mquina antes de que la computadora
pueda ejecutar los comandos. Estos programas
traductores se denominan compiladores.
Evolucin de los Lenguajes de Programacin
7/30/2019 Introd. a la Algoritmia - Tema 2
11/22
Conceptos Bsicos de Programacin
Generaciones
A medida que ms alta es la generacin, ms fcil de
usar es el lenguaje, ms poderoso, verstil y completoque los de la generacin previa.
Evolucin de los Lenguajes de Programacin
7/30/2019 Introd. a la Algoritmia - Tema 2
12/22
Conceptos Bsicos de Programacin
Evolucin de los Lenguajes de Programacin
Lenguajes de Modelado, SistemasExpertos e Inteligencia Artificial
Lenguajes Orientados a Objetos
Lenguajes Estructurados
Ensambladores
Lenguaje Mquina
7/30/2019 Introd. a la Algoritmia - Tema 2
13/22
Conceptos Bsicos de Programacin
Generaciones
Los lenguajes mquina son considerados de primera
generacin.
Los lenguajes ensambladores son considerados de
segunda generacin
Evolucin de los Lenguajes de Programacin
7/30/2019 Introd. a la Algoritmia - Tema 2
14/22
Conceptos Bsicos de Programacin
Generaciones
Los lenguajes de alto nivel comenzaron con la tercera
generacin: Los lenguajes estructurados.
Tienen la capacidad de soportar programacin
estructurada, lo cual significa que proporcionan
estructuras explcitas para control y ciclos.
Los miembros de un equipo de desarrollo pueden leerel cigo de los dems y comprender la lgica y el
flujo de control del programa.
Son porttiles.
Evolucin de los Lenguajes de Programacin
7/30/2019 Introd. a la Algoritmia - Tema 2
15/22
Conceptos Bsicos de Programacin
Generaciones
Los lenguajes de la cuarta generacin (4GL) son
principalmente lenguajes para propsitos especiales,que son ms fciles de usar que los de tercera
generacin.
Con los 4GL se pueden crear aplicaciones
rpidamente. La mayora de los 4GL tienen capacidad
para interactuar con bases de datos.
Evolucin de los Lenguajes de Programacin
7/30/2019 Introd. a la Algoritmia - Tema 2
16/22
Conceptos Bsicos de Programacin
Generaciones
Los lenguajes de la quinta generacin incluyen los de
inteligencia artificial y sistemas expertos. Tienen porobjeto pensar y anticipar las necesidades de sus
usuarios, en lugar de slo ejecutar un conjunto de
rdenes.
Evolucin de los Lenguajes de Programacin
7/30/2019 Introd. a la Algoritmia - Tema 2
17/22
Conceptos Bsicos de Programacin
Evolucin de los Lenguajes de Programacin
7/30/2019 Introd. a la Algoritmia - Tema 2
18/22
Conceptos Bsicos de Programacin
Buena documentacin.
Claridad y simplicidad en la codificacin. Realizacin de programas eficientes.
Modularidad en la realizacin de losprogramas.
Generalidad en la codificacin.Contemplar la mayora de las situaciones.
Caractersticas de un buenProgramador
7/30/2019 Introd. a la Algoritmia - Tema 2
19/22
Conceptos Bsicos de Programacin
Capaz de medir el rendimiento de susprogramas.
Conocer algoritmos sofisticados, e inventarlossi no existen.
Crear interfaces hombre-mquina apropiadas.
Asegurar la calidad de su programa.
Buscar constantemente mejorar sus destrezas yformacin.
Conocer las herramientas de su profesin.
Deberes de un Programador
7/30/2019 Introd. a la Algoritmia - Tema 2
20/22
Conceptos Bsicos de Programacin
Caractersticas de un buen Programa
Exactitud de los clculos. No reflejar resultadoserrneos.
Integridad
Comprensin general del programa y su lgica.Cdigo fuente escrito claramente para que otroprogramador siga su lgica sin esfuerzo.
Claridad
7/30/2019 Introd. a la Algoritmia - Tema 2
21/22
Conceptos Bsicos de Programacin
Caractersticas de un buen Programa
Lo ms simple posible, acorde con los objetivosgenerales del programa. Es mejor sacrificar laeficiencia a cambio de su estructura simple.
Simplicidad
Velocidad de ejecucin y el uso eficiente de lamemoria, pero no a cambio de la claridad ysimplicidad.
Eficiencia
7/30/2019 Introd. a la Algoritmia - Tema 2
22/22
Conceptos Bsicos de Programacin
Caractersticas de un buen Programa
Muchos programas pueden dividirse en variassubtareas identificables. Es bueno desarrollar cadasubtarea en mdulos separados de programas.
Modularidad
Usualmente se quiere que un programa sea lo msgeneral posible, dentro de los lmites razonables.
Generalidad