Está en la página 1de 12

7.

Vamos a realizar un ejercicio para encontrar las posibles soluciones de una ecuación
de segundo grado que tiene 3 parámetros, para ello necesitamos las siguientes variables:
a= Parámetro N°1
b= Parámetro N°1
c= Parámetro N°1
X1= Posible solución 1.
X2= Posible solución 2.
R= Parámetros dentro de la raíz.
Estas variables lo que hacen es: a, b y c: son variables de entrada, las cuales tendrá que
escribir el usuario del algoritmo., y X1, X2 son de tipo asignación, las cuales van dictadas
por nosotros los programadores para que estas realicen la acción que deseamos.
Para este ejercicio, vamos a tomar como ejemplo los siguientes parámetros:
a=1, b= -5, c=6
Debemos dejar en claro que la variable a, nunca debe tomar el valor de 0, por ello dentro
del algoritmo pondremos un mensaje de salida sugiriendo que a debe ser mayor o menor
a 0.
Para este ejemplo nuestros resultados serán: X1= 3 y X2= 2
PROCESO:
Una vez el usuario digite los valores de los parámetros definimos
a, b, c, X1, X2, para evitar errores las definimos a todas como valores reales.
R <- b^2 + 4 * a * c
^ ^ ^ ^
Parámetros Raíz | -5 | 1 | 6
Luego de esto en la condición SI puesta, lo que hará es preguntarse:
R > 0; con esto lo que haremos es concluir si podemos realizar la ecuación, ya que, si R
llegase a ser menor que 0, directamente se ejecuta una respuesta que dirá que la raíz
cuadrada de números negativos no existe, al menos en los números reales.
Si R > 0 Entonces esto hará que entre directamente al ciclo mientras, y el ciclo ejecutara
las ecuaciones a realizar, haciendo lo siguiente:
X1 <- -b + rc (R) ) / 2 * a;
^ ^ Suma ^ división ^
Posible Solucion1 | 5 | Raíz Cuadrada/Parámetros Raíz | 1
Para X2 Se realizará el mismo proceso, pero con la diferencia que no tendríamos el signo
más + entre –b y rc, si no que será reemplazado por el signo menos -, así:
Si R > 0 Entonces
X2 <- -b - rc (R) / 2* a;
^ ^ resta ^ división ^
Posible Solucion2 | 5 | Raíz Cuadrada/Parámetros Raíz | 1
Hecho esto, el programa lo que hará es enviar es el mensaje de respuesta, incluyendo las
dos soluciones posibles para la ecuación.
Dicho esto, iniciamos con nuestro algoritmo:
INICIO
Definir a, b, c, X1, X2 como real;
Escribir "Ingrese a";
Leer a;
Escribir "Ingrese b";
Leer b;
Escribir "Ingrese c";
Leer c;
Si (a<>0) Entonces
R<- (b^2 - 4*a*c);
Si (R>0) Entonces
X1<-(-b+ rc(R) )/ 2*a;
X2<-(-b- rc(R)) / 2*a;
Escribir "Las soluciones para la ecuación son: X1=", X1, " y X2=“, X2;
Sino
Escribir “No se existen raíces cuadradas para números negativos.";
FinSi
Sino
Escribir "El parámetro de a debe ser diferente de 0, por favor digite otro
número.";
FinSi
FIN
13. En este ejercicio vamos a realizar un programa que de entrada a 4 números, escogerá
al mayor y al menor de ellos y por consiguiente realizara las operaciones fundamentales
que son: Suma, Resta, Multiplicación y División. Para ello necesitamos las siguientes
variables:
CD= Cantidad de Datos.
NRO = Numero de Entrada.
MAYOR= Número mayor de los datos.
MENOR= Número menos de los datos.
CON= Contador
SUM= Suma entre el mayor y el menor de los datos.
RES= Resta entre el mayor y el menor de los datos.
MUL= Multiplicación entre el mayor y el menor de los datos.
DIV= División entre el mayor y el menor de los datos.
En este caso la variable NRO y CD son las únicas variables de entrada, ya que CD será el
número de datos que el usuario quiere digitar, y NRO los números a analizar y sacar los
resultados. Las otras variables todas son de tipo asignación, que debemos ordenar para
realizar los comandos que deseamos, en este caso el contador lo que hará es detectar
cuantos datos han ingresado al sistema, y cuando la cantidad de datos sea igual a la
cantidad que a detectado el contador, el sistema dejara de operar y arrojara los
resultados. Y las variables SUM, RES, MUL, DIV, lo que harán es realizar las operaciones
matemáticas que hemos definido para que se realicen con las variables MENOR,
MAYOR, que a su ves serán detectadas por el sistema.
En este ejercicio tomaremos como ejemplo: 1.2.3.4
Los resultados deberían ser:
SUM =5, RES = 3, MUL= 4, DIV= 4
PROCESO:
Una vez el usuario a ingresado la cantidad de datos a ingresar, y a su vez a ingresado los
datos uno por uno, el sistema lo que hará será lo siguiente:
MENOR tomara el primer valor ingresado a la variable NRO
MAYOR también tomara el primer valor ingresado en la variable NRO
El ciclo mientras se encargará de realizar lo siguiente:
CON < CD
^ Menor ^
Contador | Cantidad de Datos
Mientras el valor del contador sea menor a la cantidad de datos, el ciclo se repetirá hasta
que CON sea mayor a CD. Luego de esto, lo que hará es preguntar al usuario el siguiente
valor hasta llegar al tope del contador.
Dentro del ciclo SI lo que se realizará será lo siguiente, ya tomado el primer valor como
MAYOR se ingresa una condición SI en la cual se hará la siguiente pregunta:
NRO > MAYOR
^ Mayor ^
Numero ingresado | Primer valor ingresado en NRO
Si el numero ingresado resulta ser mayor al primer número, tomara su lugar y pasara a
detectar el siguiente dato. Pero si el numero ingresado es menor al primer número, pasara
a la condición Sino, que a su vez tendrá otra condición SI dentro que tomara el primer
valor ingresado como MENOR y realizara la siguiente pregunta:
NRO > MENOR
^ Menor ^
Numero ingresado | Primer valor ingresado en NRO
Si el numero ingresado resulta ser menor al primer número, tomara su lugar y pasara a
detectar el siguiente dato. Pero si el numero ingresado es mayor al primer número, saldrá
del ciclo y preguntará al usuario el siguiente dato.
Esto ciclo se repetirá hasta que CON sea mayor a CD. Una ves terminado el ciclo el
sistema pasara a realizar las operaciones matemáticas descritas por las variables, así:
SUM <- MAYOR + MENOR
^ ^ ^
Suma | Numero Mayor | Numero Menor

