• No se han encontrado resultados

programacion.ppt

N/A
N/A
Protected

Academic year: 2020

Share "programacion.ppt"

Copied!
56
0
0

Texto completo

(1)

Introducción a la

Introducción a la

Programación

(2)

CONTENIDO

CONTENIDO

ARQUITECTURA DE UN COMPUTADOR

PROBLEMAS

ALGORITMOS

(3)

Arquitectura de un computador

La arquitectura de un computador está dividida en dos partes importantes:

Hardware: Es la que hace referencia a la parte física de un computador.

(4)

Hardware

Unidad Central de Proceso

Dispositivos de entrada/salida

Memoria

Unidad Central de Proceso

Dispositivos de entrada/salida

(5)

Representación en Memoria

Elementos que pueden estar en dos estados (prendidos o apagados).

El sistema de numeración binario:

(6)

Código Binario

Cada 1 en un número binario representa

una potencia de 2 según su posición

Ejemplo:

El número binario 100110

representa el valor 38

1 0 0 1 1 0 25 24 23 22 21 20

(7)

Medida de la Memoria

Unidad básica de información:

BIT que

corresponde a un único dígito binario

(puede tomar los valores 1 o 0).

(8)

Cantidades de Memoria

1 Kilo Byte = 210 Bytes = 1024 Bytes 1 Mega Byte = 210 KBytes = 220 Bytes = 1048576 Bytes

(9)

Almacenamiento de Información

Enteros

son representados utilizando 2, 4 u 8 bytes.

2 bytes:

rango(0 - 65536) enteros sin signo.

(10)

Almacenamiento de Información

Reales

son representados utilizando dos esquemas:

Punto Flotante: Real representado como un

entero y un byte adicional que indica la posición del punto.

Punto Fijo: Real representado como una

mantisa y un exponente; que son representados como enteros.

12345.6789 es representado como:

Mantisa = 1.23456789

Exponente =104

(11)

Almacenamiento de Información

alfanuméricos:

representados en codificación ASCII, se asigna a cada carácter un valor numérico representado por un byte.

(12)

Almacenamiento de Información

Existe un código ASCII para cada carácter representable (lista utilizada en los Laboratorios), algunos ejemplos:

Espacio 32

; 59

0 48

* 42

1 49

a 97

(13)

Software: conjunto de instrucciones que le dicen al hardware que hacer.

Lenguaje de programación: lenguaje que permite escribir un software.

Programa: representación de algún software en un lenguaje de programación específico.

(14)

Lenguaje Maquina Lenguaje

Alto Nivel LenguajeEnsamblador Hardware

Sistema Operativo

Aplicaciones Herramientas

(15)

Lenguaje de Máquina

Único lenguaje que entiende el hardware (máquina).

Específico para cada hardware (procesador, dispositivos, etc.).

Usa exclusivamente el sistema binario.

Estructura de una instrucción:

CODIGO ARGUMENTO(S)

(16)

Lenguaje Ensamblador

Usa mnemónicos (palabras cortas escritas con caracteres alfanuméricos), para codificar las operaciones. Los datos y/o direcciones son codificados generalmente como números en sistema hexadecimal.

Es específico (aunque no único) para cada lenguaje de máquina.

Estructura de una instrucción:

(17)

Lenguaje Ensamblador

ENSAMBLADOR: software, generalmente escrito en lenguaje de máquina, capaz de traducir de lenguaje ensamblador a lenguaje de máquina.

(18)

Lenguaje de Alto Nivel

Basado en una estructura gramatical que permite el anidamiento de instrucciones

(19)

Lenguaje de Alto Nivel

Permite el uso de símbolos aritméticos y/o relacionales.

Permite al programador olvidarse del direccionamiento de memoria.

(20)

Lenguaje de Alto Nivel

COMPILADORES e INTERPRETES:

(21)

Sistema Operativo

Software encargado de administrar los recursos del sistema.

(22)

Sistema Operativo

Ofrece un conjunto de comandos a los humanos, para interactuar con la máquina.

(23)

Aplicaciones

APLICACIÓN: software que le permite al computador realizar una tarea específica y con el cual no se puede construir otro software.

(24)

Herramientas

HERRAMIENTA: software construido especialmente para el desarrollo de nuevo software, (tanto de aplicaciones como de herramientas).

(25)

Arquitectura de Software

Print(Document) <Enter> Hwnd=CreateWindow(10,10,200,200)

Lenguaje Maquina Lenguaje

Alto Nivel LenguajeEnsamblador Hardware

Sistema Operativo Aplicaciones Herramientas . . 0010 00011010 1010 10111000 0101 11010001 . . . . ADD R1 F4 MOV F4 C2

. .

.

FOR i:=1 TO 10 DO BEGIN

(26)

Definición de problema

Se tiene un

PROBLEMA

cuando se

buscan

VARIABLES DESCONOCIDAS

que

cumplan con ciertas

CONDICIONES

y/o

(27)

Solución de problema

Solucionar el problema es encontrar

las variables desconocidas.

Primer paso en la búsqueda de

(28)

Tipos de problemas

Problemas solubles

Problemas insolubles

(29)

Ejemplo de problema soluble

Un granjero tiene cincuenta animales

entre conejos y gansos. Si la cantidad

de patas de los animales es ciento

