programacion ii modulo1-leccion1-
Post on 18-Nov-2014
829 Views
Preview:
DESCRIPTION
TRANSCRIPT
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?
MODULO I – MODULO INTRODUCTORIO
PROGRAMACION II
LECCION II – CONCEPTOS BASICOS
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.
INFORMATICA
MODULO I – LECCION II – CONCEPTOS BASICOS
PROGRAMACION II
PROGRAMACION II
COMPUTADORUna computadora es el sistema formado por su hardware y su sistema
operativo.
MODULO I – LECCION II – CONCEPTOS BASICOS
¿CÓMO FUNCIONA UN COMPUTADOR?
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.
PROGRAMACION II
MODULO I – LECCION II – CONCEPTOS BASICOS
Sistema, cualquier conjunto de dispositivos que colaboran en la realización deuna 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 cualquiersímbolo que represente una cantidad, una medida, una palabra o unadescripción.
Información es un conjunto de datos significativos y pertinentes quedescriban sucesos o entidades.
DATOS SIGNIFICATIVOS. Para ser significativos, los datos deben constar desímbolos reconocibles, estar completos y expresar una idea no ambigua.
Los símbolos de los datos son reconocibles cuando pueden ser correctamenteinterpretados. Muchos tipos diferentes de símbolos comprensibles se usanpara transmitir datos.
PROGRAMACION II
SISTEMAS DE INFORMACION
MODULO I – LECCION II – CONCEPTOS BASICOS
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.
PROGRAMACION II
SISTEMAS DE INFORMACION
PROGRAMACION II
SISTEMAS DE INFORMACION
MODULO I – LECCION II – CONCEPTOS BASICOS
Concepto Característica
Algoritmo: es un método
para resolver un problema
mediante una serie de
pasos definidos, precisos y
finitos.
Preciso: implica el orden de
realización de cada uno de
los pasos
Definido: si se sigue dos
veces, se obtiene el mismo
resultado.
Finito: Tiene un numero
determinado de pasos,
implica que tiene un fin,
ALGORITMO
PROGRAMACION II
MODULO I – LECCION II – CONCEPTOS BASICOS
DIGRAMA DE FLUJO
TEMA Nº 0 pág. 2/6
PROGRAMACION II
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):
MODULO I – LECCION II – CONCEPTOS BASICOS
DIGRAMA DE FLUJO
PROGRAMACION II
MODULO I – LECCION II – CONCEPTOS BASICOS
PROGRAMA
TEMA Nº 0 pág. 2/6
PROGRAMACION II
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.
MODULO I – LECCION II – CONCEPTOS BASICOS
PROGRAMACION
PROGRAMACION II
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.
MODULO I – LECCION II – CONCEPTOS BASICOS
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.
PROGRAMACION
PROGRAMACION II
MODULO I – LECCION II – CONCEPTOS BASICOS
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:
Pasos
Etapa Descripción
1 Análisis del problema Conducen al diseño detallado por medio un código escrito en
forma de un algoritmo2 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
COMO CREAR UN PROGRAMA
PROGRAMACION II
MODULO I – LECCION II – CONCEPTOS BASICOS
COMO CREAR UN PROGRAMA
MODULO I – LECCION II – CONCEPTOS BASICOS
COMO CREAR UN PROGRAMA
PROGRAMACION II
MODULO I – LECCION II – CONCEPTOS BASICOS
EJEMPLO DE UN PROGRAMA
PROGRAMACION II
MODULO I – LECCION II – CONCEPTOS BASICOS
LENGUAJES DE PROGRAMACION
TEMA Nº 0 pág. 2/6
PROGRAMACION II
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.
MODULO I – LECCION II – CONCEPTOS BASICOS
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.
LENGUAJES DE PROGRAMACION
PROGRAMACION II
MODULO I – LECCION II – CONCEPTOS BASICOS
LENGUAJES DE PROGRAMACION
TEMA Nº 0 pág. 2/6
PROGRAMACION II
MODULO I – LECCION II – CONCEPTOS BASICOS
ENSAMBLADORES, COMPILADORES E INTÉRPRETES
TEMA Nº 0 pág. 2/6
PROGRAMACION II
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.
MODULO I – LECCION II – CONCEPTOS BASICOS
ENSAMBLADORES, COMPILADORES E INTÉRPRETES
TEMA Nº 0 pág. 2/6
PROGRAMACION II
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).
MODULO I – LECCION II – CONCEPTOS BASICOS
• 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
ENSAMBLADORES, COMPILADORES E INTÉRPRETES
PROGRAMACION II
MODULO I – LECCION II – CONCEPTOS BASICOS
PROGRAMACION II
PARADIGMAS DE PROGRAMACION
MODULO I – LECCION II – CONCEPTOS BASICOS
PROGRAMACION II
PROGRAMACION MODULAR
MODULO I – LECCION II – CONCEPTOS BASICOS
➲ 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
PROGRAMACION II
PROGRAMACION MODULAR
MODULO I – LECCION II – CONCEPTOS BASICOS
➲ 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.
PROGRAMACION II
PROGRAMACION MODULAR
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)
PROGRAMACION II
MODULO I – LECCION II – CONCEPTOS BASICOS
PROGRAMACION II
MODULO I – LECCION II – CONCEPTOS BASICOS
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.
PROGRAMACION II
PROGRAMACION MODULAR
MODULO I – LECCION II – CONCEPTOS BASICOS
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 grandeses conveniente dividirlo en problemas
más pequeños, los cuales a su vez
pueden dividirse en sub-problemas
más pequeños.
PROGRAMACION II
PROGRAMACION MODULAR
MODULO I – LECCION II – CONCEPTOS BASICOS
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.
PROGRAMACION II
PROGRAMACION MODULAR
MODULO I – LECCION II – CONCEPTOS BASICOS
PROGRAMACION II
PROGRAMACION MODULAR
MODULO I – LECCION II – CONCEPTOS BASICOS
MODULO I – LECCION II – CONCEPTOS BASICOS
PROGRAMACION II
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.
PROGRAMACION II
PROGRAMACION MODULAR
MODULO I – LECCION II – CONCEPTOS BASICOS
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.
PROGRAMACION II
PROGRAMACION MODULAR
MODULO I – LECCION II – CONCEPTOS BASICOS
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
PROGRAMACION II
PROGRAMACION MODULAR
MODULO I – LECCION II – CONCEPTOS BASICOS
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
PROGRAMACION II
PROGRAMACION MODULAR
MODULO I – LECCION II – CONCEPTOS BASICOS
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
PROGRAMACION II
PROGRAMACION MODULAR
MODULO I – LECCION II – CONCEPTOS BASICOS
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.
PROGRAMACION II
PROGRAMACION MODULAR
MODULO I – LECCION II – CONCEPTOS BASICOS
top related