Está en la página 1de 15

ALGORITMOS

RESEÑA HISTÓRICA DE LA PALABRA ALGORITMO: La palabra algoritmo se deriva de la traducción del


latín de la palabra árabe Alkhôwarîzmi, nombre de un matemático astrónomo árabe que escribió un tratado sobre la
manipulación de números y ecuaciones en el siglo IX.

ALGORITMO: Es un método para resolver un problema mediante una serie de procedimientos (pasos) precisos,
definidos y finitos.
Preciso: Indica el orden de realización de cada proceso.
Definido: Si se sigue el proceso cualquier número de veces se obtiene el mismo resultado.
Finito: Tiene un número determinado de procesos, tiene fin.

Para hacer un algoritmo se requiere:


Fijar un objetivo: Es el planteamiento del problema que es lo que requiere y que pide como respuesta.
Observar los medios para lograr el objetivo: Son las herramientas que nos permiten alcanzar el objetivo antes fijado.
Razonar los procesos: Al entender un problema hay menor probabilidad de que se mecanicen, los procesos.

PSEUDOCÓDIGO: Especie de código adaptable a cualquier lenguaje de programación

Diferencia entre pseudocódigo y algoritmo


Algoritmo: Se plantea el problema y se representa con un diagrama de flujo normalmente.
Pseudocódigo: Representa la forma de resolver el problema.

Diseño del pseudocódigo


• Se debe de fijar un objetivo y los medios para conseguirlo
• Debe tener inicio y fin tanto del pseudocódigo, como los procesos que se encuentren dentro de él
• El pseudocódigo debe estar escrito en un lenguaje claro y entendible sin saltarse procesos
• El pseudocódigo debe de tener sangrías para visualizarlo más fácilmente
• El formato general del pseudocódigo es:
INICIO
Variables
Enteras:
Reales:
Caracter:
Booleanas:
Acción 1
Acción 2
Acción N
FIN

VARIABLE: Es un espacio de memoria que almacena un valor.


Ejercicio: Desarrolle el pseudocódigo de un programa que muestre la suma de dos números.

Análisis
1.- Fijar el objetivo: Imprimir la suma de dos números
2.- Medios para resolver el problema: El procedimiento de suma de dos números A + B

INICIO
Variables
Enteras: X, Y, Z
Escribe ‘Deme un número’
Ir al programa en
Leer X
lenguaje C
Escribe ‘Deme un número’
Leer Y
Z←X+Y
Escribe ‘El resultado de la suma es:’ Z
FIN

Ejercicio: Desarrolle el pseudocódigo de un programa que imprima las edades y los nombres de tres personas.

Análisis:
1.- Fijar el objetivo: Mostrar nombres y edades de tres personas
2.- Medios para resolver el problema: Leer los nombres, edades y mostrarlas en pantalla.

INICIO
Variables
Enteras: edad 1, edad 2, edad 3
Caracter: nombre 1, nombre 2, nombre 3
Escribe ‘Introduce el primer nombre’
Leer nombre 1
Escribe ‘Introduce la primera edad’
Leer edad 1
Escribe ‘Introduce el segundo nombre’
Leer nombre 2 Ir al programa en
Escribe ‘Introduce la segunda edad’ lenguaje C
Leer edad 2
Escribe ‘Introduce el tercer nombre’
Leer nombre 3
Escribe ‘Introduce la tercera edad’
Leer edad 3
Escribe ‘El primer nombre es’nombre 1 ‘y la edad es’edad 1
Escribe ‘El segundo nombre es’nombre 2 ‘y la edad es’edad 2
Escribe ‘El tercer nombre es’nombre 3 ‘y la edad es’edad 3
FIN
ESTRUCTURAS DE CONTROL: Herramientas que nos permiten llegar a una objetivo en un problema dado.
• Estructuras de control de decisión (If – Else, Si – Entonces – Otro caso): Esta estructura permite llevar por
dos caminos al programa dada una condición.
• Estructuras de control de repetición (For, Do while, Desde – Hasta, Hacer – Mientras): Permite repetir una
serie de instrucciones hasta que se cumpla una condición.

