Date post: | 02-Jul-2015 |
Category: |
Technology |
Upload: | fabiocelis |
View: | 1,580 times |
Download: | 2 times |
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 escríbalo
b. Realizar un algoritmo que sume dos números.
a. Proceso numero_menor
definira,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
definira,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 solución 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? Indíquelos.
Añadir una linea que se encargue de validar la igualdad de los numeros. Repetir . leera,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
definira,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
d. Desarrolle un algoritmo que lea cuatro números diferentes y a continuación imprima el mayor de los
cuatro números introducidos y también el menor de ellos.
Proceso num_mayor_y_menor
definira,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 números enteros múltiplos de 5, comprendidos entre el 1 y el 100, es decir, 5 + 10 + 15 +…. + 100. El programa deberá imprimir los números en cuestión 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 escribirn,Sin Saltar; Sino Escribir n,"+"Sin Saltar; FinSi Hasta Que n=100 Escribir "=",suma; FinProceso
b. Desarrolle un algoritmo que realice la sumatoria de los números enteros pares comprendidos entre
el 1 y el 100, es decir, 2 + 4 + 6 +…. + 100. El programa deberá imprimir los números en cuestión 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 escribirn,Sin Saltar; Sino Escribir n,"+"Sin Saltar; FinSi Hasta Que n=100 Escribir "=",suma; FinProceso
c. Desarrolle un algoritmo que lea los primeros 300 números enteros y determine cuántos 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
escribirn,Sin Saltar;
i<-i+1;
sino
si n mod 2 = 1 entonces
escribirn,"+",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 tamaño del Primer cateto: ",Sin Saltar; leer cata; Escribir "Digita el tamaño del Segundo cateto: ",Sin Saltar; leercatb; 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 tamaño 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 rectángulo.
Proceso area_rectangtulo
Definir b,h,area Como Real;
Escribir "******* AreaRectangulo *******";
Escribir "";
Escribir "Digita el tamaño del la base del rectangulo (cm): ",Sin Saltar;
leer b;
Escribir "Digita el tamaño 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); también 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;
leercont;
Limpiar Pantalla;
FinMientras
FinProceso
Ejercicio No: 8 a. Desarrolle un algoritmo que permita realizar la escritura de los primeros 100 números 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 números ,cuales son
múltiplos 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 espectáculo donde se
pueden comprar sólo 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;
leercant;
Escribir "Digita el valor de Cada Ticket: ",Sin Saltar;
Leer vlr;
sicant<=4 y cant>=1 entonces
sicant=2 Entonces
dto<-0.9;
dtoi<-10;
sino
sicant=3 entonces
dto<-0.85;
dtoi<-15;
Sino
sicant=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 kilómetros 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 aritmética.
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;
leernum;
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,":";
leernum_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";
leercod,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";
leercod,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 número de días, ingresado por pantalla, ¿Cuántos años, meses, semanas y días; constituyen el número de días 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; leernum_dias; dias<-num_dias; sidias>=365 entonces year<-year+1; dias<-dias-365; FinSi Escribir dias; sidias>=30 Entonces mes<-mes+1; dias<-dias-30; FinSi Escribir dias; sidias>=7 Entonces sem<-sem+1; dias<-dias-7; FinSi Escribir dias; Escribir "En ",num_dias," dias, hay ,",year," años,",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"; escribirbm," Billetes de Mil"; escribir resto," En Monedas"; FinProceso