Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Capítulo 3
Programación Estructurada
1
Contenido
2
Estructura de Control Condicional:
si
…
instrucción n
si <condición> entonces
falso
instrucción m verdadero
…
instrucción p
fin-si
instrucción q
3
Ejercicio
4
Solución ejercicio
algoritmo Calculo_Nota
real: parcial1, parcial2, final, quiz, lab, prcntje_p1, prcntje_p2, prcntje_f, prcntje_q,
prcntje_l, nota_final,
caracteres: nombre
Inicio
escriba (“Ingrese el nombre del estudiante”)
leer (nombre)
escriba (“Digite las notas y sus respectivos porcentajes (en decimales)”)
leer (parcial1, parcial2, final, quiz, lab)
leer (prcntje_p1, prcntje_p2, prcntje_f, prcntje_q, prcntje_l)
nota_final (parcial1*prcntje_p1)+(parcial2*prcntje_p2)+
(final* prcntje_f)+(quiz* prcntje_q)+(lab* prcntje_l)
escriba (“la nota de : ”, nombre, “es : ”, nota_final)
si nota_final < 2.95 entonces
escriba (“la asignatura no fue aprobada”)
fin-si
fin
5
Ejercicio en Clase
6
Ejercicio en Clase
Algoritmo Raiz_cuadrada
real: numero, raiz
inicio
escriba (“introduce un número”)
lea (numero)
si numero > 0 entonces
raiz raiz_cuadrada(numero)
escribir (“la raiz cuadrada es:”)
escribir (raiz)
fin-si
fin
7
Ejercicio en Clase
8
Estructura de Control Condicional:
si
9
Estructura de Control Condicional:
si
…
instrucción m
si <condición> entonces
instrucción u
…
instrucción v
sino
instrucción w
…
instrucción x
fin-si
instrucción y
…
10
Estructura de Control Condicional:
si
… falso
instrucción m
si <condición> entonces
instrucción u verdadero
…
instrucción v
sino
instrucción w
…
instrucción x
fin-si
instrucción y
11
Ejercicio en clase
12
División
Algoritmo Division
Real: d1, d2, resul
Inicio
Escriba (“Ingrese el dividendo y el divisor”)
Lea (d1, d2)
Si d2 ≠ 0 entonces
resul d1 / d2
Escriba ( d1, “ / ”, d2, “ = ”, resul )
sino
Escriba (“No es posible división por cero”)
Fin-si
Fin
Fin-algoritmo
13
Ejercicio en clase
14
Ejercicio
Algoritmo Salario
real: hras_trabajo, tarifa, hras_extras, tarifa_extra, salario,
salario_extra, salario_base
inicio
lea (hras_trabajo, tarifa)
si hras_trabajo <= 40 entonces
salario_base hras_trabajo * tarifa
salario_extra 0
sino
salario_base 40 * tarifa
tarifa_extra tarifa +( 0.50 * tarifa ) // 1.5 * tarifa
hras_extras hras_trabajo - 40
salario_extra hras_extras * tarifa_extra
fin_si
salario salario_base + salario_extra
escriba (salario_base, salario_extra, salario)
fin
Ejercicio en clase
16
si anidados
si <condición> entonces
instrucción a … instrucción d
sino
si <condición> entonces
instrucción f … instrucción m
sino
instrucción p … instrucción r
fin-si
fin-si
17
Ejercicio en Clase
18
Solución ejercicio
algoritmo calculo_nota
real: nota1, nota2, nota3, nota4, nota5, prcntje1, prcntje2, prcntje3, prcntje4, prcntje5, nota_f
caracteres: nombre, mensaje
inicio
escriba (“ingrese el nombre del estudiante”)
lea (nombre)
escriba (“digite las notas y sus respectivos porcentajes (en decimales)”)
lea (nota1, nota2, nota3, nota4, nota5)
lea (prcntje1, prcntje2, prcntje3, prcntje4, prcntje5)
nota_f (nota1*prcntje1) + (nota2*prcntje2) + (nota3* prcntje3) + (nota4* prcntje4) + (nota5* prcntje5)
si nota_f < 2 entonces
mensaje “pésimo”
sino
si nota_f >= 2 nota_f < 3 entonces
mensaje “insuficiente”
sino
si nota_f >= 3 nota_f < 4 entonces
mensaje “aceptable”
sino
mensaje “excelente”
fin-si
fin-si
fin-si
escriba (“la nota de : ”, nombre, “es : ”, nota_f, “el resultado fue ”, mensaje)
fin
Ejercicio en Clase
20
Ejercicio en Clase
21
Estructura de Control Condicional
22
Ejercicio en clase
23
Ejercicio en Clase
algoritmo dia_semana
entero: dia
inicio
escriba (“diga un número para escribir su día”)
lea (dia)
en-caso-de dia haga
caso 1: escriba (“lunes”)
caso 2: escriba (“martes”)
caso 3: escriba (“miércoles”)
caso 4: escriba (“jueves”)
caso 5: escriba (“viernes”)
caso 6: escriba (“sábado”)
caso 7: escriba (“domingo”)
sino: escriba (“ingresó un número fuera del rango 1-7”)
fin-caso
fin
Fin algoritmo dia_semana
24