tema 4 -_introduccion_a_razonamiento_algoritmico

53
Introducción al razonamiento algorítmico Solución de Problemas con Programación

Upload: mr-campos-lincoln-school

Post on 13-Jul-2015

505 views

Category:

Technology


0 download

TRANSCRIPT

Introducción al razonamiento

algorítmico

Solución de Problemas con Programación

Herramientas de análisis y diseñoSon aquellas que nos permiten visualizar los procesos que se

deben llevar a cabo para resolver un problema.

Algoritmos

Representaciones lógicas

2

Algoritmos

Introducción al razonamiento algorítmico

3

Definiciones de algoritmo Descripción del método mediante el cual se realiza una tarea

Es una secuencia de instrucciones, las cuales realizadasadecuadamente, dan lugar al resultado deseado

Conjunto de pasos para realizar una tarea en forma

secuencial.

Conjunto de pasos para realizar una tarea, que puedeescribirse y aplicarse.

4

Algoritmos Ejemplo: receta para preparar café.

El algoritmo se expresa como instrucciones en una receta.

Se aplica el algoritmo cuando se siguen las instrucciones parapreparar el café.

5

Algoritmos

Características fundamentales:

• Un algoritmo debe ser preciso e indicar el orden de realización de cada paso.

• Un algoritmo debe ser definido. Si se sigue un algoritmo dos veces, se debe obtener el mismoresultado cada vez.

• Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe de terminar en algúnmomento.

Algoritmos … Un algoritmo correctamente formulado garantiza que se

realizará la tarea diseñada si se siguen los pasos al pie de laletra.

7

Algoritmos … El algoritmo de un programa computacional: Conjunto de pasos

Explica cómo empezar con la información conocida.

Se escribe en un formato que no es específico de un lenguaje deprogramación determinado.

Permite al programador concentrarse en la lógica del problema.

8

Algoritmos … Escritura de un algoritmo:

1. Empezar con una lista de los pasos que un ser humano realizaría para hacer elmismo proceso - ¿Cómo lo haría yo?

2. Obtener información necesaria para resolver el problema.

3. Especificar como la computadora obtendrá información

4. Especificar la forma en que la computadora procesará la información.

5. Decidir la forma en que la computadora dará a conocer los resultados al usuario.

9

Algoritmos … Expresión de un algoritmo Existen tres métodos principales: Lenguaje común estructurado

Pseudocódigo Diagramas de flujo

No son lenguajes de programación

Una computadora no puede procesarlos.

Propósito es proporcionar una manera de documentar las ideas para eldiseño de un programa.

10

Desarrollar el algoritmos de los

siguientes procesos comunes:

1. Hacer una jarra de agua de limón

2. Salir del salón de clases.

3. Cambiar una llanta de un automóvil

4. Obtener la calificación final de la clase de Solución deProblemas con Computación

5. Sacar un libro de la biblioteca

11

Pseudocódigo

Introducción al razonamiento algorítmico

12

Pseudocódigo Sistema de notación para algoritmos.

Mezcla entre el lenguaje común y un lenguaje de programación.

Estructura y redacción dependen del programador.

Se permite incorporar palabras de comandos y sintaxis del lenguajecomputacional a utilizar para la codificación.

13

14

KEYWORDS USE

Start Start instructions block

End End a instructions block

Display Show a result or data to a display/monitor

Input Introduce data

Output Show a result or data

If , then Conditional statment

Do - until Do a instruction - until itbecomes true or false

While While a condition still beentrue or false do

Print Output data to a printer

and / or Ralational operators

asignation

PALABRA UTILIZACIÓN

ABRE Abre un archivo

CASO Selección entre múltiples alternativas

CIERRA Cierra un archivo

ENTONCESComplemento de la selecciónSI - ENTONCES

ESCRIBE Visualiza un dato en pantalla

FIN Finaliza un bloque de instrucciones

HASTA Cierra la iteración HAZ - HASTA

HAZ Inicia la iteración HAZ - HASTA

INICIO Inicia un bloque de instrucciones

LEER Leer un dato del teclado

MIENTRAS Inicia la iteración mientras

NO Niega la condición que le sigue

O Disyunción lógica

O - BIENComplemento opcional de la selecciónSI - ENTONCES

PARA Inicia un número fijo de iteraciones

SI Inicia la selección SI-ENTONCES

USUAL Opcional en la instrucción CASO

Y Conjunción lógica

{ Inicio de comentario

} Fin de comentario

<= Asignación

Calcule un salario si este es pagado a 80 pesos la hora.

Begin input horasinput tarifapago = horas * tarifaprint pagoEnd

Sumar dos números enteros

Begin input x, y suma = x + y print sumaEnd

Pseudocódigo … Conceptos útiles:

