Post on 13-Jul-2015
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
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 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
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
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 … 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
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 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.
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
Entrada-Procesamiento-Salida
Entradas Procesamiento Salida
• Datos para el • Cálculo de la • Dar a conocer elprocesamiento salida deseada resultado
45