Professional Documents
Culture Documents
CNM-130
Departamento de Matemáticas
Facultad de Ciencias Exactas y Naturales
Universidad de Antioquia
Contenido
1 Introducción
5 Ejemplos
Introducción Selectiva simple Selectiva doble Selectiva múltiple anidada Ejemplos
Sintaxis en Octave
if P
Instrucciones;
end
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
Ejemplos
Ejemplo 2.1
Ralice un algoritmo (impleméntelo en DFD y Octave) tal que dado como dato la
calificación de un alumno en un examen, escriba “reprobado” en caso de que
dicha nota sea menor a 3.
Solución
nota.m
% Programa : nota.m
% Descripcion: Dada la calificación de un
% alumno en un examen, se imprime "reprobado"
% si la calificación menor a 3.
Ejemplo 2.2
Ejemplo 2.2
Solución
Datos:
Variables de salida:
Ejemplo 2.2
sueldo.m
Sintaxis en Octave
if P
Instrucciones1;
else
Instrucciones2;
end
Introducción Selectiva simple Selectiva doble Selectiva múltiple anidada Ejemplos
Ejemplo 3.1
Ejemplo 3.1
Realice un algoritmo (DFD, octave) tal que dado como dato la calificación
de un alumno en un examen, escriba “aprobado” si su calificación es mayor
o igual a 3 y “reprobado” en caso contrario.
Solución
nota2.m
Ejemplo 3.2
Ejemplo 3.2
Solución
Datos:
Variables de salida:
Ejemplo 3.2
sueldo2.m
# 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
Sintaxis en Octave
if Condicion1
if Condicion2
Operacion21;
else
Operacion22;
end
end
Introducción Selectiva simple Selectiva doble Selectiva múltiple anidada Ejemplos
Ejemplo
Sintaxis en Octave
if P1
Operacion11;
elseif P2
Operacion21;
else
Operacion22;
end
Introducción Selectiva simple Selectiva doble Selectiva múltiple anidada Ejemplos
Ejemplo
Sintaxis en Octave
if Condicion1
if Condicion2
Operacion21;
else
Operacion22;
end
else
if Condicion3
Operacion31;
end
end
Introducción Selectiva simple Selectiva doble Selectiva múltiple anidada Ejemplos
Ejemplo 4.1
Realice un algoritmo (DFD, octave) tal que dado como dato un entero,
determine si es par y en caso de no serlo, determine si es divisble por 3.
Solución
par.m
% Lee entero
a = input("Ingrese un entero: ");
if (rem (a, 2) == 0)
printf ("El número es par \n");
elseif (rem (a, 3) == 0)
printf("El número es impar...
y no es divisible por 3 \n");
end
Introducción Selectiva simple Selectiva doble Selectiva múltiple anidada Ejemplos
Ejemplo 4.2
Ejemplo 4.2
Solución
Datos:
Variables de salida:
comparar.m
%*******************************************
% Descripción: Dado tres enteros distintos,
% el programa los ordena de mayor a menor.
%*******************************************
% Lee tres enteros distintos
A = input("Ingrese un entero: ");
B = input("Ingrese un entero: ");
C = input("Ingrese un entero: ");
if A>B
if A>C
if B>C
printf(" %d, %d, %d \n", A, B, C);
else
printf(" %d, %d, %d \n", A, C, B);
end
else
printf(" %d, %d, %d \n", C, A, B);
end
else
if B>C
if A>C
printf(" %d, %d, %d \n", B, A, C);
else
printf(" %d, %d, %d \n", B, C, A);
end
else
printf(" %d, %d, %d \n", C, B, A);
end
end
Introducción Selectiva simple Selectiva doble Selectiva múltiple anidada Ejemplos
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
cuadrantes.m
% Lee x e y
x = input("Ingrese x: ");
y = input("Ingrese y: ");
if x*y<0
disp("Sı́ está");
else
disp("Sı́ está");
end
Introducción Selectiva simple Selectiva doble Selectiva múltiple anidada Ejemplos
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
Ejemplo 5.2
cuadrantes.m
% Lee x e y
x = input("Ingrese x: ");
y = input("Ingrese y: ");
expr = x∧2+y∧2;
if expr<9
disp("Sı́ está");
else
disp("No está");
end
Introducción Selectiva simple Selectiva doble Selectiva múltiple anidada Ejemplos
Ejemplo 5.3
Ejemplo 5.3
Realice un algoritmo (DFD, Octave) que calcule, de ser posible, las raices
reales de la ecuación
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
Ejemplo 5.3
raices.m
Ejemplo 5.4
Ejemplo 5.4
Realice un algoritmo (DFD, Octave) tal que dado como dato un número
entero, determine e imprima si el mismo es postivo, negativo o nulo.
Solución
signo.m
Ejemplo 5.5
Ejemplo 5.5
Realice un algoritmo (DFD, Octave) tal que dado como dato un número
entero, determine e imprima si el mismo es par, impar o nulo.
Solución
par2.m
Ejemplo 5.6
Ejemplo 5.6
Realice un algoritmo (DFD, Octave) tal que dado como datos tres números
enteros, determine si éstos están en orden creciente.
Solución
ordenar.m
if A < B
if B <= C
disp("Los números están en orden creciente");
else
disp("Los números no están en orden creciente");
end
else
disp("Los números no están en orden creciente");
end
Introducción Selectiva simple Selectiva doble Selectiva múltiple anidada Ejemplos
Ejemplo 5.7
Ejemplo 5.7
Solución
Datos:
Ejemplo 5.7
descuentos.m
Ejemplo 5.8
Ejemplo 5.8
Solución
Variables:
impuestos.m
Ejemplo 5.9
Ejemplo 5.9
Solución
Variables:
NI: variable de tipo entera, representa el número de inscripción.
NOM: variable de tipo cadena de caracteres, representa el nombre.
PAT: variable de tipo real, representa el patrimonio.
EST: variable de tipo entera, representa el estrato.
PAGMAT: variable de tipo real, almacena el pago de matrı́cula.
Introducción Selectiva simple Selectiva doble Selectiva múltiple anidada Ejemplos
Ejemplo 5.9
pago matricula.m
Ejemplo 5.10
Ejemplo 5.10
Solución
Variables :
VCOMP: variable de tipo real, almacena el valor de la compra.
COL: variable de tipo cadena de caracteres, almacena el color de la
bolita.
VPAG: variable de tipo real, almacena valor a pagar.
PDES: variable de tipo entera, almacena el porcentaje de descuento.
Introducción Selectiva simple Selectiva doble Selectiva múltiple anidada Ejemplos
balotas.m
Ejemplo 5.11
Ejemplo 5.11
Solución
Variables :
esferas.m
PESOA = input("Ingrese peso esfera A: "); PESOB = input("Ingrese peso esfera B: ");
PESOC = input("Ingrese peso esfera C: "); PESOD = input("Ingrese peso esfera D: ");
Referencias
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
J.W. Eaton
GNU Octave: A high-level interactive language for numerical
computations
Network Theory Ltd., 2002