1. Variable

2. Jerarquía de operaciones

1. ()

2. *, /

3. +, -

3. Asignación

4. Comandos:

Display Input

If -ThenOutput

15

En programación, una variable es un espacio de memoria reservado paraalmacenar un valor que corresponde a un tipo de dato soportado por el lenguajede programación. Una variable es representada y usada a través de una etiqueta(un nombre) que le asigna un programador o que ya viene predefinida.

Por ejemplo, en la variable de nombre "num", se almacena el número 8 (de tipoentero). De forma genérica, para utilizarla y sumarle un uno se debería programar:num = num + 1.

Una variable puede ser del tipo boleano, entero, decimal de comaflotante, carácter, cadena de texto, arreglo, matriz, tipo definido por el usuario, etc.Estos son tipos de datos.

Una variable, por lo general, como su nombre lo indica, puede variar su valordurante la ejecución del programa. Dependiendo del lenguaje de programaciónusado, también puede cambiar el tipo de dato que almacena.

VARIABLE

1. Efectuar las operaciones entre paréntesis, corchetes y

llaves.

2. Calcular las potencias y raíces.

3. Efectuar los productos y cocientes.

4. Realizar las sumas y restas.

JERARQUIA DE OPERACIONES

Instrucción de asignación

Una instrucción de asignación (o

simplemente asignación) consiste en

asignar el resultado de la evaluación de

una expresión a una variable.

<nombre_de_la_variable> ← <expresión>

12345

InicioA<-5+1A<-2-1A<-A+7

Fin

123456789

InicioA <- 5B <- 7C <- 2A <- A + B + CB <- C / 2A <- A / B + A ^ CC <- A+(B-C)-B

Fin

a) ¿Qué valor contiene A después de la quinta línea?

b) ¿Qué valor contiene B después de la sexta línea?

c) ¿Qué valor contiene A después de la séptima línea?

d) ¿Qué valor contiene C después de la octava línea?

Desarrollar el pseudocódigo de los

siguientes procesos comunes:

1. Hacer una jarra de agua de limón

2. Salir del salón de clases.

3. Cambiar una llanta de un automóvil

4. Calcular la calificación final (considere 5 bimestres) de la clase

de Introducción a la computación

5. Sacar un libro de la biblioteca

16

Input Process Output

Problem Analysis:

a. Input-Process-Output table

b. Algorithm Design:Flowchart

Algorithm

Diagramas de flujo

Introducción al razonamiento algorítmico

17

Entrada-Procesamiento-Salida

Entradas Procesamiento Salida

• Datos para el • Cálculo de la • Dar a conocer elprocesamiento salida deseada resultado

18

Diagrama de Flujo Representación gráfica de la manera en que una computadora

debe pasar de una instrucción a la siguiente cuando realizauna tarea.

Utiliza los siguientes símbolos:

Inicio o final

19

Diagrama de Flujo … Entrada o salida

Decisión

Cálculo

20

Diagrama de Flujo … Ciclo

21

Ejemplo

22

Diagrama de Flujo … Conceptos útiles:

1. Operadores Relacionales

1. >, <

2. <=,>=

3. ==, !=

2. Comandos: GET

Loop

PUT

Start

End

23

RaptorAmbiente de programación basado en diagramas de flujo.

Diseñado para ayudar a los alumnos a visualizar susalgoritmos.

Programas pueden ser ejecutados.

Gratis: http://raptor.martincarlisle.com/

24

Entrada-Procesamiento-Salida

Entradas Procesamiento Salida

• Datos para el • Cálculo de la • Dar a conocer elprocesamiento salida deseada resultado

25

Raptor …

26

Ejercicios secuenciales

27

Ejercicios secuenciales Realice el diagrama de flujo para:

1. Calcular el IVA (16%) de un producto.

2. Calcular para un préstamo:

1. Los intereses mensuales a una tasa del 18% anual.

2. El pago neto (Pago bruto menos intereses del mes).

28

Ejercicios condicionales

29

Ejercicios condicionales1. Decidir si aprobó un examen.

2. Decidir si en este año vence tu licencia.

3. Decidir si un número es par o impar.

4. Calcule sus puntos extras en el examen parcial tomando encuenta las calificaciones de sus compañeros de equipo.

5. Clasificar a una persona, de acuerdo a su edad, en: Bebé: 0 a 1 Infante: 2 a 4 Niño: 5 a 11Adolescente: 12 a 17Adulto joven: 18 a 34Adulto maduro: 35 a 59Adulto mayor: 60 a 89Anciano: 90 en adelante.

30

Ejercicios condicionales …Tiendita

Obtenga el diagrama de flujo para el siguiente problema.

La pantalla debe de desplegar el menú al iniciar