Estructuras de control de decisión

Ejercicio: Desarrolle el pseudocódigo de un programa que sume dos números e indique si el resultado de esa suma
es mayor, menor o igual que diez.

Análisis
1.- Fijar el objetivo: Imprimir la suma de dos números e indicar si el resultado de la suma es mayor, menor o igual
que 10.
2.- Medios para resolver el problema: El procedimiento de suma de dos números A + B, condición que identifique si
el resultado es mayor, menor o igual que 10.

INICIO
Variables
Enteras: X, Y, Z
Escribe ‘Deme un número’
Leer X
Escribe ‘Deme un número’
Leer Y Ir al programa en
Z←X+Y lenguaje C
Escribe ‘El resultado de la suma es:’ Z
Si Z ≤ 10 entonces
Escribe ‘El resultado es menor o igual que diez’
Otro caso
Escribe ‘El resultado es mayor que diez’
Fin Si
FIN
Ejercicio: Desarrolle el pseudocódigo de un programa que sume dos números, determine si el resultado de la suma
es mayor, menor o igual que diez e indique si ese resultado es par o impar.

Análisis
1.- Fijar el objetivo: Imprimir la suma de dos números, indicar si el resultado de la suma es mayor, menor o igual
que 10 e indicar si dicho resultado es par o impar.
2.- Medios para resolver el problema: El procedimiento de suma de dos números A + B, condición que identifique si
el resultado es mayor, menor o igual que 10 y condición que identifique un número par o impar

INICIO
Variables
Enteras: X, Y, Z
Escribe ‘Deme un número’
Leer X
Escribe ‘Deme un número’
Leer Y
Z←X+Y
Escribe ‘El resultado de la suma es:’ Z
Si Z ≤ 10 entonces
Escribe ‘El resultado es menor o igual que diez’
Si Z mod 2 <> 0 (Esta es una palabra reservada que sirve para obtener el residuo de una división)
Escribe ‘El número es impar’
Otro caso
Escribe ‘El número es par’
Fin Si Ir al programa en
Otro caso lenguaje C
Escribe ‘El resultado es mayor que diez’
Si Z mod 2 > 0
Escribe ‘El número es impar’
Otro caso
Escribe ‘El número es par’
Fin Si
Fin Si

FIN
Estructuras de control de repetición

Ciclo Desde – Hasta: Se utiliza cuando se conoce la cantidad de veces que se repetirán las acciones.

Ejercicio: Desarrolle el pseudocódigo de un programa que imprima 100 números

Análisis:
1.- Fijar el objetivo: Mostrar 100 números
2.- Medios para resolver el problema: Utilizar el ciclo Desde – Hasta para mostrar los números

INICIO
Variables
Enteras: i Ir al programa en
Desde i ← 1 hasta que i < 101 con incremento en 1 lenguaje C
Escribe i
Siguiente (Indica la siguiente pasada del ciclo)
FIN

Ejercicio: Desarrolle el pseudocódigo de un programa que imprima las edades y los nombres de tres personas.

Análisis:
1.- Fijar el objetivo: Mostrar nombres y edades de tres personas
2.- Medios para resolver el problema: Utilizar el ciclo Desde – Hasta para mostrar los nombres y las edades

INICIO
Variables
Enteras: i, edad
Caracter: nombre
Desde i ← 0 hasta que i < 3 con incremento en 1 Ir al programa en
Escribe ‘Escriba el nombre’ lenguaje C
Leer nombre
Escribe ‘Escriba la edad’
Leer edad
Escribe ‘El nombre es:’nombre ‘ y la edad es’edad
Siguiente
FIN

Ejercicio: Desarrolle el pseudocódigo de un programa que pida 6 calificaciones y al final muestre su promedio

Análisis:
1.- Fijar el objetivo: Mostrar el promedio de seis calificaciones dadas
2.- Medios para resolver el problema: Utilizar el ciclo Desde – Hasta pidiendo las calificaciones y sumarlas para
obtener el promedio.

