You are on page 1of 29

EJERCICIOS PROPUESTOS EJEMPLOS DE DIAGRAMA DE FLUJO

Y ALGORITMOS

Ejercicios propuesto:

Ejercicio No: 1
a. Realizar un algoritmo que permita leer dos valores, determinar cual de los dos valores
es el menor y escrbalo
b. Realizar un algoritmo que sume dos nmeros.
a. Proceso numero_menor
definir a,b como numerico;
a<-0;
b<-0;
Repetir
Escribir "Ingrese dos numeros que deseas comparar";
Leer a,b;
Si a=b Entonces
Escribir "Los numeros deben ser diferentes";

FinSi
Hasta Que a<>b
Si a<b Entonces
Escribir a," es menor que ",b;
Sino
Escribir b," es menor que ",a;
FinSi
FinProceso
b.

Proceso Sumar_2_num
definir a,b,suma como numerico;
a<-0;
b<-0;
suma<-0;

Repetir
Escribir "Ingrese los numeros que deseas sumar";
Leer a,b;
Si a=b Entonces
Limpiar Pantalla;
Escribir "Los numeros deben ser diferentes";
FinSi
Hasta Que a<>b
suma<-a+b;
Limpiar Pantalla;
Escribir "********** Suma 2 Numeros ***********";
Escribir a,"+",b,"=",suma;
FinProceso

2. A Es este algoritmo la solucin perfecta al ejercicio


anterior? Razone su respuesta.
R//No, hace falta la validacion de los numeros para no ingresar repetidos.

b.

De ser necesario qu cambios deber realizar?


Indquelos.
Aadir una linea que se encargue de validar la igualdad de los numeros.
Repetir
.
leer a,b,c;
.
hasta que a,b y c sean diferentes

c. Desarrolle un algoritmo que permita leer tres valores y


almacenarlos en las variables A, B, y C
respectivamente. El algoritmo debe indicar cual es el menor.
Asumiendo que los tres valores introducidos por el teclado son
valores distintos.

Proceso num_menor
definir a,b,c como numerico;
a<-0;
b<-0;
c<-0;

Repetir
Escribir "Escribe los numeros que deseas comparar";
Leer a,b,c;
Si a=b y b=c Entonces
Limpiar Pantalla;
Escribir "Los numeros deben ser diferentes";
FinSi
Hasta Que a<>b y b<>c
Limpiar Pantalla;
si a<b y a<c entonces
Escribir a," Es el Menor";

Sino
si b<a y b<c entonces
Escribir a," Es el Menor";
Sino
Escribir c," Es el Menor";
FinSi
FinSi

FinProceso

. Desarrolle un algoritmo que lea cuatro nmeros diferentes y a continuacin imprima el mayor de los

cuatro nmeros introducidos y tambin el menor de ellos.

Proceso num_mayor_y_menor
definir a,b,c,d como numerico;
a<-0;
b<-0;
c<-0;
d<-0;

Repetir
Escribir "Ingrese 4 numeros que deseas comparar";
Leer a,b,c,d;
Si a=b y b=c y c=d Entonces
Limpiar Pantalla;
Escribir "Los numeros deben ser diferentes";
FinSi
Hasta Que a<>b y b<>c y c<>d
Limpiar Pantalla;
si a<b y a<c y a<d entonces
Escribir a," Es el Menor";
Sino
si b<a y b<c y b<d entonces
Escribir b," Es el Menor";
Sino
si c<a y c<b y c<d entonces
Escribir c," Es el Menor";
Sino
Escribir d," Es el Menor";
FinSi
FinSi
FinSi
si a>b y a>c y a>d entonces
Escribir a," Es el Mayor";
Sino
si b>a y b>c y b>d entonces
Escribir b," Es el Mayor";

Sino
si c>a y c>b y c>d entonces
Escribir c," Es el Mayor";
Sino
Escribir d," Es el Mayor";
FinSi
FinSi
FinSi

FinProceso

Ejercicio No: 3
a. Desarrolle un algoritmo que realice la sumatoria de los nmeros enteros mltiplos de 5, comprendidos
entre el 1 y el 100, es decir, 5 + 10 + 15 +. + 100. El programa deber imprimir los nmeros en
cuestin y finalmente su sumatoria

Proceso suma_multiplos_de_5_hasta_100

Definir n,suma Como Entero;