RES <- MAYOR + MENOR


^ ^ ^
Resta | Numero Mayor | Numero Menor

MUL <- MAYOR + MENOR


^ ^ ^
Multiplicación | Numero Mayor | Numero Menor
DIV <- MAYOR + MENOR
^ ^ ^
División | Numero Mayor | Numero Menor

Una vez realizadas las operaciones matemáticas, el sistema enviara al usuario diferentes
mensajes, dando como resultado el dato mayor y menor detectado, y a su vez los
resultados obtenidos en las distintas operaciones realizadas internamente.

Dicho esto, podemos empezar con la realización del algoritmo.


INICIO
Escribir "Digite la cantidad de datos";
Leer CD;
CON <- 1;
Escribir "Iniciamos";
Leer NRO;
MENOR <- NRO;
MAYOR <- NRO;
Mientras ( CON<CD) Hacer
CON <- CON + 1;
Leer NRO;
SI ( NRO > MAYOR )
Entonces
MAYOR <- NRO;
Sino
Si ( NRO < MENOR )
Entonces
MENOR <-NRO;
Finsi
Finsi
Finmientras
SUM <- MAYOR + MENOR;
RES <- MAYOR - MENOR;
MUL <- MAYOR * MENOR;
DIV <- MAYOR / MENOR;

Escribir " El número mayor es ", MAYOR;


Escribir " El número menor es ", MENOR;
Escribir " La suma del dato mayor y el menor es = ", SUM;
Escribir " La resta del dato mayor y el menor es = ", RES;
Escribir " La multiplicación del dato mayor y el menor es = ", MUL;
Escribir " La división del dato mayor y el menor es = ", DIV;