INICIO
Variables
Enteras: i
Reales: Calificación, Promedio ← 0.0
Desde i ← 0 hasta que i < 6 con incremento en 1
Escribe ‘Deme la calificación’i + 1 Ir al programa en
Leer Calificación lenguaje C
Promedio ← Promedio + Calificación
Siguiente
Escribe ‘El promedio de las calificaciones es’Promedio / 6
FIN
Ejercicio: Desarrolle el pseudocódigo de un programa que pida 6 calificaciones, que verifique si es correcta la
calificación introducida y al final muestre su promedio.

Análisis:
1.- Fijar el objetivo: Mostrar el promedio de seis calificaciones dadas
2.- Medios para resolver el problema: Utilizar el ciclo Desde – Hasta pidiendo las calificaciones, sumarlas, fijar la
condición para verificar que la calificación introducida sea la correcta y obtener el promedio.

INICIO
Variables
Enteras: i
Reales: Calificación, Promedio ← 0.0
Desde i ← 0 hasta que i < 6 con incremento en 1
Escribe ‘Deme la calificación’i + 1
Leer Calificación Ir al programa en
Si Calificación ≥ 0.0 y Calificación ≤ 10 entonces lenguaje C
Promedio ← Promedio + Calificación
Otro caso
Escribe ‘La calificación es incorrecta’
i--
Siguiente
Escribe ‘El promedio de las calificaciones es’Promedio / 6
FIN

Ejercicio: Desarrolle el pseudocódigo de un programa que haga que se desplace el nombre de una persona a lo largo
de la pantalla.

Análisis:
1.- Fijar el objetivo: Que se visualice en pantalla el nombre de una persona desplazándose.
2.- Medios para resolver el problema: Utilizar la sentencia Ir a (go to) y el ciclo Desde – Hasta

INICIO
Variables
Enteras X, Y
Caracter: Nombre
Escribe ‘Escriba su nombre’
Leer Nombre
Y ← 6 (Se le da un valor constante para que el ciclo no la modifique) Ir al programa en
Desde X ← 0 hasta que X < 220 con incremento en 1 lenguaje C
Ir a (X, Y) Escribir Nombre
FIN
Ciclo Hacer – Mientras: Se utiliza cuando no se conoce el número de veces que se repetirán las instrucciones.

Ejercicio: Desarrolle el pseudocódigo de un programa que pida N cantidad de números hasta que el usuario teclee
“10”

Análisis:
1.- Fijar el objetivo: Pedir números hasta que se teclee el número 10
2.- medios para resolver el problema: Utilizar el ciclo Hacer – Mientras fijando la condición de detenerse cuando se
teclee el número 10.

INICIO
Variables
Enteras: X Ir al programa en
Hacer lenguaje C
Escribe ‘Digite el número’
Leer X
Mientras X <> 10
Fin Mientras
FIN

Ejercicio: Desarrolle el pseudocódigo de un programa que haga la suma de N números e imprimir el resultado en la
pantalla.

Análisis:
1.- Fijar el objetivo: Hacer una suma de N números e imprimir el resultado.
2.- Medios para resolver el problema: Utilizar el ciclo Hacer – Mientras fijando la condición para saber si el usuario
desea o no sumar más números.

INICIO
Variables
Enteras: X ← 0, Y ← 0, Respuesta
Hacer
Escribe ‘Deme el número’
Leer X
Y←Y+X
Escribe ‘¿Desea sumar otro número 1.-Si 2.-No? (Teclee el número de la opción que desea)’
Leer Respuesta
Mientras Respuesta <> 2 Ir al programa en
Fin Mientras lenguaje C
Escribe ‘La suma de los números es’Y
FIN
Ejercicio: Desarrolle el pseudocódigo de un programa que pida 6 calificaciones, que verifique si es correcta la
calificación introducida y al final muestre su promedio.

