Repaso Sistema Numérico:

Slides:



Advertisements
Presentaciones similares
Programación de bajo nivel
Advertisements

Secuencia finita, ordenada y lógica de instrucciones (ó pasos), los cuales permiten realizar una ó varias tareas.
CARRERA: INGENIERIA CIVIL UNI-RUACS
INSTITUTO TECNOLOGICO DE APIZACO Integrantes del equipo: José Luis Cocoletzi López Edgar Lozano Velázquez TEMA: Lenguaje Ensamblador.
MÉTODOS Y ELEMENTOS DE PROGRAMACIÓN
SOFTWARE DE PROGRAMACIÓN
DESARROLLO DE PROGRAMAS
Resolución de Problemas Algoritmos y Programación
INTRODUCCION A LOS ALGORITMOS (Conceptos previos)
Técnico en programación de Software
Ciclo de desarrollo del software
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERIA DIVISIÓN DE INGENIERÍA ELÉCTRICA COMPUTACIÓN PARA INGENIEROS NOTA IMPORTANTE: Para complementar.
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
Programación 1 Introducción
Introducción a la programación
3. INTRODUCCIÓN A LA PROGRAMACIÓN
Pablo Cesar Tapia Catacora
METODOLOGIA DE LA PROGRAMACION
IINTRODUCCION A LA CIENCIA DE LA COMPUTACION Y A LA PROGRAMACION
Tema 6. Conceptos básicos de programación
Conceptos Fundamentales
TRADUCTOR DE UN PROGRAMA
INTRODUCCIÓN A LA COMPUTACIÓN 12va Semana – 19va Sesión Miércoles 18 de Mayo del 2005 Juan José Montero Román
Proceso de información en la computadora
Computadoras analógicas Miden magnitudes físicas que se distribuyen en escala continua como pueden ser la temperatura y la presión. Este tipo de computadoras.
LENGUAJES DE PROGRAMACIÓN
Tema 1 Entorno de la programación. Conceptos elementales Algoritmo  Secuencia ordenada de pasos exentos de ambigüedad que conduce a la resolución de.
 Fue en el año 1945 cuando el matemático Jhon Von Neumann, fascinado por las posibilidades del ENIAC, demostró que una computadora podía tener una estructura.
SOFTWARE DE PROGRAMACIÓN
Un programa no es nada mas que una serie de instrucciones dadas al ordenador en un lenguaje entendido por el, para decirle exactamente lo que queremos.
ESTRUCTURA DE DATOS ESD-243
Tema 6. Conceptos básicos de programación (Repaso) Prof. María Alejandra Quintero Informática Año 2013.
FUNDAMENTOS DE PROGRAMACIÓN ISC. GABRIEL ZEPEDA MARTÍNEZ EST. ABRAHAM F. MACHUCA VAZQUEZ.
MÁQUINAS MULTINIVEL NIVEL 5 Lenguajes de alto nivel
U1. Introducción a la programación
M.C. Juan Carlos Olivares Rojas
Introducción a la Ingeniería de Sistemas
INTRODUCCION A LOS ALGORITMOS
FUNDAMENTOS DE PROGRAMACION
Lenguajes de programación. Lenguaje máquina El ordenador sólo sabe hacer un número limitado de tareas (muy pocas) definidas electrónicamente en su procesador.
Unidad 1: FUNDAMENTOS DE COMPUTACIÓN Y PSEUDOLENGUAJE
Introducción a la tecnología Realizado por: Miguel Ángel Arias.
ALGORITMOS La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe que escribió.
Prof. Gabriel Matonte Programación I Prof. Gabriel Matonte
Tema 6. Introducción a la programación
Acerca del curso Nombre del curso Créditos: Profesor Teoría:
Presentación del cursoUniversidad de AntioquiaInformática II Sesión 01: Presentación del Curso Departamento de Ingeniería Electrónica y de Telecomunicaciones.
A continuación… Repaso Repaso Estructuras de Decisión Ejemplos
Ing. Rodolfo Junior Miranda Saldaña CIP: Chimbote- 2013
Presentación del cursoUniversidad de AntioquiaInformática I Sesión 06: Introducción a la Programación (2) Departamento de Ingeniería Electrónica y de Telecomunicaciones.
Lenguajes de Programación
Presentación del cursoUniversidad de AntioquiaInformática I Sesión 07: Estructuras de Control (1) Departamento de Ingeniería Electrónica y de Telecomunicaciones.
Presentación del cursoUniversidad de AntioquiaInformática I Sesión 03: Capas de Abstracción Departamento de Ingeniería Electrónica y de Telecomunicaciones.
Presentación del cursoUniversidad de AntioquiaInformática I Sesión 01: Presentación del Curso Departamento de Ingeniería Electrónica y de Telecomunicaciones.
ESCUELA NORMAL “PROF. DARÍO RODRÍGUEZ CRUZ” Licenciatura en educación preescolar Alumnas: *Mayra * Monserrat * Idalia *Cinthia Curso: las TIC en la educación.
Prof. Flor Narciso Departamento de Computación
Lenguaje programación
Unidad TemáticaI. Conceptos Básicos Horas Prácticas10 Horas Teóricas8 Horas Totales18 Objetivo El alumno determinará las entradas, procesos y salidas.
Es un tipo especial de software que nos permite *Crear *Desarrollar *Programar otras aplicaciones. Haciendo uso de sus conocimientos lógicos y lenguajes.
INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Fases para el desarrollo de un programa. Partes de un programa. Ejecución de un programa. Anatomía de un programa.
Curso: Programación I Grado: 4to. Bachillerato Prof. Gerardo Barrientos.
Ciclo de desarrollo del software
FUNDAMENTOS DE PROGRAMACIÓN
TEMA 4: MÉTODOS Y ELEMENTOS DE PROGRAMACIÓN
 Panorama General Fundamentos de Programación M.I. Jaime Alfonso Reyes Cortés.
Fundamentos de Programación Unidad I Conceptos Básicos.
Introducción a la computaciónInformática I (2015-2) Departamento de Ingeniería Electrónica y de Telecomunicaciones Facultad de Ingeniería Informática.
Algoritmos y diagramas de flujoInformática I (2015-2) Departamento de Ingeniería Electrónica y de Telecomunicaciones Facultad de Ingeniería Informática.
Introducción a la computaciónInformática I (2015-2) Departamento de Ingeniería Electrónica y de Telecomunicaciones Facultad de Ingeniería Informática.
ALGORITMOS Asignatura: Informática. Algoritmos Conjunto de instrucciones ordenadas de forma lógica y precisa, con un inicio y fin que permite resolver.
Transcripción de la presentación:

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

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

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..

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 11010.1012 a base 10 42514.1236 a base 10 113. 510 a base 2 984.410 a base 7 11010101011.10112 a base 16

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

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

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 (1000110) MÁQUINA

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

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

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 AX, @data; MOV DS, AX; MOV DX, offset; MOV AH, 9; INT 21h; Lenguaje de maquina. 101001001001111101010101001010100101111000111 Programa para comparar valor. Ingrese un entero: 4 Ganó materia

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.

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

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

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

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.

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 (1000110) 10001100011100101010010010101000101111001010 MÁQUINA

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.

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

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 010100100101010100101010001111010100101010001010100101101001 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 010100100101010100101010001111010100101010001010100101101001 COMPUTADOR (Hardware) a=3

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 1010101011101101101010101 Archivo o Código objeto Instrucción: 10011011

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

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 (1000110) MÁQUINA

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.

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

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?

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.

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.

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.

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

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.

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)

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

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 www.google.com