cuarenta, Cuantos conejos y cuantos

(30)

Ejemplo de problema soluble

VARIABLES CONOCIDAS: La cantidad total de animales, cantidad de patas totales.

VARIABLES DESCONOCIDAS: La cantidad de conejos y la cantidad de gansos.

(31)

Ejemplos de problemas

insoluble

(32)

Ejemplos de problemas

indecidible

(33)

Algoritmo

(34)

Características de un

Algoritmo

Preciso.

Definido o determinístico.

(35)

Ejemplo de algoritmo

Un estudiante se encuentra en su casa (durmiendo) y debe ir a la universidad (a

(36)

1.

Dormir.

2.

Hacer 1 hasta que suene el

despertador (o lo llame la

mamá).

3.

Mirar la hora.

4.

Hay tiempo suficiente?

4.1.

Si, entonces

4.1.1.

Bañarse.

4.1.2.

Vestirse.

4.1.3.

Desayunar.

4.2.

No,

4.2.1.

Vestirse.

(37)

5.

Lavarse la boca.

6.

Despedirse de la mamá y el

papá.

7.

Hay tiempo suficiente?

7.1.

Si, Caminar al paradero.

7.2.

No, Correr al paradero.

8.

Hasta que pase un bus para la

universidad hacer:

8.1.

Esperar el bus

8.2.

Ver a las demás personas

que esperan un bus.

(38)

9.

Tomar el bus.

10.

Mientras que no llegue a la

universidad hacer:

10.1.

Seguir en el bus.

10.2.

Pelear mentalmente con

el conductor.

11.

Timbrar.

12.

Bajarse.

13.

Entrar a la universidad.

(39)

Representación de

Algoritmos

Las representaciones más conocidas

son:

(40)

Diagramas de Flujo

Esquema de representación gráfico

de algoritmos.

Usa elementos gráficos como

rectángulos y rombos.

Se pueden usar operaciones

(41)

A, B, C

(42)

Pseudo Código

Esquema

de

representación

de

algoritmos que usa un subconjunto del

lenguaje natural del diseñador de

algoritmos.

Elimina

posibles

ambigüedades

(43)

sino

si B>C

Mayor

B sino

Mayor

C fin_si

fin_si

escribir Mayor

Pseudo Código

leer A, B, C si A>B

si A>C

Mayor A sino

(44)

Solución de Problemas

con computador

Problema

(45)

Pasos de una metodología:

Análisis del problema

Especificación.

Diseño.

Prueba y Verificación.

Codificación.

Depuración y refinamiento

(46)

Análisis del Problema

Entender de manera clara el problema

que se esta resolviendo.

Esta fase de la metodología concuerda

con el proceso de identificación de

variables

conocidas,

variables

(47)

La especificación de un problema se hace mediante una descripción clara y precisa de:

Las entradas que el problema recibirá.

Las salidas que dan solución al problema.

Las condiciones, es decir la dependencia que mantendrán las salidas obtenidas con las entradas recibidas.

(48)

Ejemplo de Especificación

ENTRADAS: La cantidad de conejos y la cantidad de gansos.

SALIDAS: La cantidad total de animales, cantidad de patas totales.

(49)

Problema

Construir un algoritmo que determine el mayor de tres números enteros.

Especificación:

Entradas: A,B,C (números de entrada) de tipo entero.

Salidas: Mayor (valor mayor) de tipo entero.

Condiciones:Mayor debe ser el valor máximo de A, B y C.

(50)

Diseño

La fase de diseño del algoritmo, es la

fase en la que se construye el algoritmo

que permitirá encontrar la solución al

problema.

(51)

Ventajas de la división

Al dividir el problema en módulos o partes se comprende más fácilmente

Al hacer modificaciones es más fácil sobre un módulo en particular que en todo el algoritmo.

(52)
(53)

Prueba de Escritorio y

Refinamiento

(54)

CODIFICACION

Proceso en el cual se escribe el

(55)

DEPURACION Y

REFINAMIENTO

Proceso en el cual se corrigen los

(56)

Referencias

Documento similar

social, estado de salud, creencias religiosas, doctrina política ni discapacidad”. El Tecnológico de Monterrey está convencido de que la comunicación entre quienes integran su

El criptógrafo de Wheatstone mostrado en la figura. -según un invento de Decius Wadsworth desarrollado en 1817- sigue, básicamente, el mismo algoritmo de cifra que el de

Los primeros pasos en este camino de desarrollo de lenguajes fue la creación de los lenguajes ensamblador, que no eran más que una verbalización del código

Para la programación del PIC se ha usado un compilador en C para PICs PCWH CCS versión 4.104, cuya potencia del lenguaje C se aprovecha para compilarlo a lenguaje máquina

Las  aplicaciones Android están escritas en lenguaje Java.  Aunque  ya hemos 

Por ello existen diferentes tipos de lenguaje que permiten transmitir información entre los seres humanos con diferentes habilidades siendo: el lenguaje oral mediante el habla,

El lenguaje escrito no es sino la fijación mediante unos signos gráficos de los que decimos hablando.. El lenguaje mímico emite mediante gestos un mensaje que se

De- bemos tener siempre en cuenta que, aparte de escribir el código del algoritmo mediante instrucciones de ensamblador, el programador en lenguaje ensamblador debe reservar espacio