Análisis:
1.- Fijar el objetivo: Mostrar el promedio de seis calificaciones dadas
2.- Medios para resolver el problema: Utilizar el ciclo Hacer – Mientras pidiendo las calificaciones, sumarlas, fijar
la condición para verificar que la calificación introducida sea la correcta y obtener el promedio.

INICIO
Variables
Enteras: X ← 0
Reales: Calificación, Promedio ← 0.0
Hacer
Escribe ‘Deme la calificación’X + 1
Leer Calificación
Si Calificación ≥ 0.0 y Calificación ≤ 10 entonces
Promedio ← Promedio + Calificación Ir al programa en
X←X+1 lenguaje C
Otro caso
Escribe ‘La calificación no es válida’
Fin Si
Mientras X < 6
Fin Mientras
Escribe ‘El promedio de las calificaciones es’Promedio / 6
FIN
Ejercicio: Desarrolle el pseudocódigo de un programa que pida el nombre, edad y nacionalidad de N cantidad de
personas, el programa deberá validar si la persona puede votar o no para el caso de ser de nacionalidad mexicana y
tener 18 años ,explicar en el caso de que no pueda votar la razón por la cual no puede realizar esta acción mandando
un mensaje en pantalla.

Análisis:
1.- Fijar el objetivo: Determinar si una persona puede votar o no y mandar un mensaje explicando porqué la persona
no puede votar.
2.- Medios para resolver el problema: Utilizar el ciclo Hacer – Mientras, fijando las condiciones de nacionalidad y
edad, solicitando al usuario si desea o no introducir más datos.

INICIO
Variables
Enteras: Edad
Caracter: Nombre, Nacionalidad, Respuesta
Hacer
Escribe ‘Deme su nombre’
Leer Nombre
Escribe ‘Deme su edad’
Leer Edad
Escribe ‘Deme su nacionalidad’
Leer Nacionalidad
Si Nacionalidad <> “Mexicano” ó Nacionalidad <> “mexicano” ó Nacionalidad <> “Mexicana” ó
Nacionalidad <> “mexicana” entonces
Escribe ‘No puede votar por ser extranjero’
Otro caso
Si Edad < 18 entonces
Escribe ‘No puede votar por ser menor de edad’ Ir al programa en
Otro caso lenguaje C
Escribe ‘Usted si puede votar’
Fin Si
Fin Si
Escribe ‘¿Desea introducir más datos 1.-Si 2.-No? (Teclee el número de la opción que desea)’
Leer Respuesta
Mientras Respuesta <> 2
FIN
ARREGLOS O VECTORES UNIDIMENSIONALES: Son variables de cualquier tipo que pueden almacenar 1 o
más valores dados.

Diferencia entre variable normal y arreglo


Variable normal: Sólo puede almacenar un valor a la vez.
Arreglo: Puede almacenar diversos valores.

Declaración de arreglos
INICIO
Variables
Enteras: X (Esta variable “X” sólo es capaz de almacenar un dato)
Enteras: X[6] (Esta variable “X” es capaz de almacenar seis datos)

Representación gráfica de un arreglo


INICIO
Variables
Enteras: X[6] Variable

X Espacio de memoria
1 2 3 4 5 6

Índice de memoria (Indica el lugar del


espacio de memoria)

Ejercicio: Desarrolle el pseudocódigo de un programa que pida 10 números e indique si cada número dado es par o
impar.

Análisis:
1.- Fijar el objetivo: Indicar si cada número dado es par o impar.
2.- Medios para resolver el problema: Determinar si el número es par o no mediante la división entre dos si el
residuo de esta operación es cero el número será par.

