La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Repaso Sistema Numérico:

Presentaciones similares


Presentación del tema: "Repaso Sistema Numérico:"— Transcripción de la presentación:

1

2 Repaso Sistema Numérico:
Conjunto de símbolos que se relacionan para expresar la relación existente entre la cantidad y la unidad. El número de dígitos en un sistema numérico se denomina base. Las bases mas utilizadas en sistemas computacionales son las siguientes: BASE SISTEMA NÚMERICO 2 Binario 8 Octal 10 Decimal 16 Hexadecimal

3 Repaso Conversiones de base: Binario  Hexadecimal Binario  Octal
Base N  Decimal  Base M

4 Repaso Base r  Dec: Escribir el numero en su forma polinomial, es decir, sumar el resultado de multiplicar cada digito por la base elevada a su posición. Dec  Base r: Parte entera: Divisiones sucesivas por la base a la cual se quiere pasar, se toma el ultimo cociente y los residuos de todas las divisiones (comenzando por el ultimo residuo). Parte decimal: Multiplicaciones sucesivas por el la base a la cual se quiere pasar, se toma la parte entera del resultado comenzando por la primer multiplicación. Bin  Hex: Tomar grupos de 4bits y convertirlos en un dígito hexadecimal. Bin  Hex: Tomar cada digito hexadecimal y convertirlo a en 4bits..

5 Zona de Preguntas… Sistemas numéricos 11010.1012 a base 10
BIN DEC HEX 0000 0001 1 0010 2 0011 3 0100 4 0101 5 0110 6 0111 7 1000 8 1001 9 1010 10 A 1011 11 B 1100 12 C 1101 13 D 1110 14 E 1111 15 F Sistemas numéricos a base 10 a base 10 a base 2 a base 7 a base 16

6 A continuación… Introducción a la programación
Traductores de código Método para la solución de problemas

7 Instruction-set Architecture
Capas de Abstracción Problema Algoritmo Programa Instruction-set Architecture Micro-arquitectura Circuitos Transistores

8 Lenguaje de Programación
Capas de Abstracción PROGRAMADOR (Ideas) Lenguaje Humano (Mi idea es…) Alto nivel INICIO ESCRIBA(“ingrese a”) LEA(a) ESCRIBA(“ingrese b”) LEA(b) c  a + b ESCRIBA(“La suma:”,c) FIN_INICIO Lenguaje de Programación Bajo nivel Lenguaje de Máquina ( ) MÁQUINA

9 Lenguajes de programación
Un lenguaje es un conjunto de reglas que permiten transmitir una idea. (Semántica) ALGORITMO: conjunto preciso y finito de instrucciones que describe como ejecutar una tarea especifica mediante una serie de pasos. PROGRAMA: es la implementación o descripción de un algoritmo en un lenguaje de programación LENGUAJE DE PROGRA- MACIÓN utilizado por el programador para ordenar las instrucciones de un algoritmo determinado

10 Lenguajes de programación
Programación: Actividad que consiste en expresar un algoritmo en forma de programa. Traducción Computadora… Mata a Flanders ???? Instrucción: Es cada uno de los pasos que se ejecutan en el programa.

11 Lenguajes de programación
Principales lenguajes utilizados en la actualidad: Lenguaje de alto nivel Lenguaje de bajo nivel. def main () printf ‘Programa para comparar valor.’ a = raw_input (‘Ingrese un entero: ’) if a>=3: printf ‘Ganó materia’ else: printf ‘Perdió materia’ MOV MOV DS, AX; MOV DX, offset; MOV AH, 9; INT 21h; Lenguaje de maquina. Programa para comparar valor. Ingrese un entero: 4 Ganó materia

12 Assembler (Ensamblador) Cada arquitectura tiene el propio.
Lenguaje de Bajo Nivel VENTAJAS: El programa optimiza el uso de los recurso de la maquina. Programas veloces en su ejecución. DESVENTAJAS: Dependientes de la maquina (No portables). Necesidad de conocimientos avanzados tanto de programación como de la maquina. Assembler (Ensamblador) Cada arquitectura tiene el propio.

13 C, C++, C#, FORTRAN, Pascal, Visual BASIC, Java.
Lenguaje de Alto Nivel VENTAJAS: Similares a los lenguajes humanos Modificables fácilmente. Independiente de la máquina. Son Portables. DESVENTAJAS: Herramientas complejas de traducción a L.M. No se optimizan los recursos de la maquina. Programas mas lentos en su ejecución C, C++, C#, FORTRAN, Pascal, Visual BASIC, Java. HTML, XML, JavaScript

14 Lenguajes de programación
Algoritmo(sumar) Variables: a, b, c: entero INICIO ESCRIBA(“Introduzca el primer numero (entero)”) LEA(a) ESCRIBA(“Introduzca el segundo numero (entero)”) LEA(b) c  a + b ESCRIBA(“La suma es: ”,c) FIN_INICIO Fin(sumar) C,C++,C#,Java, Python, Fortran, Pascal, … Ensamblador ;Lenguaje ensamblador, sintaxis Intel para procesadores x86 mov eax,1; //mueve a al registro eax el valor 1 xor ebx, ebx; //pone en 0 el registro ebx int 80h; //llama interrupción 80h(80h=128sistema decimal) Alto Nivel Bajo Nivel Máquina Alto Nivel Bajo Nivel Máquina

15 A continuación… Introducción a la programación Traductores de código
Método para la solución de problemas

16 Programación Un computador solo es capaz de ejecutar ordenes y operaciones Aritmetica y lógica Comparaciones numericas o alfanumericas. Almacenar y recuperar información El programador es el que le indica a la maquina cómo y qué debe hacer, por medio de un programa.

