Presentación del cursoUniversidad de AntioquiaInformática I Sesión 06: Introducción a la...

37
Presentación del curso Universidad de Antioquia Informática I Informática I Sesión 06: Introducción a la Programación (2) Departamento de Ingeniería Electrónica y de Telecomunicaciones Facultad de Ingeniería 2015-1 Presentación del curso Universidad de Antioquia Informática I

Transcript of Presentación del cursoUniversidad de AntioquiaInformática I Sesión 06: Introducción a la...

Page 1: 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.

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

Page 2: 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.

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

Page 3: 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.

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

Page 4: 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.

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…

Page 5: 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.

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

Page 6: 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.

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

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

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

Page 8: 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.

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

Page 9: 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.

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

Page 10: 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.

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

Page 11: 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.

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

Page 12: 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.

Presentación del curso

Universidad de Antioquia Informática IPresentación del curso

Universidad de Antioquia Informática I

Ejemplo 2 (cont.)

Page 13: 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.

Presentación del curso

Universidad de Antioquia Informática IPresentación del curso

Universidad de Antioquia Informática I

Ejemplo 2 (cont.)

Page 14: 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.

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

Page 15: 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.

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

Page 16: 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.

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…

Page 17: 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.

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

Page 18: 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.

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

Page 19: 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.

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

Page 20: 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.

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

Page 21: 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.

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…

Page 22: 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.

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

Page 23: 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.

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

Page 24: 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.

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

Page 25: 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.

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

Page 26: 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.

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

Page 27: 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.

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

Page 28: 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.

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

Page 29: 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.

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

Page 30: 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.

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…

Page 31: 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.

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

Page 32: 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.

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

Page 33: 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.

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.

Page 34: 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.

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

Page 35: 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.

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

Page 36: 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.

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]?

Page 37: 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.

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