Date post: | 24-Jan-2016 |
Category: |
Documents |
Upload: | carolina-montoya-cabrera |
View: | 214 times |
Download: | 0 times |
Presentación del curso
Universidad de Antioquia Informática I
Informática ISesión 06: Introducción a la
Programación (2)Departamento de Ingeniería Electrónica y de
TelecomunicacionesFacultad de Ingeniería
2015-1
Presentación del curso
Universidad de Antioquia Informática I
Presentación del curso
Universidad de Antioquia Informática IPresentación del curso
Universidad de Antioquia Informática I
Repaso
Lenguaje Humano(Mi idea es…)
Lenguaje de Programación
Lenguaje de Máquina(1000110)
PROGRAMADOR (Ideas)
MÁQUINA
Alto nivel
Bajo nivel
INICIO ESCRIBA(“ingrese a”) LEA(a) ESCRIBA(“ingrese b”) LEA(b) c a + b ESCRIBA(“La suma:”,c)FIN_INICIO
10001100011100101010010010101000101111001010
Presentación del curso
Universidad de Antioquia Informática IPresentación del curso
Universidad de Antioquia Informática I
Problema
Metodología
Programa
Repaso•E
ntender el problema
1
•Diseñar un plan
2
•Implementar el plan
3
•Revisar el plan
4
Presentación del curso
Universidad de Antioquia Informática I
Diagrama de Flujo
Componentes Básicos
Estructura de los Algoritmos
Introducción a los AlgoritmosIntroducción a los Algoritmos
A continuación…
Presentación del curso
Universidad de Antioquia Informática IPresentación del curso
Universidad de Antioquia Informática I
•Un algoritmo es un conjunto de instrucciones claras para solucionar un problema en una cantidad de tiempo finita y usando una cantidad finita de datos.
•Procesa unas variables de entrada y obtiene unas variables de salida
Alg
oritm
o
•Es un zona de memoria que almacena un valor y es referenciada por un identificador (el nombre de la variable)
•Un valor es una secuencia de bits que es interpretada de acuerdo a su tipo de dato (entero, punto flotante, carácter, etc). Este valor puede ser variable o constante en la zona de memoria donde se almacena.
Var
iabl
eDefiniciones
Presentación del curso
Universidad de Antioquia Informática IPresentación del curso
Universidad de Antioquia Informática I
Algoritmo:Instrucciones
Variables deentrada
Variables desalida
El algoritmo provee la lógica y los datos
o variables de entrada proveen los
valores.
Elementos Principales
Presentación del curso
Universidad de Antioquia Informática IPresentación del curso
Universidad de Antioquia Informática I
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.
Computadora… Mata a Flanders?????
ProblemaAlgoritmo
Formas de expresión
Presentación del curso
Universidad de Antioquia Informática IPresentación del curso
Universidad de Antioquia Informática I
El método aplicado para la resolución de problemas mediante programas.
Problema Algoritmo Programa
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.
Tarea que se desea resolver.
Objetivo de los Algoritmos
Presentación del curso
Universidad de Antioquia Informática IPresentación del curso
Universidad de Antioquia Informática I
Ejemplo 1– Encender mi computador e iniciar desde
Linux
¿Que debo hacer?1.Revisar la alimentación eléctrica2.Está conectado el PC?
2.1 No, Conectar el equipo y encender CPU.
2.2 Si, Encender CPU .3.Encender monitor4.Aparece el GRUB?
4.1 Si, seleccionar el S.O Linux 4.2 No,
4.2.1 Revisar secuencia de booteo en la BIOS4.2.2 Todo correcto (rezar y cruzar dedos para que arranque la PC).
Solución
Presentación del curso
Universidad de Antioquia Informática IPresentación del curso
Universidad de Antioquia Informática I
5.Vuelvo a preguntar por paso 4.6.Carga el GRUB?
6.1. Si, Selecciono LINUX y disfruto.
6.2. No, Revisar, y reinstalar.7.Fin
Ejemplo 1 (cont.)
Presentación del curso
Universidad de Antioquia Informática IPresentación del curso
Universidad de Antioquia Informática I
Un estudiante se encuentra en su casa (durmiendo) y debe ir a la universidad (a tomar la clase de Informatica!!)
¿Que debe hacer el estudiante?
Ejemplo 2
Presentación del curso
Universidad de Antioquia Informática IPresentación del curso
Universidad de Antioquia Informática I
Ejemplo 2 (cont.)
Presentación del curso
Universidad de Antioquia Informática IPresentación del curso
Universidad de Antioquia Informática I
Ejemplo 2 (cont.)
Presentación del curso
Universidad de Antioquia Informática IPresentación del curso
Universidad de Antioquia Informática I
Ejemplo 3– Soy un conductor de bus y necesito saber cuánto
debo devolver al pasajero en caso de que pague con cualquier valor. El pasaje cuesta $1800
Caso 1: Paga con 1800No devuelvo nada
Caso 2: Paga con 2000Devuelvo 200
Caso 3: Paga con 5000Devuelvo 3200
Caso 4: Paga con 10000Devuelvo 8200
Caso 5: Paga con 20000Devuelvo 18200
Caso 6: Paga con 50000Devuelvo 48200
Otros: Verificar Pago
Devuelta = pago - 1200
Presentación del curso
Universidad de Antioquia Informática IPresentación del curso
Universidad de Antioquia Informática I
Una persona va manejando un Auto y se le chuza una llanta ¿qué debe hacer esta persona para poder continuar su viaje?
Se quiere calcular el área de un triangulo Rectángulo para una base y una altura general. Escriba un procedimiento para hallar esta área
Ejercicios
Presentación del curso
Universidad de Antioquia Informática I
Diagrama de Flujo
Componentes Básicos
Estructura de los Algoritmos
Introducción a los Algoritmos
Estructura de los Algoritmos
A continuación…
Presentación del curso
Universidad de Antioquia Informática IPresentación del curso
Universidad de Antioquia Informática I
Análisis: Se establece el problema, entendiendo de manera clara lo que se desea obtener (Paso 1).
Después, se selecciona un modelo matemático y se explica el algoritmo de manera verbal, posiblemente con ilustraciones y omitiendo detalles. Se definen las entradas, salidas y el proceso a seguir (Paso 2).
Estructura de los Algoritmos
Presentación del curso
Universidad de Antioquia Informática IPresentación del curso
Universidad de Antioquia Informática I
Descripción del algoritmo. Se usa Algoritmos para describir la secuencia de pasos que encuentran la solución. Ejemplo: Diagramas de flujo, Pseudocódigo (Paso 3)
Verificación: Seguimiento paso a paso del algoritmo para verificar que cumple con lo deseado (Paso 4).
Estructura de los Algoritmos
Presentación del curso
Universidad de Antioquia Informática IPresentación del curso
Universidad de Antioquia Informática I
Implementación en lenguaje de programación: Se muestra el algoritmo expresado en un lenguaje de programación específico o algún objeto capaz de llevar a cabo instrucciones (Paso 5).
Estructura de los Algoritmos
Presentación del curso
Universidad de Antioquia Informática IPresentación del curso
Universidad de Antioquia Informática I
ENTRADA SALIDA
INSTRUCCIONES
Estructura de los Algoritmos
1
•Inicio
2
•Datos de Entrada
3
•Procesamiento de los datos
4
•Datos de Salida
5•F
in
Presentación del curso
Universidad de Antioquia Informática I
Diagrama de Flujo
Componentes Básicos
Estructura de los Algoritmos
Introducción a los Algoritmos
Componentes Básicos
A continuación…
Presentación del curso
Universidad de Antioquia Informática IPresentación del curso
Universidad de Antioquia Informática I
• 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.– Datos de entrada y de salida– Variables auxiliares
• Una variable puede representar un número decimal, un numero entero, un conjunto de números, palabras...
Variable Valor
apellido López
saldo 20000
tamaño 8.5
Componentes Básicos
Presentación del curso
Universidad de Antioquia Informática IPresentación del curso
Universidad de Antioquia Informática I
Componentes Básicos
Tipos de datos simples
• Numéricos (Enteros, reales).• Lógicos (booleanos).• Alfanuméricos (Carácter, cadenas).
Enteros: Representan los números enteros, no poseen parte decimal, ejemplo: 5, 6, -15, -100,1000,…
Reales: Representan números reales, poseen parte decimal, ejemplo: 0.08, 3.14, 3.7452, -8.003, 3.0.
Booleanos: Aquellos que pueden tomar dos posibles valores; falso (false) o verdadero (true).
Alfanuméricos: Conjunto finito y ordenado que el computador reconoce
Presentación del curso
Universidad de Antioquia Informática IPresentación del curso
Universidad de Antioquia Informática I
• Constantes: Consisten en datos que, luego de ser asignados, no cambian en ninguna instrucción del Algoritmo. Utilizadas por ejemplo para almacenar constantes matemáticas (pi).
Constante Valor
PI 3,14
PULGADA 2,54
Componentes Básicos
Presentación del curso
Universidad de Antioquia Informática IPresentación del curso
Universidad de Antioquia Informática I
• 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.
Nombre (identificador) Valor
apellido López
saldo 20000
Size1 8.5
Size2 10.5
Componentes Básicos
Presentación del curso
Universidad de Antioquia Informática IPresentación del curso
Universidad de Antioquia Informática I
• 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.
Componentes Básicos
Presentación del curso
Universidad de Antioquia Informática IPresentación del curso
Universidad de Antioquia Informática I
• OPERADORES MATEMATICOS: Son símbolos que sirven para manipular o transformar datos. Aritméticos, Logicos, relacionales.
Operación Operador Ejemplo Resultado
Potencia ^ 2^4 16
Multiplicación * 2*34 68
División / 24/3 8
Módulo % 7 % 3 1
Suma + 3+4 7
Resta - 5-2 3
Raiz quadrada () (16) 4
Asignacion = X=3 -
Componentes Básicos
Presentación del curso
Universidad de Antioquia Informática IPresentación del curso
Universidad de Antioquia Informática I
En una instrucción los operadores se ejecutan en un orden Predeterminado.
1. Paréntesis (se ejecutan primero los más internos)2. Signo 3. Potencias y Raíces (potencia y rc)4. Productos y Divisiones ( *, / y %)5. Sumas y Restas (+ y -)6. …
Componentes Básicos
Presentación del curso
Universidad de Antioquia Informática IPresentación del curso
Universidad de Antioquia Informática I
NOTACIÓN MATEMATICA EXPRESIÓN
• EXPRESIONES: Para diseñar algoritmos que posteriormente puedan ser traducidos a un lenguaje de programación, es fundamental saber manejar muy bien los operadores y el orden en el que estos se ejecutan. Las fórmulas deben escribirse en una sola línea para que el computador las evalúe.
raiz1=(-b+ (b^2-4*a*c))/(2*a)
A=pi*(r^2)
raiz1=a^2+2*a*b+b^2
Componentes Básicos
Presentación del curso
Universidad de Antioquia Informática I
Diagrama de Flujo
Componentes Básicos
Estructura de los Algoritmos
Introducción a los Algoritmos
Diagrama de Flujo
A continuación…
Presentación del curso
Universidad de Antioquia Informática IPresentación del curso
Universidad de Antioquia Informática I
Esquema de representación gráfico de algoritmos. Usa elementos gráficos como rectángulos y rombos.
Se pueden usar operaciones matemáticas.
Diagrama de flujo
Presentación del curso
Universidad de Antioquia Informática IPresentación del curso
Universidad de Antioquia Informática I
Inicio o fin del programa
Pasos, procesos o líneas de instrucción de programa de computo
Operaciones de entrada
Toma de decisiones y Ramificación
Líneas de flujo
Pantalla, para mostrar datos
Diagrama de flujo
Presentación del curso
Universidad de Antioquia Informática IPresentación del curso
Universidad de Antioquia Informática I
Ejemplo
• Escribir un algoritmo que se llame triangulo, para hallar el área y perímetro de un triángulo rectángulo dado su base y su altura.
Presentación del curso
Universidad de Antioquia Informática IPresentación del curso
Universidad de Antioquia Informática I
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.
Ejemplo
Presentación del curso
Universidad de Antioquia Informática IPresentación del curso
Universidad de Antioquia Informática I
Procesos necesarios: Pedir los datos y guardarlos en dos variables (base y altura);
Aplicar la fórmula para hallar el área base x altura ÷ 2 y guardar el resultado en la variable area; desplegar el
resultado (area).
Como es un triangulo rectángulo, podemos obtener la hipotenusa. Después, aplicar la fórmula para hallar el perímetro L1 + L2 + L3 y guardar el resultado en la variable perimetro; desplegar el resultado (perimetro).
Ejemplo
Presentación del curso
Universidad de Antioquia Informática IPresentación del curso
Universidad de Antioquia Informática I
Ejercicios
Pseudocódigo y Diagramas de flujo• Realice el diagrama de flujo de los
siguientes problemas.1. Dado el perímetro 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 automóvil y el tiempo que gasto en hacerlo, calcule la velocidad de éste.
4. ¿Cómo dibujar una parábola en el plano cartesiano entre [-10, 10]?
Presentación del curso
Universidad de Antioquia Informática IPresentación del curso
Universidad de Antioquia Informática I
Bibliografia
• Joyanes A. Luis. Programacion en c. Metodologia, algoritmos y estructura de datos. McGrawHill. 2000
• Oviedo, Efrain. Lógica de Programación.• www.google.com