n<-0;
suma<-0;
Repetir
n=n+5;
suma=suma+n;
si n=100 entonces
escribir n,Sin Saltar;
Sino
Escribir n,"+"Sin Saltar;
FinSi
Hasta Que n=100
Escribir "=",suma;
FinProceso

. Desarrolle un algoritmo que realice la sumatoria de los nmeros enteros pares comprendidos entre

el 1 y el 100, es decir, 2 + 4 + 6 +. + 100. El programa deber imprimir los nmeros en cuestin y


finalmente su sumatoria

Proceso suma_pares_hasta_100
Definir n,suma Como Entero;
n<-0;
suma<-0;
Repetir
n=n+2;
suma=suma+n;
si n=100 entonces
escribir n,Sin Saltar;
Sino
Escribir n,"+"Sin Saltar;
FinSi
Hasta Que n=100
Escribir "=",suma;
FinProceso

c.

Desarrolle un algoritmo que lea los primeros 300 nmeros enteros y determine cuntos de ellos

son
impares; al final deber indicar su sumatoria.

Proceso suma_impares_300
Definir n,suma,i Como Entero;
n<-0;
suma<-0;
i<-0;
Repetir
n=n+1;
suma=suma+n;
si n mod 2 = 1 y n=299 entonces
escribir n,Sin Saltar;
i<-i+1;
sino
si n mod 2 = 1 entonces
escribir n,"+",Sin Saltar;
i<-i+1;
FinSi
FinSi
Hasta Que n=300
Escribir "=",suma;
Escribir "";
Escribir "Total de impares es ",i;
FinProceso

Ejercicio No: 4
a.

Qu falta en este algoritmo? Qu errores presenta?

Proceso hip_tri
Definir cata,catb,hip Como Real;
Escribir "******** Calcular Hipotenusa de un Triangulo *********";
Escribir "Digita el tamao del Primer cateto: ",Sin Saltar;
leer cata;
Escribir "Digita el tamao del Segundo cateto: ",Sin Saltar;
leer catb;
hip<-cata^2+catb^2;
Escribir "La Hipotenusa es ",hip;
FinProceso

b.

Desarrollar un algoritmo que calcule el rea de un cuadrado.

Proceso area_cuadrado
Definir a,area Como Real;
Escribir "******* Area Cuadrado *******";
Escribir "";
Escribir "Digita el tamao del lado del cuadrado (cm): ";
leer a;
area<-a^2;
Escribir "";
Escribir "El area del cuadrado es ",area;
FinProceso

Ejercicio No: 5

Realiza un algoritmo que le permita determinar el rea de


un rectngulo.
Proceso area_rectangtulo
Definir b,h,area Como Real;
Escribir "******* Area Rectangulo *******";
Escribir "";
Escribir "Digita el tamao del la base del rectangulo (cm): ",Sin Saltar;
leer b;
Escribir "Digita el tamao del la altura del rectangulo (cm): "Sin Saltar;
leer h;
area<-b*h;
Escribir "";
Escribir "El area del Rectangulo es ",area;
FinProceso

Ejercicio No: 6

Proceso numero_impar
Definir n Como Real;
Escribir "******** Numero Impar ***********";
Escribir "";
Escribir "Ingrese el numero que desear averiguar";
leer n;
si n mod 2 = 1 Entonces
Escribir n," es Impar";
Sino
Escribir n," es Par";
FinSi
FinProceso

Ejercicio No: 7
a.

Realiza el mismo algoritmo utilizando Mientras (While); tambin hazlo utilizando En Caso
(Case)

Proceso calificaciones
Definir nota,cont Como Entero;
Definir nvanota como texto;
cont<-1;
nvanota<-"Error";
Mientras cont=1 Hacer
nota<-0;
escribir "******* Asignacion de Notas *********";
Escribir "";
Escribir "Digita la nota: ",Sin Saltar;
leer nota;
si nota>=19 y nota<=20 Entonces
nvanota<-"A";
Sino
si nota>=16 y nota<=18 Entonces
nvanota<-"B";
Sino
si nota>=13 y nota<=15 Entonces
nvanota<-"C";
Sino
si nota>=10 y nota<=12 Entonces
nvanota<-"D";
Sino
si nota>=1 y nota<=9 Entonces

