41
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

Programacion ii modulo1-leccion1-

Embed Size (px)

DESCRIPTION

Conceptos Básicos de la Informatica

Citation preview

Page 1: Programacion ii modulo1-leccion1-

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

Page 2: Programacion ii modulo1-leccion1-

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

Page 4: Programacion ii modulo1-leccion1-

¿CÓMO FUNCIONA UN COMPUTADOR?

PROGRAMACION II

MODULO I – LECCION II – CONCEPTOS BASICOS

Page 5: Programacion ii modulo1-leccion1-

• 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

Page 6: Programacion ii modulo1-leccion1-

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

Page 7: Programacion ii modulo1-leccion1-

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

Page 8: Programacion ii modulo1-leccion1-

PROGRAMACION II

SISTEMAS DE INFORMACION

MODULO I – LECCION II – CONCEPTOS BASICOS

Page 9: Programacion ii modulo1-leccion1-

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

Page 10: Programacion ii modulo1-leccion1-

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

Page 11: Programacion ii modulo1-leccion1-

DIGRAMA DE FLUJO

PROGRAMACION II

MODULO I – LECCION II – CONCEPTOS BASICOS

Page 12: Programacion ii modulo1-leccion1-

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

Page 13: Programacion ii modulo1-leccion1-

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

Page 14: Programacion ii modulo1-leccion1-

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

Page 15: Programacion ii modulo1-leccion1-

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

Page 16: Programacion ii modulo1-leccion1-

COMO CREAR UN PROGRAMA

MODULO I – LECCION II – CONCEPTOS BASICOS

Page 17: Programacion ii modulo1-leccion1-

COMO CREAR UN PROGRAMA

PROGRAMACION II

MODULO I – LECCION II – CONCEPTOS BASICOS

Page 18: Programacion ii modulo1-leccion1-

EJEMPLO DE UN PROGRAMA

PROGRAMACION II

MODULO I – LECCION II – CONCEPTOS BASICOS

Page 19: Programacion ii modulo1-leccion1-

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

Page 20: Programacion ii modulo1-leccion1-

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

Page 21: Programacion ii modulo1-leccion1-

LENGUAJES DE PROGRAMACION

TEMA Nº 0 pág. 2/6

PROGRAMACION II

MODULO I – LECCION II – CONCEPTOS BASICOS

Page 22: Programacion ii modulo1-leccion1-

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

Page 23: Programacion ii modulo1-leccion1-

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

Page 24: Programacion ii modulo1-leccion1-

• 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

Page 25: Programacion ii modulo1-leccion1-

PROGRAMACION II

PARADIGMAS DE PROGRAMACION

MODULO I – LECCION II – CONCEPTOS BASICOS

Page 26: Programacion ii modulo1-leccion1-

PROGRAMACION II

PROGRAMACION MODULAR

MODULO I – LECCION II – CONCEPTOS BASICOS

Page 27: Programacion ii modulo1-leccion1-

➲ 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

Page 28: Programacion ii modulo1-leccion1-

➲ 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

Page 29: Programacion ii modulo1-leccion1-

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

Page 30: Programacion ii modulo1-leccion1-

PROGRAMACION II

MODULO I – LECCION II – CONCEPTOS BASICOS

Page 31: Programacion ii modulo1-leccion1-

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

Page 32: Programacion ii modulo1-leccion1-

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

Page 33: Programacion ii modulo1-leccion1-

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

Page 34: Programacion ii modulo1-leccion1-

PROGRAMACION II

PROGRAMACION MODULAR

MODULO I – LECCION II – CONCEPTOS BASICOS

Page 35: Programacion ii modulo1-leccion1-

MODULO I – LECCION II – CONCEPTOS BASICOS

PROGRAMACION II

Page 36: Programacion ii modulo1-leccion1-

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

Page 37: Programacion ii modulo1-leccion1-

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

Page 38: Programacion ii modulo1-leccion1-

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

Page 39: Programacion ii modulo1-leccion1-

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

Page 40: Programacion ii modulo1-leccion1-

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

Page 41: Programacion ii modulo1-leccion1-

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