INTRODUCCIÓN
Las técnicas de desarrollo y diseño de programas
que se utilizan en la programación convencional tienen
inconvenientes, sobre todo a la hora de verificar y modificar
un programa. En la actualidad están adquiriendo gran
importancia las técnicas de programación, cuyo objetivo
principal es el de facilitar la comprensión del programa, y
además permiten, de forma rápida, las ampliaciones y
modificaciones que surjan en la fase de explotación del ciclo
de vida de un programa o una aplicación informática.
Simples:
Las estructuras condicionales dobles permiten elegir entre Las estructuras de comparación múltiples, es una toma de
dos opciones o alternativas posibles en función del decisión especializada que permiten evaluar una variable
cumplimiento o no de una determinada condición. Se con distintos posibles resultados, ejecutando para cada caso
representa de la siguiente forma: una serie de instrucciones especificas. La forma es la
siguiente:
Pseudocódigo: Diagrama de flujo:
Donde:
Si:Indica el comando de comparación
Condición : Indica la condición a evaluar
Entonces : Precede a las acciones a realizar cuando se
cumple la condición Pseudocódigo: Diagrama de flujo:
Diagrama de flujo:
Pseudocódigo:
INICIO
Altura: ENTERO
ESCRIBA “Cuál es tu altura? ”
LEA Altura
Si Altura <=150 entonces
ESCRIBA “persona de altura baja”
Sino
Si Altura <=170 entonces
ESCRIBA “persona de altura media”
Sino
Si Altura>170 ENTONCES
ESCRIBA “persona alta”
Fin-Si
Fin-Si
Fin-Si
FIN
Se pide leer tres notas del alumno, calcular su definitiva en
un rango de 0-5 y enviar un mensaje donde diga si el alumno ¡Es importante ser ordenado en el código que se escribe!
aprobó o reprobó el curso. Exprese el algoritmo usando
Pseudocódigo y diagrama de flujos. Diagrama de flujo:
Pseudocódigo:
INICIO
Not1, Not2, Not 3 :REAL
Def: REAL
LEA Nota1, Nota2, Nota3
Def ß (Not1 + Not2 + Not3) /3
Si Def < 3 entonces
Escriba “Reprobó el curso”
Sino
Ejemplos
Instrucciones Si-Entonces-SiNo.
Si (numero > 100) entonces 7 Se desarrolla un algoritmo el cual lee desde teclado los
Escribir("Se digitó un número mayor a 100 ") datos de una persona así: nombre, edad, sexo y estado civil.
numero = numero + 10 Se debe imprimir el nombre solo si corresponde a un hombre
Escribir("y a continuación se incrementa en 10 para casado menor de 30 años o a una mujer soltera menor de 50
dar ") años.
Si_no SI_20.ALG
Escribir("Se digitó un número menor o igual a 100 ") INICIO
numero = numero - 10 Entero Edad
Escribir("y a continuación se decrementa en 10 para Caracter Sexo, EstadoCivil
dar") Caracter Nombre[25]
FinSi
Escribir(numero) Escribir("Digite el nombre del encuestado: ")
FIN. Leer((Nombre)
Escribir("Sexo (M/F): ")
Leer(Sexo)
5 El siguiente algoritmo calcula el número medio entre tres Escribir("Edad: ")
enteros, no es el promedio. Leer(Edad)
SI_5.ALG Escribir("Estado Civil (Casado, Soltero, Otro): ")
Leer(EstadoCivil)
INICIO
Entero a, b, c Si ( ( Sexo=='M' Y Edad<30 ) O ( Sexo=='F' Y
Edad<50 ) ) entonces
Escribir("Digite entero: ") Escribir(Nombre, " Cumple una de las condiciones")
Leer(a) SiNo
Escribir("Digite entero: ") Escribir("No cumple ninguna de las condiciones
Leer(b) solicitadas")
Escribir("Digite entero: ") FinSi
Leer(c) FIN.
INICIO
Entero hora, minuto 11 Un capital Co, está colocado a un tipo de interes I. Al
termino de dos años, calcular el capital final Cf y decir si es el
Escribir("Digite entero de hasta cuatro dígitos: ") doble o mayor del inicial. Sabiendo que Cf = Co (1+i)_, donde
Leer(hora) n es el periodo en este caso dos años.
minuto = hora MOD 100 SI_11.ALG
hora = hora / 100
Si ( hora < 10 Y minuto < 10 ) entonces INICIO
Escribir("0", hora, ":", "0", minuto) Real Co, // capital inicial
Si_no Cf, // capital final
Si ( hora < 10 Y minuto >= 10 ) entonces I // interes
Escribir("0", hora, ":", minuto) Entero n // número de periodos
Si_no
Si ( hora > 10 Y minuto < 10 ) entonces Escribir("Capital inicial $ ")
Escribir(hora, ":", "0", minuto) Leer(Co)
Si_no Escribir("Interes en % por periodo de tiempo: ")
Si ( hora > 10 Y minuto >= 10 ) entonces Leer(I)
Escribir(hora, ":", minuto) I = I /100
FinSi Cf = Co * (1+I) * (1+I)
FinSi Escribir("Capital final = $ ", Cf)
FinSi Si (Cf >= 2*Co) entonces
FinSi Escribir("El Capital es mayor o igual al doble " )
FIN. SiNo
Escribir("El Capital No se duplicó " )
FinSi
9 Dados dos enteros leídos desde teclado, ¿uno es divisor del FIN.
otro?
12 Dados tres valores numéricos por teclado, a, b c: se
SI_9.ALG imprime el mayor, el menor y se calcula su promedio.
SI_12.ALG
INICIO
Entero x, y INICIO
Escribir("Digite separados por un espacio dos números Real a, b, c, menor, mayor, promedio
enteros: ")
Leer(x, y) Escribir("Digite valor para a: ")
Si (x MOD y == 0) entonces Leer(a)
Escribir(y, " es divisor de " , x)
SiNo Escribir("Digite valor para b: ")
Si (y MOD x == 0) entonces Leer(b)
Escribir(x, " es divisor de ", y)
SiNo Escribir("Digite valor para c: ")
Escribir("No son divisores entre si") Leer(c)
FinSi
FinSi Si (a > b Y a > c) entonces
FIN. Escribir("Mayor es ", a)
SiNo
10 Se calcula el valor de Y en función de X, teniendo en
cuenta los siguientes intervalos: Si (b > a Y b > c) entonces
Escribir("Mayor es ", b)
Y = X^2 - 4 si X<4 SiNo
Y = X^3 + 2X - 31 si X>4 y X<=10 Escribir("Mayor es " , c)
Y = 3X^2 - 10.5X - 3 si X>10 FinSi
SI_10.ALG
INICIO FinSi
Real x, y
Si (a < b Y a < c) entonces
Escribir("Digite valor de la variable independiente X: ") Escribir(" Menor es " , a)
Leer(x)
Si (x <= 4) entonces SiNo
FinSi
promedio = (a + b + c) / 3
FIN.
Actividad