nvanota<-"E";
Sino
Escribir "La nota no esta dentro del rango
requerido por la institucion.";
FinSi
FinSi
FinSi
FinSi
FinSi
Escribir "";
Escribir "Nota Registrada:",nota;
Escribir "Nota Asignada: ",nvanota;
Escribir "";
Escribir "Desea Continuar? Si->1 / No->0: ",Sin Saltar;
leer cont;
Limpiar Pantalla;
FinMientras
FinProceso

Ejercicio No: 8
a. Desarrolle un algoritmo que permita realizar la escritura de los primeros 100 nmeros naturales
utilizando la estructura Mientras (While).

Proceso imprime_100
Definir i como entero;
i<-1;
Mientras i<=100 Hacer
Escribir "+",i,"+";
i<-i+1;
FinMientras
FinProceso

Ejercicio No: 9
a. Desarrolle un algoritmo que permita leer un valor entero positivo N y determinar si es primo o
no.

Proceso num_primo
Definir j,s,n Como Entero;
j<-2;
s<-0;
leer n;
Mientras j<=n/2 Hacer
Escribir n/2;
Escribir n,"/",j,":",n/j;
si n/j=0 Entonces
s<-s+1;
j<-j+1;
Sino
j<-j+1;
FinSi
FinMientras
si s=0 Entonces
Escribir s;
Escribir n," Es primo";

Sino
Escribir "no es primo";
FinSi

FinProceso
b. Realice un algoritmo que determine los veinte primeros nmeros ,cuales son

mltiplos de 2

Proceso multiplos_2
Definir i,c Como Entero;
i<-1;
c<-0;
Repetir
Escribir i," ->",Sin Saltar;
si i mod 2 = 0 entonces
Escribir " es Par";
c<-c+1;
Sino

Escribir "*";
FinSi
i<-i+1;
Hasta Que i=21
Escribir "Hay ",c," Numeros pares";
FinProceso
c. Realice un algoritmo que determine cuantos minutos hay en 5 horas

Proceso Ctos_min_en_5_horas
Definir h,m como entero;
h<-5;
m<-60;
Escribir "En 5 Horas, Hay ",h*m," Minutos";
FinProceso

Ejercicio No: 10
a.

Realice un algoritmo que determine el pago a realizar por la entrada a un espectculo donde se
pueden comprar slo hasta cuatro entrada, donde al costo de dos entradas se les descuenta el
10%, al de tres entrada el 15% y a la compra de cuatro tickets se le descuenta el 20 %.

Proceso Calcu_tick
Definir cant,vlr,dto,dtoi,total Como Real;
Escribir "****** Venta de Tickets *******";
Escribir "";
Escribir "Digita la Cantidad de Tickets a Vender :",Sin Saltar;
leer cant;
Escribir "Digita el valor de Cada Ticket: ",Sin Saltar;
Leer vlr;
si cant<=4 y cant>=1 entonces
si cant=2 Entonces
dto<-0.9;
dtoi<-10;
sino
si cant=3 entonces
dto<-0.85;
dtoi<-15;
Sino
si cant=4 Entonces
dto<-0.8;
dtoi<-20;

Sino
dto<-1;
dtoi<-0;
FinSi
FinSi
FinSi
Sino
Escribir "Esa cantidad de Tickets no es Valida";
FinSi
Limpiar Pantalla;
total<-(cant*vlr)*dto;
Escribir "****** Valor Venta *******";
Escribir "";
Escribir "Cantidad >",cant;
Escribir "Valor Ticket >",vlr;
Escribir "
-------------";
Escribir "Valor Neto >",cant*vlr;
Escribir "- Descuento >",dtoi,"%";
Escribir "
-------------";
Escribir "Total
>",total;
FinProceso

Ejercicio No: 11
a. Desarrolle un algoritmo que lea la velocidad en metros por segundo y la convierta a kilmetros por
hora.
Proceso pasar_ms_kh
Definir ms,kh Como Real;
Escribir "**** Conversor de M/s a K/h *****";
Escribir "";
Escribir "Digita el numero de la aceleracion (M/s):",Sin Saltar;
leer ms;
kh<-(ms/1000)*3600;
Escribir "";
Escribir "La aceleracion es:",kh,"K/h";
FinProceso

Ejercicio No: 12
a.

Desarrolle un algoritmo que permita calcular la media aritmtica.


