Documentos de Académico
Documentos de Profesional
Documentos de Cultura
www.usat.edu.pe
1 www.usat.edu.pe
Introducción
Control de
asistencia
2 www.usat.edu.pe
Propósito de la sesión
Objetivo de la sesión:
- Que el estudiante comprenda los fundamentos teóricos relacionados con
el diseño de algoritmos.
Contribuye al logro
Contribuye al logro
4 www.usat.edu.pe
Algoritmos
Algo de historia…
Algoritmo proviene — de Mohammed al-KhoWârizmi, matemático persa que
vivió durante el siglo IX. La traducción al latín del apellido en la palabra
algorismus derivó posteriormente en algoritmo.
Euclides, el gran matemático griego (del siglo IV a. C.) se considera con Al-
Khowârizmi el otro gran padre de la algoritmia (ciencia que trata de los
algoritmos).
5 www.usat.edu.pe
Algoritmos
Características de los algoritmos
www.usat.edu.pe
Algoritmos
¿Qué describe un algoritmos?
www.usat.edu.pe
Algoritmos
Datos
www.usat.edu.pe
Algoritmos
Tipo de Datos:
Datos Simples o Estándar • Numéricos: Enteros y Reales
• Carácter
primitivos • Lógicos
Datos compuestos o Estáticos • Cadenas
• Array (matrices)
estructurados • Archivo o ficheros
• Registro
Dinámicos • Lista (pila/cola)
• Lista enlazada
• Árbol
• Grafo
Los de color azul son los que veremos en el curso, los otros se ven en el curso de
Estructura de Datos
www.usat.edu.pe
Algoritmos
Tipo de datos simples o primitivos:
-Sólo tienen parte entera, no tienen parte decimal.
Enteros -Pueden ser positivos o negativos.
-También se les llama de punto o coma Fija.
- Ejemplo: 5 , -9, 20, etc.
Numéricos -Tienen parte entera y parte decimal; es decir que estos datos
utilizarán el punto decimal necesariamente para separar la parte
Reales entera de la parte decimal.
-Pueden ser positivos o negativos.
-También se les llama de punto o coma flotante.
- Ejemplo: 0.08, 3.0, 8.5, -9.65, -6.0, etc.
un solo carácter)
-Formado por el resto de caracteres existentes.
Especiales -Ejemplo: ‘+’, ‘*’,’/’,’-‘,’\’, ‘^’, ‘<’,’>’,’=’, ‘!’, etc.
www.usat.edu.pe
Algoritmos
Variables y constantes
Variables
• Una variable es un objeto que se utiliza para almacenar un dato en un
algoritmo o en un programa y se caracteriza porque su valor puede
variar durante el desarrollo del algoritmo o durante la ejecución del
programa.
www.usat.edu.pe
Algoritmos
Consideraciones a tener en cuenta para
dar nombre a las variables:
- Nombre significativo.
- Dependiendo del lengauje de programación hay algunas restricciones. Por ejemplo en C, el nombre de
una variable sólo podrá empezar con una letra o con _, en Java además de esto permite empezar con $.
Por ejemplo, $sexo, _peso, etc.
- No utilizar las palabras reservadas del lenguaje de programación como nombres. Una palabra
reservada es un palabra que para el compilador del lenguaje de programación ya tiene un significado
especial. Por ejemplo for, if, while, etc.
- El nombre puede contener caracteres alfanuméricos y especiales, menos los caracteres que para el
compilador ya tienen un significado especial como los operadores aritméticos, relacionales y otros
(+,-,*, /,%,,,.,;,etc.)
www.usat.edu.pe
Algoritmos
Ejemplos de nombres de variables:
Nombre de Variable Observación
edad Correcto
$edad Correcto en Java, Incorrecto en C
_edad Correcto
apellidoPaterno Correcto
num7 Correcto
7num Error (empieza el nombre con número)
*num Error (empieza el nombre con *)
for Error (for es palabra reservada)
Apellido materno Error (se ha dejado espacio en blanco en el nombre)
www.usat.edu.pe
Algoritmos
Constantes
• Una constante es un objeto que se utiliza para almacenar un dato en un
algoritmo o en un programa y se caracteriza porque su valor no puede variar
durante el desarrollo del algoritmo o durante la ejecución del programa.
www.usat.edu.pe
Algoritmos
Consideraciones a tener en cuenta para
dar nombre a las constantes
• Las mismas que para las variables sólo que para las constantes se
recomienda que todo el nombre se escriba en mayúsculas, esto para
poder diferenciarlas rápidamente de las variables y saber que su valor no
puede ser modificado.
www.usat.edu.pe
Ejercicio
Realice un programa que calcule la calificación que debe obtenerse en un
examen sustitutorio, si se conoce que el promedio para aprobar debe ser
mínimo de 14. El usuario debe ingresar su nombre (para el reporte), las
calificaciones de la primera y segunda unidad. La nota final (solo esta puede
contener decimales).
Se pide:
a) Identificar las variables del problema
b) Identificar las constantes del problema
c) Dar un nombre a cada variable identificada
d) Identificar el tipo de dato de cada variable
Tipo de Descripción de variable Nombre de variable Tipo de Dato
Variable
16 www.usat.edu.pe
Algoritmos
Expresiones
www.usat.edu.pe
Algoritmos
Expresiones aritméticas
- Se forman de la combinación de variables y constantes numéricas, utilizando operadores
aritméticos (^,*,/,mod, div, +,-), paréntesis y funciones especiales según se requieran.
- Son análogas a las fórmulas matemáticas, con la diferencia que toda la expresión se
escribe de corrido horizontalmente es decir que si en matemática escribíamos.
8
3 Ahora lo escribimos 8/3 o 8 x 3 Ahora lo escribimos 8*3
- Por otro lado que si en matemáticas usábamos llaves y corchetes para las fórmulas, en la
expresiones usamos sólo paréntesis, y el operador de multiplicación ya no es x, ni . sino el *,
y para la potencia ahora usaremos ^.
www.usat.edu.pe
Algoritmos
Analogía entre fórmula matemática y
expresión aritmética
Formula Matemática Expresión Aritmética
s.(x+y) s *(x+y)
www.usat.edu.pe
Algoritmos
Operadores Aritméticos:
Operador Significado Tipo de Tipo de resultado Ejemplo
Operador
^, ** Exponenciación o Entero o real Entero o real 3^2 = 9
potencia 3.0^2 = 9.0
* Multiplicación Entero o real Entero o real 3*2 = 6
3.0*2.5 = 7.5
/ División Real Real 4.0/2.0 = 2.0
5.0/2.0 = 2.5
División entera
\, div (cociente)
Entero Entero 5 div 3 = 1
mod Módulo o residuo Entero Entero 5mod3 = 2
+ Suma Entero o real Entero o real 3+2 = 5
3.0+2.5 = 5.5
- Resta Entero o real Entero o real 3-2 = 1
3.0-2.5 = 0.5
www.usat.edu.pe
Algoritmos
Reglas de prioridad en las expresiones
aritméticas:
Existe una regla de prioridad que se sigue para la resolución de expresiones
aritméticas, que mencionamos a continuación.
1.- Paréntesis, si hay paréntesis anidados, se desarrolla primero los más
internos.
2.- Exponenciación (^).
3.- Multiplicación (*), División (/), División entera (div), módulo o resto (mod).
Todos tienen la misma prioridad.
4.- Suma (+), resta (-). Tienen la misma prioridad.
Prioridad:
()
^ (Potencia)
*, /, div (Cociente), mod (Residuo)
+, -
www.usat.edu.pe
Algoritmos
Ejercicio 02
(2 ^ ( 9 ^ 0.5) * 4 div 2) – (7- 16 div 5 mod 3 + 7 * 2 ^ 2 mod 3 ^ 2)
Prioridad:
()
Rpta: ?
^ (Potencia)
*, /, div (Cociente), mod (Residuo)
+, -
www.usat.edu.pe
Algoritmos
Expresiones lógicas
• Se forman de la combinación de variables y constantes lógicas, utilizando
operadores lógicos (and, or, not) y operadores relacionales (=,<>, >, >=, <,
<=) y los paréntesis según se requieran.
• El resultado de evaluar esta expresión es de tipo lógico, es decir sólo puede
tomar dos valores true (verdad) o false (falso).
Operador Prioridad
Not (no) 1
And (y) 2
Or (o) 3
www.usat.edu.pe
Algoritmos
Tablas de verdad:
a b a And b a Or b
a Not a
V F V V V V
F V V F F V
F V F V
F F F F
www.usat.edu.pe
Algoritmos
Operadores Relacionales:
Operador Significado Los operadores de relación se pueden aplicar con
los tipos de datos.
< Menor que
Ejemplo: true(verdad), false(false)
> Mayor que
3<6 dará true
= Igual que
<= Menor o igual que 8<= 5 dará false
www.usat.edu.pe
Algoritmos
Ejercicio 03
Tabla de Verdad:
V and V → V, caso contrario F
F or F → F, caso contrario V Rpta: ?
Not V →F
Not F → V
www.usat.edu.pe
Algoritmos
Funciones Internas
Son funciones que necesitaremos en algunas oportunidades según lo demande
la solución del problema.
www.usat.edu.pe
Algoritmos
Operador de asignación
- La operación de asignación es el modo de darles valores a una variable o constante.
- Se representa con el símbolo
- El formato para la asignación es el siguiente:
- Mientras que en matemáticas se utiliza el símbolo = para asignar un valor a una variable,
en el lenguaje algorítmico se utiliza el operador () para realizar esta asignación,
quedando el operador = para ser usado como operador de igualdad.
y 2*a+3
n n +1 en matemáticas, no tienen sentido
www.usat.edu.pe
Algoritmos
Ejemplos de uso del operador de
asignación
- Asignación numérica:
a3
n a+5 // n 8
- Asignación Lógica:
m 8<5 // m será false (falso)
n m or (7<=12) // n será true (verdadero)
p 7>6 // p será true (verdadero)
- Asignación de carácter:
x ’c’
Observación: Se deben de asignar valores del mismo tipo que la variable. Se presentará un error si se trata
de asignar valores de tipo caracter a una variable numérica o un valor numérico a una variable tipo
caracter.
www.usat.edu.pe
Algoritmos
Entrada de datos y salida de información
Entrada:
- Las operaciones de entrada permiten leer determinados valores y asignarlos a
determinadas variables.
www.usat.edu.pe
Algoritmos
Salida
- La salida es el resultado de procesar los datos.
www.usat.edu.pe
Algoritmos
Herramientas para diseño de algoritmos.
Entre las principales herramientas de programación que podemos utilizar para
diseñar
algoritmos tenemos:
- Diagrama de flujo.
- Pseudocódigo.
- Diagrama de Nassi-Schneiderman (N-S).
www.usat.edu.pe
Conclusiones
– El algoritmo es un conjunto de pasos que especifican la secuencia que se debe seguir y que
operaciones realizar para resolver un problema, es la fórmula o receta para resolver un problema.
– Todo algoritmo debe ser preciso, definido y finito.
– En los algoritmos existen diferencias entre la forma como se escriben las expresiones y las
fórmulas aritméticas o lógicas.
– Existen diferentes herramientas para representar algoritmos: Diagrama de Flujo, Pseudocodigo y
Diagrama N-S, sólo debemos elegir una.
Próxima sesión
• Algoritmos: Estructuras básicas de
programación
52 www.usat.edu.pe
Referencias
53 www.usat.edu.pe
Ing. Héctor M. Zelada Valdivieso / Email: hzelada@usat.edu.pe
Ing. Ernesto Nicho Córdova / Email: ncordova@usat.edu.pe
http://www.facebook.com/usat.peru
https://twitter.com/usatenlinea
https://www.youtube.com/user/tvusat
https://plus.google.com/+usateduperu
54 www.usat.edu.pe