SISTEMAS NÚMERICOS E INTRODUCCION A LA PROGRAMACIÓN.

43
SISTEMAS NÚMERICOS E INTRODUCCION A LA PROGRAMACIÓN

Transcript of SISTEMAS NÚMERICOS E INTRODUCCION A LA PROGRAMACIÓN.

Page 1: SISTEMAS NÚMERICOS E INTRODUCCION A LA PROGRAMACIÓN.

SISTEMAS NÚMERICOSE INTRODUCCION A LA

PROGRAMACIÓN

SISTEMAS NÚMERICOSE INTRODUCCION A LA

PROGRAMACIÓN

Page 2: SISTEMAS NÚMERICOS E INTRODUCCION A LA PROGRAMACIÓN.

AgendaAgenda

Sistemas Númericos

Conversiones entre sistemas númericos

Representacion de la información. Codigo Ascii

Metodologias de programacion

Diagramas de flujo y pseudocódigo

Page 3: SISTEMAS NÚMERICOS E INTRODUCCION A LA PROGRAMACIÓN.

DefinicionesDefiniciones

SISTEMA NÚMERICO

Conjunto ordenado de símbolos llamados dígitos, con relaciones definidas para la suma (+), resta (-), multiplicación (x) y división (÷)

BASE (r)

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

Sistemas Númericos

Page 4: SISTEMAS NÚMERICOS E INTRODUCCION A LA PROGRAMACIÓN.

NOTACIÓNNOTACIÓN

10256 . 1985N

1 9 8 5 . 2 5 6

Parte Entera Parte Fraccionaria

Notación Posicional

Notación Polinomial

3210123 106105102105108109101 N

i

iiraN

Sistemas Númericos

Page 5: SISTEMAS NÚMERICOS E INTRODUCCION A LA PROGRAMACIÓN.

SISTEMA NUMÉRICO DECIMALSISTEMA NUMÉRICO DECIMAL

