Sunteți pe pagina 1din 50

TALLER DE

PROGRAMACIÓN

Clase 1
Objetivo

Adquirir la habilidad del manejo de un


lenguaje de programación de alto nivel para
el procesamiento de datos.
Horario

Aula 4

Martes y jueves

11:00 – 12:30
Evaluación

Teórico 30%

Práctico 70%
Evaluación diagnostica

15 minutos para la evaluación diagnostica


Dato vs Información

¿Es lo mismo dato que información?


Los datos constan de hechos en bruto.
La información son datos procesados y significativos.
Computadora

La computadora es una herramienta que procesa datos y


los convierte en información significativa.

DATOS COMPUTADORA INFORMACIÓN


Partes de una computadora
• Hardware
Consta de las partes físicas (tangibles).

• Software
Es una lista de instrucciones detalladas que indican a la
computadora lo que ha de hacer (programas).
Componentes más
importantes de una computadora
Procesador
Unidad Central de Procesamiento
CPU
UC Procesador UAL
Las funciones principales de 1. Realización de las operaciones
este elemento son el control,
(Unidad Central
UAL de Proceso) aritméticas como: suma, resta,
la coordinación y la Unidad aritmética y lógica multiplicación y división.
interpretación de las 2. Ejecución de operaciones de tipo
instrucciones que componen lógico: comparación de dos datos.
un programa.

UC
Entrada Unidad de Control Salida

Memoria Almacenamiento
Secundario
Tipos de programas

Sistemas operativos, ofimática, de utilidad, navegadores,


lenguajes de programación, entre otros.
Lenguajes de
programación

¿Qué es un lenguaje de programación?

Es un programa que sirve para escribir programas para la


comunicación usuario/maquina.

Unos programas especiales llamados traductores


convierten las instrucciones escritas en lenguajes de
programación en instrucciones escritas en lenguaje
maquina (0 y 1) que esta puede entender.
Instrucciones a la computadora

Un programa consta de un conjunto de instrucciones,


cada una de las cuales especifica ciertas operaciones que
debe ejecutar la computadora.

Las instrucciones básicas y comunes de los programas se


resumen en cuatro grupos:
• Instrucciones de entrada/salida.
• Instrucciones aritmético-lógicas.
• Instrucciones selectivas.
• Instrucciones repetitivas.
Un lenguaje de programación permite a las personas
comunicarse con la computadora mediante un lenguaje
más apropiado a las características humanas y que se
pueda traducir al lenguaje maquina.

Existen tres tipos de lenguajes:

• Lenguaje máquina.
• Lenguaje de bajo nivel (ensamblador).
• Lenguaje de alto nivel.
Lenguaje maquina

Son escritos en lenguajes directamente legibles por la


computadora, ya que sus instrucciones son cadenas
binarias (0 y 1) que especifican una operación y la
dirección de memoria implicada.
Las instrucciones de lenguaje maquina dependen del
hardware.

0110 1001 1010 1011

¿El lenguaje maquina de una PC y un celular es el


mismo?
No
Ventajas del lenguaje maquina

• No requiere traducción.
• Velocidad de ejecución superior a cualquier otro.

Desventajas del lenguaje maquina

• Dificultad y lentitud en la codificación.


• Alta dificultad para verificar y poner a punto los
programas.
• Los programas solo son ejecutados en el mismo tipo
de procesador.
Lenguaje de bajo nivel
(ensamblador)

Son mas fáciles de usar que los lenguajes maquina, pero


al igual que ellos dependen de la maquina en particular.
Las instrucciones en lenguaje ensamblador son
instrucciones conocidas como nemotécnicos
(mnemonics). Algunos nemotécnicos de operaciones
aritméticas son: ADD, SUB, DIV. Ejemplo:

ADD, M, N, P

¿Cuál seria su equivalente en código maquina?

0110 1001 1010 1011


Ventajas del lenguaje de bajo nivel
• Son mas fáciles de codificar que el lenguaje maquina.
• Mantiene la velocidad de ejecución relativo al
lenguaje maquina.
Desventajas del lenguaje de bajo nivel
• Dependencia de la maquina.
• La formación de los programadores es compleja.

La aplicación de los lenguajes ensamblador es


muy reducida a aplicaciones de tiempo real,
control de procesos y dispositivos electrónicos,
entre otros.
Lenguaje de alto nivel

Están diseñados para que los programadores escriban y


entiendan los programas de un modo mas fácil que el
lenguaje maquina y el de bajo nivel.

No dependen del hardware o de una computadora en


particular, lo que significa la posibilidad de ser portables
fácilmente con algunas adecuaciones.

Ejemplo:

suma = numero1 + numero2


Ventajas del lenguaje de alto nivel
• La escritura de los programas se basan en reglas
sintácticas similares a los lenguajes humanos.
• Transportabilidad.
• Reducción de coste de los programas.

Desventajas del lenguaje de alto nivel


• No se aprovechan los recursos internos de la maquina
como en el lenguaje maquina o ensamblador.
• Aumento de la ocupación de memoria.
• El tiempo de ejecución de los programas es mucho
mayor.
Algunos lenguajes de programación
Traductores de
lenguaje