INICIO
Variables
Enteras: X[10], i
Desde i ← 0 hasta que i < 10 con incremento en 1
X[i] ← 0 (Se inicializa todo el arreglo a cero para que no muestre en pantalla datos ya residentes en la memoria conocidos como “basura”)
Siguiente
Desde i ← 0 hasta que i < 10 con incremento en 1
Escribe ‘Escribe el número’i +1
Leer X[i] Ir al programa en
Siguiente lenguaje C
Desde i ← 0 hasta que i < 10 con incremento en 1
Si X [i] mod 2<> 0 entonces
Escribir ‘El número’X[i] ‘es impar’
Otro caso
Escribir ‘El número’X[i] ‘es par’
Fin Si
Siguiente
FIN
Ejercicio: Desarrolle el pseudocódigo de un programa que pida 10 números y los almacene en un vector y muestre lo
siguiente:
1. La media
2. El número mayor
3. El número menor
4. Positivos y negativos
5. Números naturales (sólo los positivos)
6. Rango
7. Pares y nones
8. Mediana
9. Solicitarle al usuario si quiere introducir más datos

Análisis:
1.- Fijar el objetivo: Imprimir resultados y saber si se desea hacer más operaciones.
2.- Medios para resolver el problema: Se tiene que ordenar el arreglo para realizar el cálculo de la media.
INICIO
Variables
Enteras: i, j, n ← 10, Respuesta
Reales: V [10], Mediana, Media ← 0, Rango, Mayor ← 0, Menor, Aux
Hacer
Desde i ← 0 hasta que i < 10 con incremento en 1
V [i] ← 0
Siguiente
Desde i ← 0 hasta que i < 10 con incremento en 1
Escribe ‘Deme el número’i + 1
Leer V [i]
Media ← Media + V[i]
Siguiente
Escribe ‘La media es’Media/10
Desde i ← 0 hasta que i < 10 con incremento en 1
Si V[i] > Mayor entonces
Mayor ← V [i]
Fin Si
Siguiente
Escribir ‘El número mayor es’Mayor
Menor ← X [0] (Toma como referencia el número en la posición cero y los compara con todos los demás)
Desde i ← 0 hasta que i < 10 con incremento en 1
Si V[i] ≤ Menor entonces
Menor ← V [i]
Fin Si
Siguiente
Escribir ‘El número menor es’Menor
Desde i ← 0 hasta que i < 10 con incremento en 1
Si V[i] ≥ 0 entonces
Escribe ‘El número’V[i] ‘es positivo y número natural’
Otro caso
Escribe ‘El número’V[i] ‘es negativo’
Fin SI Ir al programa en
Siguiente lenguaje C
Escribe ‘El rango es’Mayor – Menor
Desde i ← 0 hasta que i < 10 con incremento en 1
Si V[i] mod 2 <> 0 entonces
Escribe ‘El número’V[i] ‘es non’
Otro caso
Escribe ‘El número’V[i] ‘es par’
Fin si
Siguiente
Desde j ← n – 1 hasta que j < i con incremento en 1 (Esta es la ordenación burbuja para obtener la mediana)
Desde i ← 0 hasta que i < 10 con incremento en 1
Si V[i] > V [i + 1]
Aux ← V [i]
V [i] ← V [i + 1]
V [i + 1] ← V [i]
Fin Si
Siguiente
Siguiente
Mediana ← (V[4] + V[5])/2
Escribir ‘La mediana es’Mediana
Escribir ‘¿Desea introducir más datos? S / N (Teclee el número de la opción que desea)’
Leer Respuesta
Mientras Respuesta <> 2
FIN
ARREGLOS MULTIDIMENSIONALES: Son arreglos que se conforman de dos o más vectores a la vez.

El vector Es un arreglo con su espacio de índice “i” y se llena con el ciclo Desde – Hasta
1 2 3 Índice “i”

Una matriz son arreglos apilados que tiene renglones y columnas, el arreglo unidimensional tiene solamente
columnas.
Columnas ← i

0, 0 0, 1 0, 2
Renglones ← j 1, 0 1, 1 1, 2
2, 0 2, 1 2, 2

La matriz se trabaja como si se leyera la hoja de un libro, es decir, se llena horizontalmente.

Ejercicio: Desarrolle el pseudocódigo de un programa que llene e imprima una matriz de 3 × 3 con números enteros.

Análisis:
1.- Fijar el objetivo: Imprimir una matriz de 3 × 3 de números enteros
2.- Medios para resolver el problema: Utilizar el ciclo Desde – Hasta para llenar la matriz.