Proceso media_arit
Definir i,conteo,suma,num,prom como real;
i<-1;
suma<-0;
Escribir "********** Media Aritmetica ********";
Escribir "";
Escribir "Digita la cantidad de numeros a ingresar:",Sin Saltar;
leer conteo;
Limpiar Pantalla;
Escribir "****** Digita los Numeros ******";
Repetir
Escribir i,": ",Sin Saltar;
leer num;
suma<-suma+num;
i<-i+1;
Hasta Que i=conteo+1
prom<-suma/conteo;
Escribir "La media aritmetica de los ",conteo," numeros que digitaste es:",prom;
FinProceso

Ejercicio No: 13

Proceso nomina
Definir num_obr,num_ht,total_n,salario como real;
salario<-0;
total_n<-0;
Escribir "***** Nomina Tecnovivir Casas C.A ****";
Escribir "";
Para num_obr<-1 Hasta 50 Con Paso 1 Hacer
Escribir "Ingresa las cantidades de horas trabajas para el trabajador
",num_obr,":";
leer num_ht;
salario<-num_ht*30000;
total_n<-total_n+salario;
Limpiar Pantalla;
FinPara
Escribir "Total Nomina :",total_n;
FinProceso
Ejercicio No: 14
Desarrolle un algoritmo que funcione como caja registradora,

Proceso caja
Definir sub_t,total,cod,precio,iva Como Real;
sub_t<-0;
Escribir "Ingrese Cod producto y Precio";
leer cod,precio;
Limpiar Pantalla;
Escribir "****** Caja N 01 - Ventas ******";
Repetir
Si cod <> 0 Entonces
sub_t<-sub_t+precio;
Escribir "Cod Producto:",cod," - Precio:",precio;
Escribir "Ingrese Cod producto y Precio - para salir 0";
leer cod,precio;
FinSi
Hasta Que cod=0
iva<-sub_t*0.15;
total<-sub_t+iva;
Escribir "Subtotal: ",sub_t;
Escribir "IVA: ",iva;

Escribir "Total:",total;
FinProceso

Ejercicio No: 15

Desarrolle un algoritmo que permita determinar a partir de un nmero de das, ingresado por pantalla,
Cuntos aos, meses, semanas y das; constituyen el nmero de das proporcionado utilizando la
estructura Mientras o While.

Proceso fecha
Definir year,mes,sem,dias,num_dias como real;
year<-0;
mes<-0;
sem<-0;
dias<-0;
Escribir "********** Calcular Fecha *********";
Escribir "";
Escribir "Escribe el numero de Dias:",sin saltar;
leer num_dias;
dias<-num_dias;

si dias>=365 entonces
year<-year+1;
dias<-dias-365;
FinSi
Escribir dias;
si dias>=30 Entonces
mes<-mes+1;
dias<-dias-30;
FinSi
Escribir dias;
si dias>=7 Entonces
sem<-sem+1;
dias<-dias-7;
FinSi
Escribir dias;
Escribir "En ",num_dias," dias, hay ,",year," aos,",mes," meses , ",sem,"
Semanas, ",dias," dias";
FinProceso

Ejercicio No: 16
Proceso duda
Definir bc,bv,bd,bc2,bm,n,c,resto Como Real;
bc<-0;
bv<-0;
bd<-0;
bc2<-0;
bm<-0;
Escribir "Calculadora de Billetes";
Escribir "";
Escribir "Digita la Cantidad de Dinero";
leer n;
c<-n;
Mientras c>=50000 Hacer
bc<-bc+1;
c<-c-50000;
FinMientras
Mientras c>=20000 Hacer
bv<-bv+1;
c<-c-20000;
FinMientras
Mientras c>=10000 Hacer
bd<-bd+1;
c<-c-10000;
FinMientras
Mientras c>=5000 Hacer
bc2<-bc2+1;
c<-c-5000;
FinMientras
Mientras c>=1000 Hacer
bm<-bm+1;

c<-c-1000;
FinMientras
resto<-c;
Escribir "En ",n," hay :";
Escribir bc," Billetes de Cincuenta Mil ";
Escribir bv," Billetes de Veinte Mil";
Escribir bd," Billetes de Diez Mil ";
Escribir bc2," Billetes de Cinco Mil";
escribir bm," Billetes de Mil";
escribir resto," En Monedas";
FinProceso

You might also like