Los traductores de lenguaje son programas que traducen


a su vez los programas fuente escritos en un lenguaje de
alto nivel a código maquina. Los traductores se dividen
en:

• Interpretes.
• Compiladores.
Compiladores

Los compiladores convierten el código fuente escrito en


un lenguaje de alto nivel a lenguaje maquina.

Programa fuente

Compilador

Programa objeto

enlazador

Programa ejecutable
(en lenguaje maquina)
Fases de ejecución de un
programa ejecutable
inicio

Editar programa fuente

Compilar el programa

Modificación del
Programa fuente
si ¿Existen
errores en la
Compilación?

no

Programa objeto

Enlazador Programa ejecutable

Ejecución
Interpretes

Un interprete es un traductor que toma un programa


fuente, lo traduce a lenguaje maquina (línea a línea) y lo
ejecuta.
Estos programas por ser traducidos a lenguaje maquina al
momento de ejecutarlos son por lo regular mas lentos
que los compilados.
Programa fuente

Interprete

Traducción y ejecución
(línea a línea)
Historia de los lenguajes
de programación

La historia de la informática y la computación se ha


caracterizado fundamentalmente por la existencia de
centenares de lenguajes de programación, pero son solo
unas decenas escasas lo que han tenido un impacto
significativo.
Fases en la
resolución de problemas

El proceso de diseñar un programa es un proceso creativo,


pero se puede considerar una serie de fases o pasos
comunes:

1. Análisis del problema.


2. Diseño del algoritmo.
3. Codificación (implementación).
4. Compilación/Interpretación, ejecución y verificación.
5. Depuración y mantenimiento.
6. Documentación.
Análisis del problema

Esta fase requiere una clara definición, donde se


contemple exactamente lo que debe hacer el programa,
datos de entrada, procesamiento y el resultado de la
solución deseada.

En la etapa del análisis del problema se determina que


hace el programa.
Diseño del algoritmo

En la etapa de diseño se determina como hace el


programa la tarea solicitada.
El método mas eficaz para el diseño de un problema
complejo es el conocido divide y vencerás.
La resolución de un problema se resuelve dividiéndolo en
subproblemas, y a su vez en otros subproblemas de nivel
mas bajo. A este método se le conoce como diseño
descendente o modular (top-down).
El diseño del algoritmo es independiente del
lenguaje de programación en el que se vaya a
codificar posteriormente.
2. Diseño del algoritmo
Las dos herramientas mas utilizadas comúnmente para
diseñar algoritmos son:

• Diagrama de flujo.
Es una representación grafica de un proceso.

• Seudocódigo.

Es una descripción de alto nivel compacta e informal.


Normalmente se utilizan palabras en lenguaje natural
para identificar los pasos de los procesos.
Diagrama de flujo

• Facilita la obtención de una visión transparente del


proceso, mejorando su comprensión.

• Permite definir los limites de un proceso.

• Estimula el pensamiento analítico en el momento de


estudiar un proceso, haciendo más factible generar
alternativas útiles.
• Cada paso del proceso es representado por un
símbolo.
• Cada símbolo esta unido con flechas que indican la
dirección del flujo del proceso.
Símbolos mas utilizados
en diagramas de flujo
Seudocódigo

• Utiliza convenciones estructurales de un lenguaje de


programación real, pero diseñado para la lectura
humana.
• No obedece a las reglas de sintaxis de ningún idioma
en particular ni es de forma estándar sistemática.
• Es una forma de representación sencilla de utilizar y
manipular.
• Facilita la solución del algoritmo y el paso del
programa al lenguaje de programación.
• Es independiente del lenguaje de programación que
se vaya a utilizar.
Ejercicios

1. Un estudiante realiza cuatro exámenes durante el


semestre, los cuales tienen la misma ponderación.
Realice el pseudocódigo y el diagrama de flujo que
representen el algoritmo correspondiente para obtener
el promedio de las calificaciones obtenidas.
Solución

Seudocódigo
Solución

Diagrama de flujo
Ejercicios

2. Se requiere conocer el área de un rectángulo. Realice


un algoritmo para tal fin y represéntelo mediante un
diagrama de flujo y el pseudocódigo para realizar este
proceso.
Ejercicios
Ejercicios
Ejercicios

3. Se requiere obtener el área de un circulo. Realizar el


algoritmo correspondiente y representarlo mediante un
diagrama de flujo y el pseudocódigo correspondiente.
Ejercicios
Ejercicios
Ejercicios
4. Se requiere determinar el sueldo semanal de un
trabajador con base en las horas que trabaja y el pago
por hora que recibe. Realice el diagrama de flujo y el
pseudocódigo que representen el algoritmo de solución
correspondiente
Ejercicios
Ejercicios

5. La CONAGUA requiere determinar el pago que debe


realizar una persona por el total de metros cúbicos que
consume de agua al llenar una alberca. Realice un
algoritmo y represéntelo mediante un diagrama de flujo
y el pseudocódigo que permita determinar ese pago.
Ejercicios
Ejercicios
Ejercicios

S-ar putea să vă placă și