INICIO
Variables
Enteras: i, j, Matriz [3][3] (Filas, columnas)
Desde j ← 0 hasta que j < 3 con incremento en 1 (filas)
Desde i ← 0 hasta que i < 3 con incremento en 1 (columnas)
Escribir ‘Escriba el valor en la posición’i, j
Leer Matriz [i][j] Ir al programa en
Siguiente lenguaje C
Siguiente
Desde j ← 0 hasta que j < 3 con incremento en 1 (filas)
Desde i ← 0 hasta que i < 3 con incremento en 1 (columnas)
Escribir Matriz [i][j]
Escribir ‘ ’
Siguiente
Siguiente
FIN
Ejercicio: Desarrolle el pseudocódigo de un programa que sume dos matrices de 3 × 3e imprima la matriz resultante.

Análisis:
1.- Fijar el objetivo: Imprimir una matriz resultante de una suma
2.- Medios para resolver el problema: Seguir la metodología para sumar matrices.

INICIO
Variables
Enteras i, j, Matriz 1[3][3], Matriz 2 [3][3], Matriz 3 [3][3]
Desde j ← 0 hasta que j < 3 con incremento en 1 (filas)
Desde i ← 0 hasta que i < 3 con incremento en 1 (columnas)
Escribir ‘Escriba el valor en la posición’i, j ‘de la Matriz 1’
Leer Matriz 1[i][j]
Siguiente
Siguiente
Desde j ← 0 hasta que j < 3 con incremento en 1 (filas)
Desde i ← 0 hasta que i < 3 con incremento en 1 (columnas)
Escribir ‘Escriba el valor en la posición’i, j ‘de la Matriz 2’
Leer Matriz 2[i][j]
Siguiente
Siguiente
Desde j ← 0 hasta que j < 3 con incremento en 1 (filas)
Desde i ← 0 hasta que i < 3 con incremento en 1 (columnas)
Matriz 3 [i][j] ← Matriz 1 [i][j] + Matriz 2 [i][j] Ir al programa en
Siguiente lenguaje C
Siguiente
Escribe ‘La matriz resultante es:’
Desde j ← 0 hasta que j < 3 con incremento en 1 (filas)
Desde i ← 0 hasta que i < 3 con incremento en 1 (columnas)
Escribe Matriz 3 [i][j]
Escribe ‘ ’
Siguiente
Siguiente
FIN
FUNCIONES: Una función es un conjunto de sentencias bajo un mismo nombre que se puede utilizar las veces que
se desee a lo largo de un programa. Las funciones se declaran siempre fuera del programa principal.

Declaración de funciones
Nombre de la función (Parámetros o variables)
Suma (A, B)

Ejercicio: Desarrolle el pseudocódigo de un programa que sume y multiplique dos números e imprima los
resultados, usando funciones.

Análisis:
1.- Fijar el objetivo: Imprimir resultados.
2.- Medios para resolver el problema: Hacer una función que sume dos números, hacer una función que multiplique
dos números.

FUNCIONES
Enteras: Suma
Enteras: Multiplicación
INICIO
Variables
Enteras: A, B, C, D
Limpiar pantalla
Escribe ‘Dame un número’
Leer A
Escribe ‘Dame un número’
Leer B
Escribe ‘Dame un número’ Ir al programa en
Leer C lenguaje C
Escribe ‘Dame un número’
Leer D
Suma (A, B)
Suma (C, D)
Multiplicación (A, B)
Multiplicación (C , D)
FIN

FUNCIONES
Enteras: Suma (Enteras: X, Enteras: Y)
INICIO
Variables
Enteras Z
Z←X+Y
Escribe ‘El resultado de la suma es’Z
FIN
Enteras Multiplicación (Enteras: V1, Enteras V2)
INICIO
Variables
Enteras: Resultado
Resultado ← V1 × V2
Escribe ‘El resultado de la multiplicación es’Resultado
FIN

También podría gustarte