Bienvenidos al “Café Tranquis”1) Café Expreso

2) Café Capuchino3) Café Late

4) Café MokaOpción: 3

El café Late cuesta 15 pesos.¿Cuántos cafés quieres? 2El total a pagar de los cafés es: 30 pesos

Te esperamos pronto.

31

Ejercicios condicionales … Cálculo de áreas

Obtenga el diagrama de flujo para el siguiente problema.

La pantalla debe de desplegar el menú al iniciar

1) Área del Triángulo2) Área del Círculo3) Área del Cuadrado4) Área del Rectángulo

Opción: 2

Dame el radio: 1El área del círculo con radio 1 es: 3.1416

ADIOS

32

Ejercicios condicionales … Placas: REALIZA el algoritmo y construye un diagrama en

Raptor, que despliegue los meses en que debe llevar a

verificar un coche en función del número de terminación de

sus placas.

Ver la siguiente tabla:

Terminación

1-2

3-4

5-6

7-8

9-0

Meses de verificación

Enero - Febrero

Marzo - Abril

Mayo - Junio

Julio - Agosto - Septiembre

Octubre - Noviembre

33

Ejercicios condicionales … Huracanes: Existen varias escalas para medir un huracán. La escala Saffir-Simpson se ha

convertido en una forma popular de categorizar los huracanes y es muy útil para estimarla cantidad de daños que pueden ocurrir a causa de un huracán. Fue nombrada así por loscientíficos que la desarrollaron.

REALIZA el algoritmo y desarrolla un diagrama de flujo con las siguientescaracterísticas: Dada la categoría de un huracán,

Despliegue la velocidad del viento y el tipo de daños que un huracán de esta categoríaprovoca

Intensidad

1

2

3

4

5

34

Velocidad del Viento

(mph)

74-95

96-110

111-130

131-155

sobre 155

Daños

Mínimos

Moderados

Extensos

Extremos

Catastróficos

Ejercicios condicionales … PLACAS versión 2.

Pedir al usuario el último número dela placa de su carro.

El número debe de ser de dos dígitos,de tal forma que salga la salidamostrada a continuación.

Terminación Meses de verificación

1-2 Enero - Febrero

3-4 Marzo - Abril

5-6 Mayo - Junio

7-8 Julio - Agosto - Septiembre

9-0 Octubre - Noviembre

35

SALIDA SIN ERROR:

Dame el último número de dosdígitos de tu placa: 76

Con el número 6 te toca verificarlos meses de: Mayo y Junio

Gracias por usar nuestro servicio.

SALIDA CON ERROR:

Dame el último número de dos

dígitos de tu placa: 766

El número no es de dos dígitos.

Gracias.

Ciclos

36

Ciclos

37

38

Ejemplos ciclos

1. Subir escaleras

2. Cumpleaños en Diciembre

3. Juego de las sillas

39

Ejercicios de ciclos1. Promedio edades de mis amigos

2. Cantidad de amigos en Facebook de la primera fila pero solo si son más de200.

3. Anterior pero dando como resultado a cuántos se les preguntó y cuántos síentraron en la suma.

4. Suma números pares: Realice un algoritmo y un diagrama de flujo que: Dado un número entero de entrada

Imprima los números pares que se encuentren entre ese número y el cero. Ejemplo: Entrada:10

Salida: 10, 8, 6, 4, 2, 0.

40

Ejercicios de ciclos …5. Realice un programa que dado un número K, obtenga su

número de Fibonacci.

La sucesión de Fibonacci se define como la suma de los dosúltimos elementos de una serie que empieza con los números 1, 1. Ej: 1, 1, 2, 3, 5, 8, 13, ...

Formalmente se define de la siguiente manera:F(1) = 1

F(2) = 1

F(K) = F(K-1) + F(K-2)

Ej: F(5) = F(4) + F(3) = 3 + 2 = 5

F(4) = F(3) + F(2) = 2 + 1 = 3

F(3) = F(2) + F(1) = 1 + 1 = 2

41

Ejercicios de ciclos …

6. Realice un programa que multiplique por dos un númeroN, K veces.

Las entradas al programa serán:

el número N a multiplicar.

el numero de veces K que se desea realizar la multiplicación.

Pruebe su programa con N = 2, K = 3 (Resultado = 16).

42

¿Qué sigue?

Introducción al razonamiento algorítmico

44

Entrada-Procesamiento-Salida

Entradas Procesamiento Salida

• Datos para el • Cálculo de la • Dar a conocer elprocesamiento salida deseada resultado

45

Proceso de desarrollo de un programa

Diseñar el Escribir elprograma código

Corregir Corregirerrores de errores de

lógica sintáxis

Probar elprograma

46