FIN
16. En este problema desarrollaremos un algoritmo que nos dará como resultado el monto
a pagar por un boleto de ida y regreso en avión, dependiendo de algunos factores para
determinar el precio, para eso en este problema necesitaremos las siguientes variables:
DIS= Distancia en kilómetros a recorrer.
EST= Días de estancia en el lugar.
VPK = Valor por kilómetro.
TOT= Total a pagar por tiquete sin descuento.
DES= Descuento por pasaje de 30% (0.3).
TOTD= Total a pagar por tiquete aplicando el descuento.
Las variables DIS y EST, son variables de entrada, las cuales tendrán que ser ingresadas
por el usuario, mientras que las variables VPK, TOT, DES, TOTD, son variables de tipo
asignación, que serán descritas por nosotros los programadores.
Para este ejercicio tomaremos como ejemplo lo siguiente:
*DIS= 1200, EST= 8; como valores para detectar si el sistema funciona activando el ciclo.
- DIS= 1200, EST= 6; como valores para que el sistema no entre al ciclo.
Los resultados para lo anterior deberán ser:
*TOTD= 75.600
-TOT= 108.000
PROCESO:
Una vez el usuario ingrese los datos de DIS, que es la distancia recorrer y EST, que es
los días de estancia en el lugar al que viajara, y tomando como referencia VPK que es el
valor por km dictado por la empresa como 90 pesos por km recorrido, el sistema pasara a
realizar el siguiente proceso, multiplicara la distancia ingresada por el valor por km, en
otras palabras, realizara lo siguiente:
TOT <- VPK * DIS
^ ^ Multiplicación ^
Total a pagar sin descuento | Valor por Kilometro | Distancia a recorrer
Una vez hecho esto, pondremos un ciclo mientras que tendrá que realizar las siguientes
preguntas:
DIS > 1000
^ Mayor ^
Distancia a Recorrer | Menor a este km, no tiene descuento

EST > 7
^ Mayor ^
Días de estancia | Menor a estos días, no tiene descuento
Al realizar estas preguntas, el sistema lo que hace es detectar si los kilómetros a recorrer
y los días de estancia son mayores a los estándares para poder aplicar el descuento al
usuario. Si DIS y EST son mayores a los estándares el sistema pasa a realizar las
siguientes operaciones:
DES <- VPK * DIS * 0.3;
^ ^ multiplicación ^ multiplicación ^
Descuento | Valor por Kilometro | Distancia a Recorrer | Porcentaje Descuento 30%
Se encuentra el valor del descuento para el usuario. Una vez realizado esto el sistema
pasa a la siguiente operación que es:
TOTD <- TOT - DES
^ ^ menos ^
Total a pagar con descuento | Total a pagar sin descuento | Descuento
Esta operación lo que hará es tomar el valor total a pagar sin descuento y le restará el
descuento aplicado gracias a haber pasado los estándares para ser aplicado, una vez
hecho esto el sistema proseguirá a enviar un mensaje al usuario el cual le dará el valor a
pagar por su tiquete aplicado el descuento.
Si el sistema detecta que ni los días de estancia, ni los kilómetros a recorrer son mayores
a los estándares, enviará un mensaje al usuario el cual dirá el valor a pagar por su tiquete
sin aplicar el descuento.
Este algoritmo hace funcionar el ciclo mientas, siempre y cuando los dos estándares sean
sobrepasados, si uno de los dos no es sobrepasado, el sistema arrojara el mensaje
dictando el valor a pagar sin descuento.

Con esto dicho, podemos iniciar la construcción de nuestro algoritmo:


