Post on 11-Apr-2015
SISTEMAS NÚMERICOSE INTRODUCCION A LA
PROGRAMACIÓN
SISTEMAS NÚMERICOSE 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
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
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
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
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
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
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
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
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
ORDEN DE CONVERSIONESORDEN DE CONVERSIONES
Binario Hexadecimal
Base N Decimal Base M
Sistemas Númericos
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
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.
INTRODUCCIÓN A LA PROGRAMACIÓN
INTRODUCCIÓN 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
SOLUCION DE PROBLEMAS SOLUCION DE PROBLEMAS
Problema
Programa
Metodología
Metodología
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
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
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
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
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
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
DivisiónDivisión
Proceso
=
=
=
=
=
=
=
Metodología
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
CODIFICACIÓN
Proceso en el cual se escribe el algoritmo en lenguaje de programación, utilizando el editor del compilador.
Metodología
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
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
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
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
Estructura BásicaEstructura Básica
inicio
datos de entrada
procesamiento de los datos
datos de salida
fin
Algoritmos
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
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
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
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
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
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
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
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
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
ReviseRevise
Estructuras de programación• Secuenciales• Condicionales• Ciclicas.
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.
BibliografiaBibliografia
Oviedo, Efrain. Algoritmos Estructurados.
www.google.com
GRACIAS POR SU ATENCIÓN
GRACIAS POR SU ATENCIÓN