2. Herramientas de análisis y diseño
Son aquellas que nos permiten visualizar los procesos que se
deben llevar a cabo para resolver un problema.
Algoritmos
Representaciones lógicas
2
4. Definiciones de algoritmo
Descripción del método mediante el cual se realiza una tarea
Es una secuencia de instrucciones, las cuales realizadas
adecuadamente, dan lugar al resultado deseado
Conjunto de pasos para realizar una tarea en forma
secuencial.
Conjunto de pasos para realizar una tarea, que puede
escribirse y aplicarse.
4
5. Algoritmos
Ejemplo: receta para preparar café.
El algoritmo se expresa como instrucciones en una receta.
Se aplica el algoritmo cuando se siguen las instrucciones para
preparar el café.
5
6. 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 mismo
resultado cada vez.
• Un algoritmo debe ser finito. Si se sigue un
algoritmo, se debe de terminar en algún
momento.
7. Algoritmos …
Un algoritmo correctamente formulado garantiza que se
realizará la tarea diseñada si se siguen los pasos al pie de la
letra.
7
8. 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 de
programación determinado.
Permite al programador concentrarse en la lógica del problema.
8
9. Algoritmos …
Escritura de un algoritmo:
1. Empezar con una lista de los pasos que un ser humano realizaría para hacer el
mismo 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
10. 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 el
diseño de un programa.
10
11. 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 de
Problemas con Computación
5. Sacar un libro de la biblioteca
11
13. 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 lenguaje
computacional a utilizar para la codificación.
13
15. 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 it
becomes true or false
While While a condition still been
true or false do
Print Output data to a printer
and / or Ralational operators
asignation
16. PALABRA UTILIZACIÓN
ABRE Abre un archivo
CASO Selección entre múltiples alternativas
CIERRA Cierra un archivo
ENTONCES
Complemento de la selección
SI - 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 - BIEN
Complemento opcional de la selección
SI - 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
17. Calcule un salario si este es pagado a 80 pesos la hora.
Begin
input horas
input tarifa
pago = horas * tarifa
print pago
End
Sumar dos números enteros
Begin
input x, y
suma = x + y
print suma
End
19. En programación, una variable es un espacio de memoria reservado para
almacenar un valor que corresponde a un tipo de dato soportado por el lenguaje
de 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 tipo
entero). 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 coma
flotante, 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 valor
durante la ejecución del programa. Dependiendo del lenguaje de programación
usado, también puede cambiar el tipo de dato que almacena.
VARIABLE
20. 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
21. 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>
1
2
3
4
5
Inicio
A<-5+1
A<-2-1
A<-A+7
Fin
22. 1
2
3
4
5
6
7
8
9
Inicio
A <- 5
B <- 7
C <- 2
A <- A + B + C
B <- C / 2
A <- A / B + A ^ C
C <- 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?
23. 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
27. Diagrama de Flujo
Representación gráfica de la manera en que una computadora
debe pasar de una instrucción a la siguiente cuando realiza
una tarea.
Utiliza los siguientes símbolos:
Inicio o final
19
31. Diagrama de Flujo …
Conceptos útiles:
1. Operadores Relacionales
1. >, <
2. <=,>=
3. ==, !=
2. Comandos:
GET
Loop
PUT
Start
End
23
32. Raptor
Ambiente de programación basado en diagramas de flujo.
Diseñado para ayudar a los alumnos a visualizar sus
algoritmos.
Programas pueden ser ejecutados.
Gratis: http://raptor.martincarlisle.com/
24
36. 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
38. Ejercicios condicionales
1. 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 en
cuenta 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 11
Adolescente: 12 a 17
Adulto joven: 18 a 34
Adulto maduro: 35 a 59
Adulto mayor: 60 a 89
Anciano: 90 en adelante.
30
39. 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é Capuchino
3) Café Late
4) Café Moka
Opción: 3
El café Late cuesta 15 pesos.
¿Cuántos cafés quieres? 2
El total a pagar de los cafés es: 30 pesos
Te esperamos pronto.
31
40. 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ángulo
2) Área del Círculo
3) Área del Cuadrado
4) Área del Rectángulo
Opción: 2
Dame el radio: 1
El área del círculo con radio 1 es: 3.1416
ADIOS
32
41. 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
42. 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 estimar
la cantidad de daños que pueden ocurrir a causa de un huracán. Fue nombrada así por los
científicos que la desarrollaron.
REALIZA el algoritmo y desarrolla un diagrama de flujo con las siguientes
caracterí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ía
provoca
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
43. Ejercicios condicionales …
PLACAS versión 2.
Pedir al usuario el último número de
la placa de su carro.
El número debe de ser de dos dígitos,
de tal forma que salga la salida
mostrada 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 dos
dígitos de tu placa: 76
Con el número 6 te toca verificar
los 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.
48. Ejercicios de ciclos
1. Promedio edades de mis amigos
2. Cantidad de amigos en Facebook de la primera fila pero solo si son más de
200.
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
49. 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
50. Ejercicios de ciclos …
6. Realice un programa que multiplique por dos un número
N, 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
53. Proceso de desarrollo de un programa
Diseñar el Escribir el
programa código
Corregir Corregir
errores de errores de
lógica sintáxis
Probar el
programa
46