10)31,4289(

Es el sistema numérico más utilizado por el hombre en sus tareas de cálculo normales. Además es el sistema numérico

de referencia para hacer cambios de base entre bases no comunes.

Base 10

Dígitos 0, 1, 2, 3, 4, 5, 6, 7, 8 y 9

210123 101103109108102104

Sistemas Númericos

Page 6: SISTEMAS NÚMERICOS E INTRODUCCION A LA PROGRAMACIÓN.

SISTEMA NUMÉRICO BINARIOSISTEMA NUMÉRICO BINARIO

El sistema binario es el usado por la mayoría de los

computadores modernos. Los computadores representan los valores usando dos niveles de voltaje (Generalmente 0V para el digito binario ‘0’ y 3.3V o 5V para el digito binario ‘1’). También es común hacer referencia a los dígitos binarios como ALTO = ‘1’ y BAJO = ‘0’.

2)101,101101(

Base 2

Dígitos ‘0’ y ‘1’ (0V y 5V – BAJO y ALTO)

321012345 212021212021212021

Sistemas Númericos

Page 7: SISTEMAS NÚMERICOS E INTRODUCCION A LA PROGRAMACIÓN.

SISTEMA NUMÉRICO HEXADECIMALSISTEMA NUMÉRICO HEXADECIMAL

Uno de los principales problemas con el sistema binario es la verbosidad. Es decir que para escribir un número como 2800 se requieren 12 dígitos binarios. Por su parte el sistema decimal solo requiere 4 dígitos, lo cual lo convierte en un sistema más compacto. El sistema hexadecimal proporciona una compactación aún mayor además de presentar un paso directo desde el sistema binario.

Base 16

Dígitos 0, 1, 2, 3, 4, 5 ,6, 7, 8, 9, A, B, C, D, E, F

2101216 161116116151610167)7AF,1B(

Sistemas Númericos

Page 8: SISTEMAS NÚMERICOS E INTRODUCCION A LA PROGRAMACIÓN.

CONVERSIONES BASE 10 BASE rCONVERSIONES BASE 10 BASE rConvertir (234)10 a base 2

234

7

-234

0

3-6

117

58

2

2-116

12

29-58

02

14-28

12

-14

02

12

1-2

1

Divisiones Sucesivas Se realizan divisiones

consecutivas hasta que el

cociente de la división sea

menor que la base.

Cociente < base

TERMINAMOS

El resultado de la conversión es:

el ultimo cociente como

bit más significativo

(234)10 = 1 1 1 0 1 0 1 0

Los dígitos restantes corresponden a los

residuos de las divisiones en el orden inverso al que fueron

obtenidos

( )2

El procedimiento consiste en dividir la

parte entera del número por la base del sistema numérico al que se desea pasar

Sistemas Númericos

Page 9: SISTEMAS NÚMERICOS E INTRODUCCION A LA PROGRAMACIÓN.

CONVERSIONES BASE r BASE 10CONVERSIONES BASE r BASE 10Convertir (16435.62)7 a base 10

16435.622 x 7-2

6 x 7-1

5 x 70

3 x 71

4 x 72

6 x 73

1 x 74

= 0.020482

= 0.142857

= 5= 21

= 196

= 2058

= 2401

+ 4681.163339

Notación Polinomial

2 x 7-2 6 x 7-1 5 x 70 3 x 71 4 x 72 6 x 73 1 x 74

m = -2

n = 4

ai x 7i

El procedimiento consiste básicamente en multiplicar cada

uno de los dígitos por su peso

correspondiente

Finalmente hacemos la

sumatoria de los productos

+ + + + + +

El procedimiento anterior es

equivalente al uso de la notación

polinomial

=

pesos

Sistemas Númericos

Page 10: SISTEMAS NÚMERICOS E INTRODUCCION A LA PROGRAMACIÓN.

CONVERSION BINARIO HEXADECIMALCONVERSION BINARIO HEXADECIMALConvertir (1101111101.111101)2 a base 16

Convertir (7AD.B)16 a base 2

1101011111 . 1111DECIMAL

BINARIO

HEX

0 0000 0

1 0001 1

2 0010 2

3 0011 3

4 0100 4

5 0101 5

6 0110 6

7 0111 7

8 1000 8

9 1001 9

10 1010 A

11 1011 B

12 1100 C

13 1101 D

14 1110 E

15 1111 F

3 7 D F.

7 A D B

.0111 1010 1101 1011

.

(1101111101.111101)2 = (37D.F4)16

(7AD.B)16 = (011110101101.1011)2

01

4

El procedimiento consiste en usar la tabla

de equivalencias para asignar

un valor binario a

cada digito octal

Finalmente usando una tabla de equivalencias,

asignamos a cada grupo de bits el digito octal correspondiente

El procedimiento consiste en

agrupar los bits en grupos de 4 La parte

fraccionaria se agrupa de izquierda a

derecha

La parte entera se agrupa de

derecha a izquierda

00 00

Sistemas Númericos

Page 11: SISTEMAS NÚMERICOS E INTRODUCCION A LA PROGRAMACIÓN.

ORDEN DE CONVERSIONESORDEN DE CONVERSIONES

Binario Hexadecimal

Base N Decimal Base M

Sistemas Númericos

Page 12: SISTEMAS NÚMERICOS E INTRODUCCION A LA PROGRAMACIÓN.

Codigo ASCIICodigo ASCII

El código de caracteres más utilizado en las aplicaciones de cómputo es el código ASCII (siglas en Ingles de Código Estándar Americano para Intercambio de información).

Para la representación de los caracteres el código ASCII utiliza 7 bits, para un total de 128 caracteres posibles.

Carácter Código binario Código hexadecimal

D 1000100 44

A 1000001 41

g 1100111 67

i 1101001 69

t 1110100 74

a 1100001 61

5 0111100 35

Código Ascii

Page 13: SISTEMAS NÚMERICOS E INTRODUCCION A LA PROGRAMACIÓN.

EjerciciosEjercicios

Consulte el codigo ascii de las letras de su nombre y exprese cada letra en decimal, en binario y en Hexadecimal.

Suponga que su cédula está en codigo ascii, represente cada digito en binario.

Suponga que su cédula esta en formato decimal, expreselo en formato binario y hexadecimal.

Haga ejercicios de conversion de bases.

Page 14: SISTEMAS NÚMERICOS E INTRODUCCION A LA PROGRAMACIÓN.

INTRODUCCIÓN A LA PROGRAMACIÓN

INTRODUCCIÓN A LA PROGRAMACIÓN

Page 15: SISTEMAS NÚMERICOS E INTRODUCCION A LA PROGRAMACIÓN.

Problema de la ProgramaciónProblema de la Programación

Lenguaje Humano

Lenguaje de Programación

Lenguaje de Máquina

PROGRAMADOR (Ideas)

MÁQUINA (1000110)

Metodología

Page 16: SISTEMAS NÚMERICOS E INTRODUCCION A LA PROGRAMACIÓN.

SOLUCION DE PROBLEMAS SOLUCION DE PROBLEMAS

Problema

Programa

Metodología

Metodología

Page 17: SISTEMAS NÚMERICOS E INTRODUCCION A LA PROGRAMACIÓN.

METODOLOGÍA DE PROGRAMACIÓNMETODOLOGÍA DE PROGRAMACIÓN

Análisis del problema.Diseño.Prueba y Verificación.Codificación.Depuración y refinamiento.

Metodología

Page 18: SISTEMAS NÚMERICOS E INTRODUCCION A LA PROGRAMACIÓN.

Análisis del problemaAnálisis del problema

Entender de manera clara el problema que se esta resolviendo.Esta fase concuerda con el proceso de identificación de variables conocidas, variables desconocidas y condiciones usado en la sección de problemas.

Metodología

Page 19: SISTEMAS NÚMERICOS E INTRODUCCION A LA PROGRAMACIÓN.

Especificación del problemaEspecificación del problema

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.

Metodología

Page 20: SISTEMAS NÚMERICOS E INTRODUCCION A LA PROGRAMACIÓN.

Ejemplo de EspecificaciónEjemplo de Especificación

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.

Metodología

Page 21: SISTEMAS NÚMERICOS E INTRODUCCION A LA PROGRAMACIÓN.

DiseñoDiseñ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.

La forma adecuada de realizar este proceso es subdividir el proceso.

Metodología

Page 22: SISTEMAS NÚMERICOS E INTRODUCCION A LA PROGRAMACIÓN.

Ventajas de la divisiónVentajas 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.

En cuanto a los resultados, se probarán mucho mejor comprobando si cada módulo da el resultado correcto que si se intenta probar de un golpe todo el programa

Metodología

Page 23: SISTEMAS NÚMERICOS E INTRODUCCION A LA PROGRAMACIÓN.

DivisiónDivisión

Proceso

=

=

=

=

=

=

=

Metodología

Page 24: SISTEMAS NÚMERICOS E INTRODUCCION A LA PROGRAMACIÓN.

Prueba de Escritorio y RefinamientoPrueba de Escritorio y Refinamiento

Proceso de seguimiento del algoritmo para verificar que cumple con la especificación. Si no se cumple con la especificación se va refinando hasta lograr el objetivo.

Metodología

Page 25: SISTEMAS NÚMERICOS E INTRODUCCION A LA PROGRAMACIÓN.

CODIFICACIÓN

Proceso en el cual se escribe el algoritmo en lenguaje de programación, utilizando el editor del compilador.

Metodología

Page 26: SISTEMAS NÚMERICOS E INTRODUCCION A LA PROGRAMACIÓN.

DEPURACIÓN Y REFINAMIENTO

Proceso en el cual se corrigen los errores de sintaxis y de lógica del programa, hasta lograr que el programa ejecute.

Eficacia. "También se espera que un algoritmo sea eficaz, en el sentido de que todas las operaciones a realizar en un algoritmo deben ser suficientemente básicas como para que en principio puedan ser hechas de manera exacta y en un tiempo finito por un hombre usando lápiz y papel".

Metodología

Page 27: SISTEMAS NÚMERICOS E INTRODUCCION A LA PROGRAMACIÓN.

Medios de expresión de un algoritmo Medios de expresión de un algoritmo

Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje natural, pseudocódigo, diagramas de flujo y lenguajes de programación entre otros. Las descripciones en lenguaje natural tienden a ser ambiguas y extensas.

Algoritmos

Page 28: SISTEMAS NÚMERICOS E INTRODUCCION A LA PROGRAMACIÓN.

EjemploEjemploUn estudiante se encuentra en su casa (durmiendo) y

debe ir a la universidad (a tomar la clase de Informatica!!),

¿Que debe hacer el estudiante?

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ñarse4.1.2 Vestirse4.1.3 Desayunar

4.2 No,4.2.1 Vestirse

Solución

Algoritmos

Page 29: SISTEMAS NÚMERICOS E INTRODUCCION A LA PROGRAMACIÓN.

Solucion(2)Solucion(2)5.Lavarse los dientes6.Hay tiempo suficiente?

6.1. Si, Caminar al paradero.6.2. No, Correr al paradero.

7.Hasta que pase un bus para la universidad hacer:7.1. Esperar el bus7.2. Ver a las demás personas

como esperan un bus.8.Tomar el bus.9.Mientras que no llegue a la

universidad9.1. Seguir en el bus.9.2.Hacer fuerza para que el bus llegue rapido.

10. Timbrar11. Ingresar a la Universidad.

Algoritmos

Page 30: SISTEMAS NÚMERICOS E INTRODUCCION A LA PROGRAMACIÓN.

Estructura BásicaEstructura Básica

inicio

datos de entrada

procesamiento de los datos

datos de salida

fin

Algoritmos

Page 31: SISTEMAS NÚMERICOS E INTRODUCCION A LA PROGRAMACIÓN.

Componentes Básicas Componentes Básicas

Variables: Espacios de trabajo reservados para guardar datos (valores). El valor de una Variable puede cambiar en algún paso del Algoritmo o permanecer invariable.

Constantes: Consisten en datos que, luego de ser asignados, no cambian en ninguna instrucción del Algoritmo. Utilizadas por ejplo. para almacenar constantes matemáticas (pi).

Nombre (identificador)

Valor

apellido López

saldo 20000

tamaño 8.5

esTriángulo SI

Algoritmos

Page 32: SISTEMAS NÚMERICOS E INTRODUCCION A LA PROGRAMACIÓN.

Componentes Básicas(2) Componentes Básicas(2)

Identificadores: son nombres que se dan a los elementos utilizados para resolver un problema y poder diferenciar unos de otros. Pueden estar formados por una combinación de letras y números.

Palabras reservadas (primitivas): Todos los lenguajes de programación definen unas palabras para nombrar sus comandos, instrucciones y funciones(Matematicas,…).

PROCESOS:Se llama procesos a todas las instrucciones contenidas en un algoritmo.

Algoritmos

Page 33: SISTEMAS NÚMERICOS E INTRODUCCION A LA PROGRAMACIÓN.

Componentes Básicas(3) Componentes Básicas(3)

OPERADORES: Son símbolos que sirven para manipular o transformar datos. Aritmeticos, Logicos, relacionales.

Operador Operación Ejemplo Resultado

^ Potencia 2^4 16

* Multiplicación 2*34 68

/ División 24/3 8

+ Suma 3+4 7

- Resta 5-2 3

….

Algoritmos

Page 34: SISTEMAS NÚMERICOS E INTRODUCCION A LA PROGRAMACIÓN.

REPRESENTACIÓN DE ALGORITMOS

REPRESENTACIÓN DE ALGORITMOS

Descripción Inicial. Se establece el problema, se selecciona un modelo matemático y se explica el algoritmo de manera verbal, posiblemente con ilustraciones y omitiendo detalles.

Descripción formal. Se usa pseudocódigo para describir la secuencia de pasos que encuentran la solución. Diagramas de flujo, Pseudo Código

Implementación. Se muestra el algoritmo expresado en un lenguaje de programación específico o algún objeto capaz de llevar a cabo instrucciones.

Algoritmos

Page 35: SISTEMAS NÚMERICOS E INTRODUCCION A LA PROGRAMACIÓN.

PSEUDO CÓDIGOPSEUDO CÓDIGO

Esquema de representación de algoritmos que usa un subconjunto del lenguaje natural del diseñador de algoritmos.Elimina posibles ambigüedades empleando una notación que aunque libre es más restringida que la del lenguaje natural.

leer A, B, C

si A>B

si A>C

Mayor A sino

Mayor C fin_si

sino si B>C Mayor B sino Mayor C fin_sifin_siescribir Mayor

Algoritmos

Page 36: SISTEMAS NÚMERICOS E INTRODUCCION A LA PROGRAMACIÓN.

DIAGRAMA DE FLUJODIAGRAMA DE FLUJO

Esquema de representación gráfico de algoritmos. Usa elementos gráficos como rectángulos y rombos.

Se pueden usar operaciones matemáticas.

Algoritmos

Page 37: SISTEMAS NÚMERICOS E INTRODUCCION A LA PROGRAMACIÓN.

DIAGRAMA DE FLUJO(2)DIAGRAMA DE FLUJO(2)

Inicio o fin del programa

Pasos, procesos o líneas de instrucción de programa de computo

Operaciones de entrada y salida

Toma de desiciónes y Ramificación

Líneas de flujo

Display, para mostrar datos

Algoritmos

Page 38: SISTEMAS NÚMERICOS E INTRODUCCION A LA PROGRAMACIÓN.

EjemploEjemploEscribir un procedimiento que se llame triangulo para hallar el área de un triángulo rectángulo dado su base y su altura. Introducir en el código comentarios que aclaren lo que está sucediendo en cada uno de los pasos importantes.

ANÁLISIS DEL PROBLEMAFormular el problema: Ya se encuentra claramente planteado. Resultados esperados: El área de un triángulo rectángulo.Datos disponibles: Base, Altura, Hipotenusa, tipo de triángulo. La incógnita es el área. El estudiante debe preguntarse si sus conocimientos actuales de matemáticas le permiten resolver este problema; de no ser así, debe plantear una estrategia para obtener los conocimientos requeridos.Restricciones: Datos reales positivos, se obviará esta restricción.Procesos necesarios: Guardar en dos variables (base y altura) los valores de Base y Altura; Guardar en una constante (DIV) el divisor 2; aplicar la fórmula BASE*ALTURA/DIV y guardar el resultado en la variable AREA; desplegar el resultado (AREA).

Algoritmos

Page 39: SISTEMAS NÚMERICOS E INTRODUCCION A LA PROGRAMACIÓN.

Diagrama y pseudoCodigoDiagrama y pseudoCodigo

//Seudocodigo Area TrianguloINICIO div 2 // constante div vale 2 LEA base // Lee el valor de la base LEA altura area= (base *altura)/ div //Calcula el area IMPRIMA area //Muestra el valor del areaFIN

Algoritmos

Page 40: SISTEMAS NÚMERICOS E INTRODUCCION A LA PROGRAMACIÓN.

ReviseRevise

Estructuras de programación• Secuenciales• Condicionales• Ciclicas.

Page 41: SISTEMAS NÚMERICOS E INTRODUCCION A LA PROGRAMACIÓN.

EjerciciosEjercicios

Realice el diagrama de flujo y el seudocodigo de los siguientes problemas.1. Dado el perimetro de una circunferencia halle su radio.

2. Dada el área de un cuadrado muestre la longitud de su diagonal.

3. Dada la distancia de recorrido de un automovil y el tiempo que gasto en hacerlo, calcule la velocidad de éste.

Page 42: SISTEMAS NÚMERICOS E INTRODUCCION A LA PROGRAMACIÓN.

BibliografiaBibliografia

Oviedo, Efrain. Algoritmos Estructurados.

www.google.com

Page 43: SISTEMAS NÚMERICOS E INTRODUCCION A LA PROGRAMACIÓN.

GRACIAS POR SU ATENCIÓN

GRACIAS POR SU ATENCIÓN