Está en la página 1de 11

Algoritmos computacionales

Unidad I: Planteamiento y solución de problemas


Especificación de algoritmos: diagrama de flujo y pseudocódigo

Instituto Politécnico Nacional


Unidad Profesional Interdisciplinaria de Ingenierı́a y Ciencias Sociales
y Administrativas
Academias de computación
M. en C. José David Ortega Pacheco
jdortegap@ipn.mx
www.sites.upiicsa.ipn.mx/archivos/profesores/jortega

3 de marzo de 2022

1. Especificación de algoritmos
A continuación se muestran ejemplos de la especificación de algoritmos
a partir de diagrama de flujo y pseudocódigo (algorithm2e en LATEX)

1.1. Ejemplo 1
Determinar si un número entero positivo mayor que cero es par o impar

1. Diagrama de flujo.

Algorithm: Permite identificar si un número entero positivo ma-


yor que cero es par o impar
Data: numero, valor entero positivo mayor que cero
Result: MSG2 cuando la entrada no es válida, MSG3 cuando la
entrada es par y MSG4 cuando la entrada es impar

1
Diagram:

donde:

MSG1: “Ingrese un número entero positivo mayor que cero:”


MSG2: “El número ingresado no es válido”
MSG3: “El número ingresado es par”
MSG4: “El número ingresado es impar”

2
2. Pseudocódigo
Algorithm 1: Permite identificar si un número entero positivo
mayor que cero es par o impar
Data: numero, valor entero positivo mayor que cero
Result: MSG2 cuando la entrada no es válida, MSG3 cuando la
entrada es par y MSG4 cuando la entrada es impar
1 Integer numero, modulo
2 Output MSG1
3 Input numero
4 if numero > 0 then
5 modulo ← numero %2
6 if modulo == 0 then
7 Output MSG3
8 else
9 Output MSG4
10 end
11 else
12 Output MSG2
13 end

donde:

MSG1: “Ingrese un número entero positivo mayor que cero:”


MSG2: “El número ingresado no es válido”
MSG3: “El número ingresado es par”
MSG4: “El número ingresado es impar”

3
1.2. Ejemplo 2
Determinar si un número entero positivo mayor que cero es par o impar

1. Diagramas de flujo.

Diagrama de flujo principal


• Algorithm: Permite identificar si un número entero positivo
mayor que cero es par o impar
• Data: numero, valor entero positivo mayor que cero
• Result: MSG2 cuando la entrada no es válida, MSG3 cuando
la entrada es par y MSG4 cuando la entrada es impar
• Functions:
◦ modulo: Devuelve el módulo 2 de un número entero pro-
porcionado como argumento
• Diagram:

donde:
• MSG1: “Ingrese un número entero positivo mayor que cero:”
• MSG2: “El número ingresado no es válido”
• MSG3: “El número ingresado es par”
• MSG4: “El número ingresado es impar”

4
Diagrama de flujo para la función: modulo
• Function: modulo
• Description: Devuelve el módulo 2 de un número entero
proporcionado como argumento
• Arguments: numero, valor entero
• Return: modulo, valor entero
• Diagram:

5
2. Pseudocódigos

Pseudocódigo principal
Algorithm 2: Permite identificar si un número entero positivo
mayor que cero es par o impar
Data: numero, valor entero positivo mayor que cero
Result: MSG2 cuando la entrada no es válida, MSG3 cuando la
entrada es par y MSG4 cuando la entrada es impar
1 Integer numero, resultado
2 Output MSG1
3 Input numero
4 if numero > 0 then
5 resultado ← modulo(numero)
6 if resultado == 0 then
7 Output MSG3
8 else
9 Output MSG4
10 end
11 else
12 Output MSG2
13 end

donde:
• MSG1: “Ingrese un número entero positivo mayor que cero:”
• MSG2: “El número ingresado no es válido”
• MSG3: “El número ingresado es par”
• MSG4: “El número ingresado es impar”

6
Pseudocódigo para la función: modulo
Algorithm 3: Devuelve el módulo 2 de un número entero propor-
cionado como argumento
Arguments: numero, valor entero
Return : modulo, valor entero
1 Integer modulo
2 modulo ← numero %2
3 return modulo

7
1.3. Ejemplo 3
Determinar si un número entero positivo mayor que cero es par o impar

1. Diagramas de flujo.

Diagrama de flujo principal


• Algorithm: Permite identificar si un número entero positivo
mayor que cero es par o impar
• Data: numero, valor entero positivo mayor que cero
• Result: MSG2 cuando la entrada no es válida. Mediante la
función parImpar, se muestra el mensaje MSG1 cuando su
argumento es par y MSG2 cuando su argumento es impar
• Functions:
◦ parImpar: No devuelve valor, muestra el mensaje MSG1
cuando su argumento es par y MSG2 cuando su argu-
mento es impar
• Diagram:

donde:
• MSG1: “Ingrese un número entero positivo mayor que cero:”
• MSG2: “El número ingresado no es válido”

8
Diagrama de flujo para la función: parImpar
• Function: parImpar
• Description: Permite identificar si un número entero es par
o impar
• Arguments: numero, valor entero
• Return: No devuelve valor
• Result: MSG1 cuando su argumento es par y MSG2 cuando
su argumento es impar
• Diagram:

donde:
• MSG1: “El número ingresado es par”
• MSG2: “El número ingresado es impar”

9
2. Pseudocódigos

Pseudocódigo principal
Algorithm 4: Permite identificar si un número entero es par o
impar
Data: numero, valor entero positivo mayor que cero
Result: MSG2 cuando la entrada no es válida. Mediante la función
ParImpar, internamente el MSG1 cuando su argumento es
par y MSG2 cuando su argumento es impar
1 Integer numero
2 Output MSG1
3 Input numero
4 if numero > 0 then
5 parImpar(numero)
6 else
7 Output MSG2
8 end

donde:
• MSG1: “Ingrese un número entero positivo mayor que cero:”
• MSG2: “El número ingresado no es válido”

10
Pseudocódigo para la función: parImpar
Algorithm 5: Identifica si un número entero proporcionado como
argumento es par o impar
Arguments: numero, valor entero
Return : No devuelve valor
Result: MSG1 cuando su argumento es par y MSG2 cuando su
argumento es impar
1 Integer modulo
2 modulo ← numero %2
3 if modulo == 0 then
4 Output MSG1
5 else
6 Output MSG2
7 end

donde:
• MSG1: “El número ingresado es par”
• MSG2: “El número ingresado es impar”

11

También podría gustarte