I
NICIO
Escribir "Bienvenido, a continuación, podrá consultar el valor de su tiquete de
avión.";
Escribir "Por favor ingrese la distancia en km a recorrer";
Leer DIS;
Escribir "Por favor digite el número de días de estancia";
Leer EST;
VPK<- 90;
TOT<-VPK*DIS;
SI (DIS>1000 y EST>7)
Entonces
DES <- VPK*DIS*0.3;
TOTD<-TOT-DES;
Escribir "El valor de su tiquete es de = $", TOTD;
Sino
Escribir "El valor de su tiquete es de = $", TOT;
Finsi
FIN
20. En este ejercicio construiremos un algoritmo para encontrar la tabla de multiplicar de
un numero dado.
Para esto necesitaremos las Siguientes Variables:
NRO= Numero del que se desea saber su tabla de multiplicar.
LIM= Especifica el numero hasta el que se va a multiplicar.
CON= Suma los valores de uno en uno hasta llegar a LIM
MUL= Multiplica NRO por el CON.
RTA= Respuesta a la pregunta si desea ejecutar nuevamente el programa.
En este ejercicio solamente la variable NRO y RTA son de entrada, ingresadas por el
usuario, y las variables LIM, CON y MUL son variables de asignación, las cuales vienen
dictadas por nosotros los programadores.
Para este ejercicio tomaremos como ejemplo lo siguiente:
*NRO= 2, RTA= Yes; esto lo haremos para ejecutar el ciclo de reinicio del programa,
hecho esto pasaremos a darle los siguientes valores: NRO= 5, RTA= No; para que en
esta parte el sistema finalice y se cierre.
Para este ejercicio la solución tendrá que ser la siguiente:
2*1 =2 5*1 =5
2*2 =4 5*2 =10
2*3 =6 5*3 =15
2*4 =8 -> RTA = Yes -> 5*4 =20 -> RTA = NO
2*5 =10 5*5 =25
……… ……..
Etc. Etc.
PROCESO:
Una vez dentro del programa y el usuario ingrese el valor de NRO, se inicia el programa
tomado la variable LIM, como el numero límite hasta el que se va a multiplicar NRO, en
este caso tomaremos como limite el número 12, eso quiere decir que NRO se multiplicara
hasta que con llegue a tomar el valor 12, dicho esto también debemos agregar que el
contador o la variable CON la iniciamos en 0.
Una vez hecho esto se iniciará un ciclo mientras en el cual se iniciará sumándole a CON
el valor 1, para que cada vez que se repita a con se le vaya adicionando uno en su valor,
así hasta llegar al valor límite, dicho esto el ciclo hará la siguiente pregunta:
CON < LIM
^ Menor ^
Contador | Numero Limite hasta el que se va a multiplicar
Siempre y cuando CON sea menor al LIM, el sistema se ejecutara para que se vaya
multiplicando el NRO por CON, a su vez a CON siempre que pase por el ciclo, se le ira
adicionando uno como lo dijimos anteriormente para que llegue hasta el valor límite.
Una vez terminado y que CON alcance el valor límite, el sistema saldrá del ciclo y enviará
la pregunta al usuario sobre si desea volver a ejecutar el programa y a su vez pidiendo la
respuesta del usuario en inglés y con su letra inicial en mayúsculas. Esta pregunta ira
anidada a una condición SI, la cual se hará la siguiente pregunta:
RTA = Yes
^ igual ^
Variable respuesta | Respuesta del usuario
La condición lo que hará es preguntar si la respuesta del usuario es Yes, siempre que la
respuesta sea Yes, la condición limpiara la pantalla, y pedirá nuevamente al usuario un
valor para NRO, y así mismo iniciara el contador en 0, para así volver a ingresar al
sistema, y volver a iniciar el ciclo hasta que el usuario desee cerrarlo.
Cuando la condición es diferente de Yes, o en este caso No, pasa la negación de la
condición, la cual simplemente enviara un mensaje de despedida al usuario para que se
cierre el algoritmo.

Con esto dicho, podemos iniciar con la construcción de nuestro algoritmo:


INICIO
Escribir "TABLA DE MULTIPLICAR";
LIM<- 12;
CON <-0;
Mientras (CON<LIM) Hacer
Escribir "Digite el numero a encontrar su tabla de multiplicar";
Leer NRO;
mientras (CON<LIM) Hacer
CON<-CON+1;
MUL<- NRO*CON;
Escribir NRO, "*", CON," = " ,MUL;
Finmientras

Escribir "Desea volver a ejecutar?";


Escribir "Escriba su respuesta en ingles y con letra inicial en mayuscula.";
Leer RTA;

Si (RTA ="Yes") Entonces


Limpiar Pantalla;
CON <-0;
SiNo
Escribir "Hasta pronto";
Finsi

FinMientras
FIN

También podría gustarte