1. PROGRAMACION II
MODULO I – MODULO INTRODUCTORIO
LECCION II – CONCEPTOS BASICOS
1. Informática
2. Computador
3. Hardware – Software
4. Sistemas de información
5. Algoritmo
6. Diagrama de Flujo
7. Programa
8. Paradigmas de programación
9. Ensambladores, compiladores e intérpretes
10.Lenguaje de Programación
11.¿Cómo crear un programa?
2. PROGRAMACION II
MODULO I – LECCION II – CONCEPTOS BASICOS
INFORMATICA
La palabra informática se creo en Francia en 1962 y es el resultado de las palabras
INFORmación y autoMATICA.
- Es una disciplina científica.
- Se ocupa de obtener información automática.
- No se limita, solamente, al uso de la PC.
La informática se nutre de las siguientes disciplinas:
- Electrónica
- Lógica.
- Matemáticas.
- Teoría e la información.
- Comportamiento humano.
Se refiere al tratamiento automático de la información.
Infor: Información
Mática: Automática
El tratamiento de datos mediante ordenador es automático y racional pues se realiza
mediante órdenes establecidas y razonamientos humanos ya que el software es
creado por el hombre.
3. PROGRAMACION II
MODULO I – LECCION II – CONCEPTOS BASICOS
COMPUTADOR
Una computadora es el sistema formado por su hardware y su sistema
operativo.
5. PROGRAMACION II
MODULO I – LECCION II – CONCEPTOS BASICOS
• Hardware, equipo utilizado para el funcionamiento de una computadora.
El hardware se refiere a los componentes materiales de un sistema
informático. La función de estos componentes suele dividirse en tres
categorías principales: entrada, salida y almacenamiento.
• Software, programas de computadoras. Son las instrucciones
responsables de que el hardware (la máquina) realice su tarea. Como
concepto general, el software puede dividirse en varias categorías
basadas en el tipo de trabajo realizado. Las dos categorías primarias de
software son los sistemas operativos (software del sistema), que controlan
los trabajos del ordenador o computadora, y el software de aplicación, que
dirige las distintas tareas para las que se utilizan las computadoras.
6. PROGRAMACION II
MODULO I – LECCION II – CONCEPTOS BASICOS
SISTEMAS DE INFORMACION
Sistema, cualquier conjunto de dispositivos que colaboran en la realización de
una tarea. En informática, la palabra sistema se utiliza en varios contextos.
Un dato puede significar un número, una letra, un signo ortográfico o cualquier
símbolo que represente una cantidad, una medida, una palabra o una
descripción.
Información es un conjunto de datos significativos y pertinentes que
describan sucesos o entidades.
DATOS SIGNIFICATIVOS. Para ser significativos, los datos deben constar de
símbolos reconocibles, estar completos y expresar una idea no ambigua.
Los símbolos de los datos son reconocibles cuando pueden ser correctamente
interpretados. Muchos tipos diferentes de símbolos comprensibles se usan
para transmitir datos.
7. PROGRAMACION II
SISTEMAS DE INFORMACION
Actividades que realiza un Sistema de Información:
Entradas:
Datos generales del cliente: nombre, dirección, tipo de cliente, etc.
Políticas de créditos: límite de crédito, plazo de pago, etc.
Facturas (interfase automático).
Pagos, depuraciones, etc.
Proceso:
Cálculo de antigüedad de saldos, Cálculo de intereses moratorios.
Cálculo del saldo de un cliente.
Almacenamiento:
Movimientos del mes (pagos, depuraciones). Catálogo de clientes.
Facturas.
Salidas:
Reporte de pagos. Estados de cuenta. Pólizas contables (interfase automática)
Consultas de saldos en pantalla de una terminal.
9. PROGRAMACION II
MODULO I – LECCION II – CONCEPTOS BASICOS
ALGORITMO
Concepto Característica
Algoritmo: es un método Preciso: implica el orden de
para resolver un problema realización de cada uno de
mediante una serie de los pasos
pasos definidos, precisos y Definido: si se sigue dos
finitos. veces, se obtiene el mismo
resultado.
Finito: Tiene un numero
determinado de pasos,
implica que tiene un fin,
10. PROGRAMACION II
MODULO I – LECCION II – CONCEPTOS BASICOS
DIGRAMA DE FLUJO
Un diagrama de flujo es la representación gráfica de un algoritmo.
También se puede decir que es la representación detallada en forma
gráfica de como deben realizarse los pasos en la computadora para
producir resultados.
Esta representación gráfica se da cuando varios símbolos (que
indican diferentes procesos en la computadora), se relacionan entre si
mediante líneas que indican el orden en que se deben ejecutar los
procesos. Los símbolos utilizados han sido normalizados por el
instituto norteamericano de normalización (ANSI):
TEMA Nº 0 pág. 2/6
12. PROGRAMACION II
MODULO I – LECCION II – CONCEPTOS BASICOS
PROGRAMA
Un programa es un conjunto de ordenes para un ordenador. Estas ordenes se le deben dar en un
cierto lenguaje, que el ordenador sea capaz de
comprender.
El problema es que los lenguajes que realmente entienden los ordenadores resultan difíciles para
nosotros, porque son muy distintos de los que nosotros empleamos habitualmente para hablar.
Escribir programas en el lenguaje que utiliza internamente el ordenador (llamado “lenguaje
máquina” o “código maquina”) es un trabajo duro, tanto a la hora de crear el programa como
(especialmente) en el momento de corregir algún fallo o mejorar lo que se hizo.
Por eso, en la practica se emplean lenguajes mas parecidos al lenguaje humano, llamados
“lenguajes de alto nivel”. Normalmente, estos son muy parecidos al idioma ingles, aunque siguen
unas reglas mucho mas estrictas.
Un programa es un texto escrito en un lenguaje simple
que permite expresar una serie de acciones sobre
objetos (instrucciones) de forma no ambigua.
TEMA Nº 0 pág. 2/6
13. PROGRAMACION II
MODULO I – LECCION II – CONCEPTOS BASICOS
PROGRAMACION
La programación consiste en la traducción de algoritmos a versiones
en lenguajes de programación que puedan ser ejecutados directa o
indirectamente por un ordenador.
La mayoría de algoritmos consisten en una secuencia de pasos que
indican lo que hay que hacer. Estas instrucciones suelen ser de carácter
imperativo, es decir, indican lo que hay que hacer de forma
incondicional.
La programación de los algoritmos expresados en estos términos
se denomina programación imperativa. Así pues, en este tipo de
programas, cada instrucción implica realizar una determinada
acción sobre su entorno, en este caso, en el computador en el que
se ejecuta.
14. PROGRAMACION II
MODULO I – LECCION II – CONCEPTOS BASICOS
PROGRAMACION
Para entender cómo se ejecuta una instrucción, es necesario ver
cómo es el entorno en el que se lleva a cabo.
La mayoría de los procesadores se organizan de manera que los datos
y las instrucciones se encuentran en la memoria principal y la
unidad central de procesamiento (CPU, de las siglas en inglés) es la
que realiza el siguiente algoritmo para poder ejecutar el programa
en memoria:
1. Leer de la memoria la instrucción que hay que ejecutar.
2. Leer de la memoria los datos necesarios para su ejecución.
3. Realizar el cálculo u operación indicada en la instrucción y, según
la operación que se realice, grabar el resultado en la memoria.
4. Determinar cuál es la siguiente instrucción que hay que ejecutar.
5. Volver al primer paso.
15. PROGRAMACION II
MODULO I – LECCION II – CONCEPTOS BASICOS
COMO CREAR UN PROGRAMA
El programador diseña un programa, para resolver un problema particular.
Diseñar es un proceso creativo.
El proceso de diseño de un programa consta de los siguientes pasos o etapas:
Pasos:
Etapa Descripción
Pasos
1 Análisis del problema Conducen al diseño detallado por medio un código escrito en
forma de un algoritmo
2 Diseño de algoritmo
3 Codificación Se implementa el algoritmo en un código escrito en un lenguaje
de programación. Refleja las ideas desarrolladas en las etapas de
análisis y diseño
4 Compilación y ejecución Traduce el programa fuente a programa en código de maquina y
lo ejecuta.
5 Verificación Busca errores en las etapas anteriores y los elimina.
6 Depuración
7 Documentación Son comentarios, etiquetas de texto, que facilitan la comprensión
del programa
16. MODULO I – LECCION II – CONCEPTOS BASICOS
COMO CREAR UN PROGRAMA
19. PROGRAMACION II
MODULO I – LECCION II – CONCEPTOS BASICOS
LENGUAJES DE PROGRAMACION
Un lenguaje de programación es un lenguaje que puede ser utilizado para controlar
el comportamiento de una máquina, particularmente una computadora. Consiste en
un conjunto de reglas sintácticas y semánticas que definen su estructura y el significado de
sus elementos, respectivamente.
Aunque muchas veces se usa lenguaje de programación y lenguaje informático como si
fuesen sinónimos, no tiene por qué ser así, ya que los lenguajes informáticos engloban a
los lenguajes de programación y a otros más, como, por ejemplo, el HTML.
Un lenguaje de programación permite a un programador especificar de manera precisa:
sobre qué datos una computadora debe operar, cómo deben ser estos almacenados y
transmitidos y qué acciones debe tomar bajo una variada gama de circunstancias. Todo
esto, a través de un lenguaje que intenta estar relativamente próximo al lenguaje humano o
natural, tal como sucede con el lenguaje Léxico.
Los lenguajes de programación son herramientas que nos permiten crear programas
y software.
TEMA Nº 0 pág. 2/6
20. PROGRAMACION II
MODULO I – LECCION II – CONCEPTOS BASICOS
LENGUAJES DE PROGRAMACION
Los lenguajes de programación se determinan según el nivel de abstracción, Según la forma
de ejecución y Según el paradigma de programación que poseen cada uno de ellos y
esos pueden ser:
Lenguaje máquina: Todo se programa con 1 y 0, que es lo único que entiende el ordenador.
Ventaja: No necesita ser traducido.
Inconveniente: La dificultad, la confusión, para corregir errores, es propia de cada máquina.
De bajo nivel o ensamblador: Se utilizan mnemotécnicos (abreviaturas).
Ventaja: No es tan difícil como el lenguaje máquina.
Inconvenientes: Cada máquina tiene su propio lenguaje, necesitamos un proceso de
traducción.
El programa escrito en ensamblador se llama programa fuente y el programa que se obtiene al
ensamblarlo se llama programa objeto.
Lenguajes de alto nivel: Los más cercanos al lenguaje humano.
Ventaja: Son independientes de cada maquina (los compiladores aceptan las instrucciones
estándar, pero también tienen instrucciones propias).
Inconveniente: El proceso de traducción es muy largo y ocupa más recursos. Aprovecha
menos los recursos internos.
21. PROGRAMACION II
MODULO I – LECCION II – CONCEPTOS BASICOS
LENGUAJES DE PROGRAMACION
TEMA Nº 0 pág. 2/6
22. PROGRAMACION II
MODULO I – LECCION II – CONCEPTOS BASICOS
ENSAMBLADORES, COMPILADORES E INTÉRPRETES
Esta claro entonces que las ordenes que nosotros hemos escrito (lo que se conoce como “programa
fuente”) deben convertirse a lo que el ordenador comprende (obteniendo el “programa ejecutable”).
Si elegimos un lenguaje de bajo nivel, como el ensamblador (en ingles Assembly, abreviado como
Asm), la traducción es sencilla, y de hacer esa traducción se encargan unas herramientas llamadas
ensambladores (en ingles Assembler).
Cuando el lenguaje que hemos empleado es de alto nivel, la traducción es mas complicada, y a
veces implicara también recopilar varios fuentes distintos o incluir posibilidades que se encuentran en
bibliotecas que no hemos preparado nosotros. Las herramientas encargadas de todo esto son los
compiladores.
TEMA Nº 0 pág. 2/6
23. PROGRAMACION II
MODULO I – LECCION II – CONCEPTOS BASICOS
ENSAMBLADORES, COMPILADORES E INTÉRPRETES
Un intérprete es una herramienta parecida a un compilador, con la diferencia de que en los
interpretes no se crea ningún “programa ejecutable” capaz de funcionar “por si solo”, de modo que si
queremos distribuir nuestro programa a alguien, deberemos entregarle el programa fuente y también
el interprete que es capaz de entenderlo, o no le servirá de nada.
Cuando ponemos el programa en funcionamiento, el interprete de encarga de convertir el programa
en lenguaje de alto nivel a código maquina, orden por orden, justo en el momento en que hay que
procesar cada una de las ordenes. Para algunos lenguajes, es frecuente encontrar compiladores pero
no suele existir interpretes. Es el caso del lenguaje C, de Pascal y de C++, por ejemplo. En cambio,
para otros lenguajes, lo habitual es trabajar con interpretes y no con compiladores, como ocurre con
Python, Ruby y PHP.
Además, hoy en día existe algo que parece intermedio entre un compilador y un interprete:
Existen lenguajes que no se compilan para obtener un ejecutable para un ordenador concreto,
sino un ejecutable “genérico”, que es capaz de funcionar en distintos tipos de ordenadores, a
condicion de que en ese ordenador exista una “máquina virtual” capaz de entender esos
ejecutables genericos.
-Esta es la idea que se aplica en Java: los fuentes son ficheros de texto,
con extensión “.java”, que se compilan a ficheros “.class”. Estos ficheros “.class” se podrian
llevar a cualquier ordenador que tenga instalada una “maquina virtual Java” (las hay para la
mayoría de sistemas operativos).
TEMA Nº 0 pág. 2/6
24. PROGRAMACION II
MODULO I – LECCION II – CONCEPTOS BASICOS
ENSAMBLADORES, COMPILADORES E INTÉRPRETES
• Traductores de lenguaje : Los traductores de lenguaje son programas
que traducen a su vez los programas escritos en lenguaje de alto nivel a
código máquina. Se dividen en compiladores e intérpretes.
• Intérpretes : Es un traductor que toma un programa fuente, lo traduce y a
continuación lo ejecuta. El lenguaje que opera bajo este formato se
denomina lenguaje interpretado.
• Compiladores : Es un programa que traduce los programas fuentes
escritos en lenguaje de alto nivel a lenguaje de máquina. El programa
objeto obtenido de la compilación no ha sido traducido normalmente a
código máquina sino a ensamblador. Para obtener el programa máquina
real se utiliza un programa llamado enlazador (linker). El proceso de
enlazamiento conduce a un programa en lenguaje máquina directamente
ejecutable
27. PROGRAMACION II
MODULO I – LECCION II – CONCEPTOS BASICOS
PROGRAMACION MODULAR
➲ Es un método de resolución de
problemas que consiste en resolver de
forma independiente los subproblemas
que se obtienen de una descomposición del
problema general
28. PROGRAMACION II
MODULO I – LECCION II – CONCEPTOS BASICOS
PROGRAMACION MODULAR
➲ La base fundamental de este paradigma de
programación es el módulo
➲ Un módulo en un conjunto de rutinas que prestan un
servicio específico.
➲ Una rutina, subrutina o subprograma, como idea
general, se presenta como un algoritmo separado
del algoritmo principal, el cual permite resolver una tarea
específica.
29. PROGRAMACION II
MODULO I – LECCION II – CONCEPTOS BASICOS
Modularidad: Cohesión
➲ Un módulo debe ofrecer un grupo de servicios que
sin lugar a dudas deben ir juntos, por ejemplo:
● math.h
● stdio.h
➲ Por ejemplo en un procesador de texto, todos los
módulos tienen como objetivo cooperar para
producir
documentos con estilo y formato definido (módulo de
colores, módulo de tamaño, etc)
31. PROGRAMACION II
MODULO I – LECCION II – CONCEPTOS BASICOS
PROGRAMACION MODULAR
Ventajas de los Módulos
➲ Facilitan la escritura y depuración de un
programa
➲ Localización rápida de errores
➲ La modificación de un módulo no afecta a los
demás
➲ Un grupo de instrucciones que se repite en
varias partes de un programa puede incluirse en
un módulo y llamarlo en el programa.
32. PROGRAMACION II
MODULO I – LECCION II – CONCEPTOS BASICOS
PROGRAMACION MODULAR
Diseño Descendente
➲ En un proceso de refinamiento por
pasos, etapas o capas. Se comienza
desde lo más general hasta lo más
específico.
➲ En la solución de problemas grandes
es conveniente dividirlo en problemas
más pequeños, los cuales a su vez
pueden dividirse en sub-problemas
más pequeños.
33. PROGRAMACION II
MODULO I – LECCION II – CONCEPTOS BASICOS
PROGRAMACION MODULAR
Diseño Descendente
➲ Se inicia desde lo más general, luego
dividir y vencer
➲ Asegurarse de las capacidades y
especificaciones del lenguaje. Esto
permite cambiar el lenguaje en medio
del diseño sin ningún trauma.
➲ Postergar lo más posible el trabajo en
los detalles.
➲ Verificar cuidadosamente cada nivel.
36. PROGRAMACION II
MODULO I – LECCION II – CONCEPTOS BASICOS
PROGRAMACION MODULAR
Diseño de Rutinas
➲ Chequeo de prerrequisitos. Verificar si
en trabajo de la rutina esta bien
definida
➲ Definir el problema de la rutina en
términos de los datos de entrada,
salida y gestión de errores.
➲ Nombre de la rutina. Debe ser conciso
y representativo de lo que hace la rutina.
37. PROGRAMACION II
MODULO I – LECCION II – CONCEPTOS BASICOS
PROGRAMACION MODULAR
Diseño de Rutinas
➲ Establecer mecanismos de prueba
para la rutina. Revisar cualquier caso
que genere un error.
➲ Pruebe con diferentes formas para
codificar la rutina. La construcción de
programas es iterativa, es decir, se
prueba, se falla y se realiza un nuevo
esfuerzo hasta conseguir la versión
definitiva.
38. PROGRAMACION II
MODULO I – LECCION II – CONCEPTOS BASICOS
PROGRAMACION MODULAR
Codificación de Rutinas
➲ El diseño de una rutina equivale al
plano de una casa.
➲ La construcción de la casa equivale a
la codificación de la rutina
➲ Escriba la declaración de la rutina.
Esto se conoce como interfaz
➲ Escriba el algoritmo con frases de muy
alto nivel
39. PROGRAMACION II
MODULO I – LECCION II – CONCEPTOS BASICOS
PROGRAMACION MODULAR
Codificación de Rutinas
➲ Complete cada frase de alto nivel con
una o más líneas de código.
➲ Cheque el código informalmente.
➲ Comente y haga una prueba de los
trozos de código nuevo
40. PROGRAMACION II
MODULO I – LECCION II – CONCEPTOS BASICOS
PROGRAMACION MODULAR
Chequeo Formal de Código
➲ Haga una inspección mental de
código. Repase los algoritmos que se
han inventado para la solución del
problema.
➲ Compile la rutina. Esto mostrará todos
los errores de sintaxis.
➲ Elimine todas las causas que generen
advertencias
41. PROGRAMACION II
MODULO I – LECCION II – CONCEPTOS BASICOS
PROGRAMACION MODULAR
Reutilización de un Módulo
➲ Generalmente los algoritmos de cada
modulo sólo se escriben una sola vez
➲ La reutilización de un módulo por
otros programas implica ahorro de
tiempo. Si el módulo ha sido probado
y verificado previamente, se reduce la
posibilidad de errores.
➲ Fácil compresión del programa
completo.