Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Alejandro Piedrahita H.
Instituto de Matemáticas
Facultad de Ciencias Exactas y Naturales
Universidad de Antioquia
Contenido
1 Introducción
5 Ejemplos
6 Referencias
Introducción Selectiva simple Selectiva doble Selectiva múltiple anidada Ejemplos Referencias
Pseudocódigo
si P entonces
Instrucciones;
fin
donde
P: condición o conjunto de condiciones a
evaluar.
Intrucciones: instrucciones a realizar si
la condición P es verdadera.
Introducción Selectiva simple Selectiva doble Selectiva múltiple anidada Ejemplos Referencias
Ejemplos
Ejemplo 2.1
Solución
Pseudocódigo
% Descripcion: Dada la calificación de un
% alumno en un examen, se imprime "reprobado"
% si la calificación es menor a 3.
Leer NOTA;
si NOTA<3.0 entonces
Escribir "Reprobado";
fin
Introducción Selectiva simple Selectiva doble Selectiva múltiple anidada Ejemplos Referencias
Ejemplo 2.2
Ejemplo 2.2
Solución
Datos:
Variables de salida:
Ejemplo 2.2
Pseudocódigo
% Dado como dato el sueldo de un trabajador,
% el programa aplica un aumento del 15 % si
% el sueldo es inferior a 400 mil pesos.
% Lee el sueldo del empleado
SUE = input(Ïngrese el sueldo: ");
si SUE<400000 entonces
Hacer AUM = SUE*0.15;
Hacer NSUE = SUE + AUM;
Escribir "El nuevo sueldo es" NSUE
fin
Pseudocódigo
si P entonces
Instrucciones1;
sino
Instrucciones2;
fin
Introducción Selectiva simple Selectiva doble Selectiva múltiple anidada Ejemplos Referencias
Ejemplo 3.1
Ejemplo 3.1
Solución
Pseudocódigo
% Dada la calificación de un alumno en
% un examen, se imprime "aprobado"si la
% calificación mayor o igual a 3 y
% "reprobado" en caso contrario
Leer NOTA;
si NOTA>=3.0 entonces
Escribir "aprobado";
sino
Escribir "reprobado";
end
Introducción Selectiva simple Selectiva doble Selectiva múltiple anidada Ejemplos Referencias
Ejemplo 3.2
Ejemplo 3.2
Solución
Datos:
Variables de salida:
Ejemplo 3.2
Pseudocódigo
% Dado como dato el sueldo de un trabajador,
% el programa aplica un aumento del 15 % si
% el sueldo es inferior a 400 mil pesos y en
% caso contrario el aumento es del 8 %.
Leer SUE;
si SUE<=400000 entonces
NSUE = SUE*1.15;
sino
NSUE = SUE*1.08;
fin
Escribir "El nuevo sueldo es" NSUE
# SUE NSUE
1 200000 230000
2 550000 594000
3 140000 161000
4 400000 460000
Introducción Selectiva simple Selectiva doble Selectiva múltiple anidada Ejemplos Referencias
Pseudocódigo
si Condicion1 entonces
si Condicion2 entonces
Operacion21;
sino
Operacion22;
fin
end
Introducción Selectiva simple Selectiva doble Selectiva múltiple anidada Ejemplos Referencias
Ejemplo
Pseudocódigo
si P1 entonces
Operacion11;
sino
si P2 entonces
Operacion21;
sino
Operacion22;
fin
fin
Introducción Selectiva simple Selectiva doble Selectiva múltiple anidada Ejemplos Referencias
Ejemplo
Pseudocódigo
si Condicion1 entonces
si Condicion2 entonces
Operacion21;
sino
Operacion22;
fin
sino
si Condicion3 entonces
Operacion31;
fin
end
Introducción Selectiva simple Selectiva doble Selectiva múltiple anidada Ejemplos Referencias
Ejemplo 4.1
Solución
Pseudocódigo
% Determina si un entero es par y en tal
% caso determina si es divisible por 3
Leer a;
si a MOD 2 = 0 entonces
Escribir "El número es par"
sino
si a MOD 3 = 0 entonces
Escribir "El número es impar...
y es divisible por 3"
sino
Escribir "El número es impar...
y no es divisible por 3"
fin
fin
Introducción Selectiva simple Selectiva doble Selectiva múltiple anidada Ejemplos Referencias
Ejemplo 4.2
Ejemplo 4.2
Solución
Datos:
Variables de salida:
Pseudocódigo
%*******************************************
% Descripción: dado tres enteros distintos,
% el algoritmo los ordena de mayor a menor.
%*******************************************
% Lee tres enteros distintos
Leer A, B, C
si A>B entonces
si A>C entonces
si B>C entonces
Escribir A, B, C
sino
Escribir A, C, B
fin
sino
Escribir C, A, B
fin
sino
si B>C entonces
si A>C entonces
Escribir B, A, C
sino
Escribir B, C, A
fin
sino
Escribir C, B, A
fin
end
Introducción Selectiva simple Selectiva doble Selectiva múltiple anidada Ejemplos Referencias
Ejemplo 5.1
Ejemplo 5.1
Solución
Datos:
x, y: variables de tipo real (coordenadas del punto).
Consideraciones:
Un punto (x, y) se encuentra en el segundo cuadrante si
Ejemplo 5.1
Pseudocódigo
% Determina si un punto de
coordenadas
% (x,y) se encuentra en el segundo o
% cuarto cuadrante
% Lee x e y
Leer x, y
si x*y<0 entonces
Escribir "Sı́ está"
sino
Escribir "No está"
fin
Introducción Selectiva simple Selectiva doble Selectiva múltiple anidada Ejemplos Referencias
Ejemplo 5.2
Ejemplo 5.2
Solución
Datos:
Consideraciones:
x2 + y2 = 9 (4)
x2 + y2 < 9 (5)
Introducción Selectiva simple Selectiva doble Selectiva múltiple anidada Ejemplos Referencias
Ejemplo 5.2
Pseudocódigo
% Determina si un punto de coordenadas
% (x,y) se encuentra en el interior de
% una circunferencia con centro en el
% origen y radio 3
% Lee x e y
Leer x, y
Hacer expr = x∧2+y∧2;
si expr<9 entonces
Escribir "Sı́ está"
sino
Escribir "No está"
fin
Introducción Selectiva simple Selectiva doble Selectiva múltiple anidada Ejemplos Referencias
Ejemplo 5.3
Ejemplo 5.3
ax2 + bx + c = 0, a 6= 0. (6)
Solución
Consideraciones:
Las soluciones de la ecuación cuadrática (6) vienen dadas por
√
−b ± b2 − 4ac
x= (7)
2a
La fórmula (7) puede conducir a soluciones complejas si
∆ = b2 − 4ac < 0
Variables:
a, b, c: variables de tipo real (coeficientes de la ecuación) con a 6= 0.
dis: variable de tipo real; almacena el discriminante de la ecuación.
x1 y x2: variables de tipo real; almacenan las raices de la ecuación.
Introducción Selectiva simple Selectiva doble Selectiva múltiple anidada Ejemplos Referencias
Ejemplo 5.3
Pseudocódigo
% Determina las soluciones reales de la
% ecuación cuadrática ax∧2+bx+c=0
% Lee los coeficientes de la ecuación
Leer a, b, c
Hacer dis = b∧2-4*a*c
si dis>=0 entonces
Hacer x1 = (-b+sqrt(dis))/(2*a)
Hacer x2 = (-b-sqrt(dis))/(2*a)
Escribir "Raı́ces reales: " x1, x2
fin
Introducción Selectiva simple Selectiva doble Selectiva múltiple anidada Ejemplos Referencias
Ejemplo 5.4
Ejemplo 5.4
Solución
Pseudocódigo
% Dado como dato un entero,
% determina si el número es
% postivo, negativo o nulo.
% Lee el número
Leer NUM
si NUM > 0 entonces
Escribir "Positivo"
sino
si NUM = 0 entonces
Escribir "Nulo"
sino
Escribir "Negativo"
fin
fin
Introducción Selectiva simple Selectiva doble Selectiva múltiple anidada Ejemplos Referencias
Ejemplo 5.5
Ejemplo 5.5
Realice un algoritmo en FreeDFD tal que dado como datos tres números
enteros, determine si éstos están en orden creciente.
Solución
Pseudocódigo
si A < B entonces
si B <= C entonces
Escribir "Los números están en orden creciente"
sino
Escribir "Los números no están en orden
creciente"
fin
sino
Escribir "Los números no están en orden creciente"
fin
Introducción Selectiva simple Selectiva doble Selectiva múltiple anidada Ejemplos Referencias
Bibliografı́a I
S. Attaway
Matlab: A Practical Introduction to Programming and Problem
Solving
Butterworth-Heinemann, 2011
J.W. Brown, D.J. Murdoch
A First Course in Statistical Programming With R
Cambridge University Press, 1th edition , 2008
D. Burton
Elementary Number Theory
McGraw Hill Higher Education, 5th edition, 2002
O. Cairó
Metodologı́a de la programación
Segunda edición. Alfaomega Grupo Editor, S.A., 2005
M.A. Criado
Programación en lenguajes estructurados
Alfaomega Grupo Editor, S.A. de C.V. Primera Edición, 2006
Introducción Selectiva simple Selectiva doble Selectiva múltiple anidada Ejemplos Referencias
Bibliografı́a II
H.P. Langtangen
A Primer on Scientific Programming with Python
Springer, 2011
O. Jones, R. Maillardet, A. Robinson
Introduction to Scientific Programming and Simulation Using R
Chapman and Hall/CRC; 1 edition, 2009
J. Kiusalaas
Numerical Methods in Engineering with Matlab
Cambridge University Press, 2 edition, 2009
D.E. Knuth
The Art of Computer Programming
Volume 1, Fundamental Algorithms
Addison Wesley Longman, 1997
S. Lipschutz
Schaum’s Outline of Essential Computer Mathematics
McGraw-Hill, 1th edition, 1982
Introducción Selectiva simple Selectiva doble Selectiva múltiple anidada Ejemplos Referencias
Bibliografı́a III
Bibliografı́a IV
R. Séroul
Programming for Mathematicians
Springer, 2000
E. Scheinerman
C ++ for Mathematicians: An Introduction for Students and
Professionals
Taylor & Francis Group, LLC, 2006
A. Shen
Algorithms and Programming
Springer Undergraduate Texts in Mathematics and Technology, 2010
P. Tymann
Schaum’s Outline of Principles of Computer Science
McGraw-Hill, 1th edition, 2008