Documentos de Académico
Documentos de Profesional
Documentos de Cultura
LOGARITMOS COMPUTACIONALES
ACTIVIDAD FUNDAMENTAL 1
Nombre completo Matrícula Carrera Foto
GAMALIEL CRUZ FELICIANO 2173901 I.T.S
1
Contenido
INTRODUCCION ................................................................................................................................... 3
1. ¿Qué es un algoritmo? ................................................................................................................ 4
2. Menciona diferentes ejemplos donde se empleen los algoritmos ............................................. 4
3. ¿Cuáles son las partes que integran un algoritmo? .................................................................... 5
4. Características de los algoritmos: ............................................................................................... 6
5. Diferentes tipos de algoritmos .................................................................................................... 6
6. Alcances de los algoritmos .......................................................................................................... 7
7. ¿Cuáles son los pasos para realizar un algoritmo? ..................................................................... 7
8. Técnicas de representación de los algoritmos ............................................................................ 7
9. Explicar cada una de las técnicas de representación de los algoritmos: .................................... 7
10. Mencionar 3 diferentes ejemplos de pseudocódigo............................................................... 8
11. Menciona y explica los 3 diferentes tipos de decision …………………………………………………………..9
14. ¿Cuáles son las simbologías que se una para realizar los diferentes diagramas de flujo? ... 10
15. Explicar el uso de cada uno de los símbolos que se usan en los diagramas de flujo ............ 11
16. Menciona y explica cada una de las estructuras que utilizan los diagramas de flujo. .......... 11
17. Menciona 3 ejemplos de cada tipo de las diferentes estructuras que se practican en los
diagramas de flujo (9) ....................................................................................................................... 13
18. ¿Qué es una constante? ........................................................................................................ 21
19. Diferentes tipos de constantes ............................................................................................. 21
20. ¿Qué es una variable? ........................................................................................................... 22
21. Explica los diferentes tipos de datos ..................................................................................... 22
CONCLUSIONES ................................................................................................................................. 25
REFERENCIAS ..................................................................................................................................... 27
2
INTRODUCCION
En el siguiente trabajo pretendo presentar una serie de conceptos y definiciones
propios del estudio de los Algoritmos, sus tipos y demás temas relacionados.
Espero que se comprenda de la mejor manera como yo espero, y sobre todo que
se logre captar lo importante.
3
1. ¿Qué es un algoritmo?
• En su libro Fundamentos de programación, Luis Joyanes Aguilar, define al
algoritmo como un método para resolver un problema. Aunque la
popularización del término ha llegado con el advenimiento de la era
informática, algoritmo proviene de Mohammed al-KhoWârizmi, matemático
persa que vivió durante el siglo IX y alcanzó gran reputación por el enunciado
de las reglas paso a paso para sumar, restar,
multiplicar y dividir números decimales; la
traducción al latín del apellido en la palabra
algorismus derivó posteriormente en algoritmo.
4
6. Si NUMERO1 es mayor a NUMERO2 entonces
7. 1 NUMERO1 es mayor
8. 2 SINO
9. 3 NUMERO2 es mayor
10. Fin
5
b. Proceso: realizar la diferencia del año actual menos el año de nacimiento.
c. Salida: visualización del resultado generado. Es decir, el resultado es la edad
• Algoritmos cuantitativos
Son lo contrario de los algoritmos cualitativos, porque se colocan elementos
numéricos. Este tipo de algoritmos se utilizan en las matemáticas para
realizar cálculos. Por ejemplo, para encontrar una raíz cuadrada o resolver
una ecuación.
• Algoritmo computacional
Son los algoritmos que se hacen con una computadora; muchos de estos
algoritmos son más complejos y por eso necesitan ser realizados a través de
una máquina. También pueden ser algoritmos cuantitativos que se optimizan.
• Algoritmo no computacional
Estos algoritmos son aquellos que no pueden realizarse con una
computadora; por ejemplo, la programación de un televisor.
6
6. Alcances de los algoritmos
• Estos algoritmos permiten resolver problemas y realizar
tareas complejas. Siguiendo una serie de instrucciones
(como en una receta), simulan los procesos de la
inteligencia humana a través del aprendizaje, el
razonamiento y la autocorrección.
7
• También conocido como flowchart es una técnica de programación de
representación de algoritmos antigüa y muy utilizada. Un diagrama de flujo,
Jayanes Aguilar, lo define como: “un diagrama que utiliza los símbolos (cajas)
estándar mostrados en la tabla 1 y que tiene los pasos de un algoritmo
escritos en esas cajas unidas por flechas, denominadas líneas de flujo, que
indican la secuencia en que se debe ejecutar”
2.- Diagrama N-S (Nassi-Schneiderman).
• El diagrama N-S de Nassi-Schneiderman (conocido también como Chapin)
es como un diagrama de flujo en el que se omiten las flechas de unión y las
cajas son contiguas. Las acciones sucesivas se escriben en cajas sucesivas
y como en los diagramas de flujo se pueden escribir diferentes acciones en
una caja.
3.- Lenguaje de especificación de algoritmos: pseudocódigo.
• El pseudocódigo es una herramienta de programación en la que las
instrucciones se escriben en palabras similares al inglés o español, que
facilitan tanto la escritura como la lectura de programas. En esencia, el
pseudocódigo se puede definir como un lenguaje de especificaciones de
algoritmos. Aunque no existen reglas para escritura del pseudocódigo es
español, se utilizan palabras reservadas básicas, estas palabras son
traducción libre de palabras reservadas de lenguajes como C, Pascal, etc.
4.- Lenguaje español, inglés.
5.- Fórmulas.
El método 4 y 5 no son fáciles de programar. Un algoritmo no puede ser
representado por una simple fórmula.
8
3.- Leer la calificación de la materia 2, denominada MATERIA2
4.- Sumar MATERIA1 más MATERIA2, el resultado denominarlo: SUMA
5.- Dividir a SUMA entre 2, el resultado denominarlo PROMEDIO
6.- Visualizar el promedio de las materias, imprimir PROMEDIO.
7.- Fin
9
12. ¿Cuáles son las simbologías que se una para realizar los
diferentes diagramas de flujo?
SIMBOLO NOMBRE
TERMINAL
ENTRADA/SALIDA
PROCESO
DECISION
DECISION MULTIPLE
CONECTOR
INDICADOR DE DIRECCION
LINEA CONECTORA
10
CONECTOR
LLAMA SUBRUTINA O UN
PROCESO
PREDETERMINADO
PANTALLA
IMPRESORA
TECLADO
COMENTARIOS
SIMBOLO NOMBRE
11
Terminal (representa el comienzo, “inicio” y el
final, “fin” de un programa. Puede
representar también una parada o
interrupción programada que sea necesario
realizar en un programa.)
12
Conector (conexión entre dos puntos del
ordinograma situado en diferentes páginas.)
13
4. Leer nombre de usuario
5. Solicitar contraseña
6. Leer contraseña
7. Crear cuenta con el nombre de usuario y contraseña
8. Mostrar mensaje de confirmación de registro
9. FIN
Ejemplo 2: Diagrama de flujo de una rutina de ejercicio matutino
1. INICIO
2. Realizar calentamiento (estiramientos, saltos, etc.)
3. Realizar ejercicios aeróbicos (correr en su lugar, saltos, etc.)
4. Realizar ejercicios de fuerza (flexiones, abdominales, sentadillas)
5. Realizar ejercicios de estiramiento
6. Tomar agua y relajarse
7. FIN
2. Decisión (Ramo/Alternativa):
Ejemplo 1: Diagrama de flujo de un sistema de alarma
1. INICIO
2. Detectar movimiento
3. SI movimiento detectado ENTONCES
4. Activar alarma
5. Notificar a la central de seguridad
14
6. SINO
7. Continuar en modo de espera
8. FIN SI
9. FIN
Ejemplo 2: Diagrama de flujo de una evaluación de exámenes
1. INICIO
2. Tomar la respuesta del estudiante
3. SI respuesta es correcta ENTONCES
4. Sumar puntos
5. SINO
6. Restar puntos por respuesta incorrecta
7. FIN SI
8. Continuar con la siguiente pregunta
9. FIN
3. Bucle (Iteración):
Ejemplo 1: Diagrama de flujo de un contador regresivo
1. INICIO
2. Inicializar contador a 10
3. MIENTRAS contador > 0 HACER
4. Mostrar valor del contador
15
5. Restar 1 al contador
6. FIN MIENTRAS
7. Mostrar "¡Tiempo agotado!"
8. FIN
Ejemplo 2: Diagrama de flujo de una búsqueda en una lista
1. INICIO
2. Leer elemento a buscar
3. PARA cada elemento en la lista HACER
4. SI elemento actual es igual al elemento buscado ENTONCES
a. Mostrar "Elemento encontrado en la posición " + posición
5. FIN SI
6. FIN PARA
7. Mostrar "Elemento no encontrado"
8. FIN
1. Secuencia:
a) Diagrama de flujo para hacer una taza de café:
1. Inicio
2. Verificar si hay café en la despensa.
3. Si hay café, tomar una taza y llenarla con agua caliente.
4. Si no hay café, ir a comprar café.
5. Añadir una cucharada de café a la taza.
6. Revolver el café hasta que esté bien disuelto.
7. Disfrutar de la taza de café.
8. Fin
16
2. Selección:
a) Diagrama de flujo para evaluar si un número es positivo o negativo:
1. Inicio
2. Leer el número.
3. Si el número es mayor a cero, imprimir "El número es positivo".
4. Si el número es menor a cero, imprimir "El número es negativo".
5. Si el número es igual a cero, imprimir "El número es cero".
6. Fin
3. Iteración (bucle):
a) Diagrama de flujo para sumar los primeros 10 números naturales:
1. Inicio
2. Inicializar la variable "suma" en cero.
3. Iniciar un ciclo desde 1 hasta 10.
4. En cada iteración, agregar el número actual a la variable "suma".
5. Imprimir el valor final de "suma".
6. Fin
17
7. SI NUMERO>0 ENTONCES
8. escribir "El número introducido es positivo"
9. SI NO
10. SI NUMERO<0 ENTONCES
11. escribir "El número introducido es negativo"
12. SI NO
13. escribir "El número es cero"
14. FINSI
15. Fin programa
• Ejemplos 3: El usuario debe introducir dos números y se mostrará la suma de
ambos.
1. Inicio
2. PROGRAMA Sumar;
3. VAR
4. ENTERO Numero1, Numero2, Resultado;
5. INICIO
6. ESCRIBIR («Dime dos números para sumar: «);
7. LEER (Numero1, Numero2);
8. Resultado <- Numero1 + Numero2;
9. ESCRIBIR («La suma es: «, Resultado);
10. FIN PROGRAMA
¿Qué es un seudocódigo?
3 ejemplos de seudocódigo
18
• 1.- Calcular el área de un cuadrado:
• 1.- inicio
• 2.- “ingrese la longitud del lado en cm:” L
• 3.- AC=L*L
• 4.- “el área del cuadrado es:” +AC+ “cm cuadrados”
• 5.- Fin
19
• switch..case: Al igual que if, switch..case controla el flujo del programa
especificando en el programa que código se debe ejecutar en función de
unas variables. En este caso en la instrucción switch se compara el valor de
una variable sobre los valores especificados en la instrucción case.
• break: es la palabra usada para salir del switch. Si no hay break en cada
case, se ejecutará la siguiente instrucción case hasta que encuentre un break
o alcance el final de la instrucción.
• default: es la palabra que se usa para ejecutar el bloque en caso de que
ninguna de las condiciones se cumpla.
Simples
• Si<condición> Entonces
• <Acción S1>
• Fin _ si
Doble
• Si <condición> entonces
• <Acción S1>
• Sino
<Acción S2>
• Fin_Si
Multiple
• En caso (variable) hacer
• Caso 1: Acción 1
• Caso2: Acción 2
• Caso N: Acción N
• En caso contrario:Acción
• Fin_caso
20
16. ¿Qué es una constante?
• Las constantes son datos que no cambian durante la ejecución del programa.
Para nombrar las constantes utilizamos identificadores.
22
Donde expresión puede representar el valor de una expresión aritmética,
constante o variable. Observa que la instrucción finaliza con punto y coma: ;.
Analicemos a continuación el siguiente caso, donde las variables reciben un
valor a través de un bloque de asignación.
void main(void)
{
...
int va1, va2;
float re1, re2;
char ca1, ca2;
...
va1 = 10; /* Asignación del valor 10 a la variable va1.*/
va2 = va1 + 15; /* Asignación del valor 25 (expresión aritmética) a va2. */
va1 = 15; /* La variable va1 modifica su valor. */
re1 = 3.235; /* Asignación del valor 3.235 a la variable real re1. */
re2 = re1; /* La variable re2 toma el valor de la variable re1. */
ca1 = ‘t’; /* Asignación del caracter ‘t’ a la variable ca1. */
ca2 = ‘?’; /* Asignación del caracter ‘?’ a la variable ca2. */
...
}
Otra forma de realizar la asignación de un valor a una variable es cuando se
realiza la declaración de esta. Observemos el siguiente caso.
void main(void)
{
...
int va1 = 10, va2 = 15;
float re1= 3.25, re2 = 6.485;
char ca1 = ‘t’, ca2 = ‘s’;
...
23
}
Finalmente, es importante destacar que los nombres de las variables deben
ser representativos de la función que cumplen en el programa.
24
CONCLUSIONES
INDIVIDUAL
JULIO ENRIQUE PEREZ REYES
Un algoritmo informático no es más que un conjunto de instrucciones para conseguir
un fin, los algoritmos están muy presentes en la informática e ingeniería, pero
también en nuestra vida cotidiana. Existen muchos tipos y ejemplos de algoritmos y
dependiendo de la situación en que nos encontremos unos u otros nos ayudarán a
llegar a la solución que necesitemos y ocupemos en algún momento de nuestra
vida, ya sea desde despertar hasta dormir, ahí habrá un algoritmo.
Esta herramienta es muy importante, puesto que sirve para preparar nuestra cabeza
como programadores y nos permite, además, enfrentarnos a cualquier tipo de
problema para plantear una solución óptima donde; El algoritmo permite estudiar
las necesidades del problema para después crear una lista de pasos que deberán
ser seguidos y alcanzar así la solución deseada. Las técnicas de desarrollo de
algoritmos nos permiten encontrar la mejor solución a los problemas que se nos
presentan y deben ser solucionados por la computadora, estas técnicas están
orientadas para utilizarse en cada uno de los niveles de complejidad y variedad o
alternativas para las cuales se aplican los algoritmos. Un algoritmo es el conjunto
de operaciones y procedimientos que deben seguirse para resolver un problema,
es por ellos que se deben implementar con más frecuencia.
25
Estos algoritmos son fundamentales en el desarrollo de software, ya que nos
permiten diseñar soluciones precisas y rápidas para una amplia variedad de
desafíos.
REFERENCIAS
Libros:
• Analisis_y_disenio_de_algoritmos
• datastructures-estructuras-de-datos-osvaldo-cairo
• Libro de Osvaldo Cairo
https://www.lifeder.com/tipos-algoritmos/
27