17 Lenguaje de Programación
Traductores de código PROGRAMADOR (Ideas) Lenguaje Humano (Mi idea es…) Alto nivel INICIO ESCRIBA(“ingrese a”) LEA(a) ESCRIBA(“ingrese b”) LEA(b) c  a + b ESCRIBA(“La suma:”,c) FIN_INICIO Lenguaje de Programación Bajo nivel Lenguaje de Máquina ( ) MÁQUINA

18 Traductores de código Son los programas que traducen los programas fuente escritos en lenguajes de alto nivel a código de maquina. Clasificación: Compiladores: Lenguaje de alto nivel --> Lenguaje de maquina. Interprete: Un traductor que toma un programa fuente, lo traduce y a continuación lo ejecuta.

19 Compilador Programa que traduce un programa escrito en un lenguaje de alto nivel al lenguaje de máquina, para poder ser ejecutado por el computador. C Python FORTRAN ARM ISA X86 ISA PowerPC ISA

20 COMPUTADOR (Hardware) COMPUTADOR (Hardware) COMPUTADOR (Hardware)
Intérprete Intérprete: programa que hace el trabajo de un compilador pero en tiempo de ejecución (runtime). myprog.py def main( ) a = 3; printf ‘a=‘, a INTÉRPRETE (Terminal - BASH) COMPUTADOR (Hardware) a=3 myprog.java public class HelloWorld { public static void main(String[ ] args) { System.out.println(“a=3"); } COMPILADOR (a bytecode) myprog.class COMPUTADOR (Hardware) a=3 Java Virtual Machine myprog.c int main(void){ int a, b; a = 3; printf(“a=%d”, a); return 0; } COMPILADOR myprog.exe COMPUTADOR (Hardware) a=3

21 Compilador vs Intérprete
El compilador toma TODO EL CÓDIGO y produce un archivo en código maquina equivalente. El intérprete toma UNA INSTRUCCIÓN del código fuente y genera el código maquina equivalente y lo ejecuta Lenguaje de Alto nivel Lenguaje de Alto nivel CODIGO FUENTE INSTRUCCIÓN CODIGO FUENTE COMPILADOR INTERPRETE Código Objeto Archivo o Código objeto Instrucción:

22 A continuación… Introducción a la programación Traductores de código
Método para la solución de problemas Método para la solución de problemas

23 Método solución de problemas
PROGRAMADOR (Ideas) Lenguaje Humano (Mi idea es…) Alto nivel Lenguaje de Programación Bajo nivel Lenguaje de Máquina ( ) MÁQUINA

24 Método solución de problemas
A partir del planteamiento de un problema, es conveniente usar un método para la resolución del problema, que tendrá como objetivo final el algoritmo que dará una solución.

25 Método de Polya 1 2 3 4 Implementar el plan Entender el problema
George Polya, Matemático húngaro, autor del libro How to solve it (1945). En él, Polya propone cuatro pasos generales para la solución de un problema: 1 Entender el problema 2 Diseñar un plan 3 Implementar el plan 4 Revisar el plan

26 Método de Polya Entienda el problema: parece obvio pero es con frecuencia un gran obstáculo. Entender de manera clara el problema que se esta resolviendo: ¿Entiende todas las palabras de la formulación del problema? ¿Qué le están pidiendo que encuentre? ¿Puede usted reformular el problema en sus propias palabras? ¿Puede hacer un dibujo que represente el problema? ¿Hay suficiente información para encontrar la solución?

27 Método de Polya Diseñe un plan: Es la fase donde se le da solución al problema. Para esto es necesario escoger una estrategia para resolver el problema Divida el problema en problemas más simples. Elimine posibilidades. Aproveche simetrías. Seleccione la información de entrada al problema. Seleccione la información de salida del problema. Busque relaciones, es decir la dependencia entre la información de entrada y la información de salida.

28 Método de Polya Implemente el plan: es la fase en la que se construye el algoritmo que permitirá encontrar la solución al problema. Esta fase requiere mucho cuidado en los detalles, paciencia y experiencia.

29 Método de Polya Revise el plan: haga una pausa, revise y reflexione sobre el trabajo hecho. El objetivo es verificar y corregir los errores hasta lograr lo deseado. De manera particular, en programación se utiliza la prueba de escritorio. Proceso de seguimiento del algoritmo para verificar que cumple con la especificación.

30 Método solución de problemas
Algoritmo Programa Instruction-set Architecture Micro-arquitectura Circuitos Transistores PROGRAMADOR Aplicar Método de solución de problemas PROGRAMADOR COMPILADOR

31 Algoritmos El método aplicado para la resolución de problemas mediante programas. Problema Algoritmo Programa Tarea que se desea resolver. Descripción ordenada de la secuencia de pasos (sin ambigüedades) que conducen a la solución de problema dado (Análisis del problema y desarrollo del algoritmo). Expresar el algoritmo como un programa en el lenguaje de programación adecuado. Ejecución y validación del programa de computadora.

32 Algoritmos La definición de un algoritmo debe describir tres partes: Entrada, proceso y salida. Ejemplo: La receta de un sancocho o como ser presidente (según homero)

33 Algoritmos Recordemos que, un algoritmo es un proceso preciso, computable y finito que paso a paso lleva a la solución de un problema. Todo algoritmo debe tener tres partes: Entradas Proceso Salidas

34 Bibliografía Joyanes A. Luis. Programacion en c. Metodologia, algoritmos y estructura de datos. McGrawHill. 2000 Nell Dale y John Lewis, Computer Science Illuminated Jones and Bartlett, 2002 Oviedo, Efrain. Lógica de Programación


Descargar ppt "Repaso Sistema Numérico:"

Presentaciones similares


Anuncios Google