Download FUNDAMENTOS DE PROGRAMACIÓN
Document related concepts
no text concepts found
Transcript
FUNDAMENTOS DE PROGRAMACIÓN Solución Ejercicios Propuestos PseInt Fundamentos de Programación Escuela de Informática Aplicada a la Educación SOLUCION EJERCICIOS PROPUESTOS 1. Diseñar un algoritmo que pida por teclado tres números; si el primero es negativo, debe imprimir el producto de los tres y si no lo es, imprimirá la suma. Proceso Ejercicio_pro_1 Escribir "Ingrese el primer número" Leer numero1 Escribir " Ingrese el segundo número" Leer numero2 Escribir " Ingrese el tercer número" Leer numero3 Si (numero1<0) Entonces resultado<-numero1*numero2*numero3 Sino resultado<-numero1+numero2+numero3 FinSi Escribir resultado FinProceso 2. Un colegio desea saber qué porcentaje de niños y qué porcentaje de niñas hay en el curso actual. Diseñar un algoritmo para este propósito (recuerda que para calcular el porcentaje puedes hacer una regla de 3). Proceso Ejercicio_pro_2 Escribir " Ingrese el número de niños" Leer numero_niños Escribir " Ingrese el número de niñas" Leer numero_niñas porcentaje_niños<-numero_niños*100/(numero_niños+numero_niñas) porcentaje_niñas<-100-porcentaje_niños Escribir "Hay un " porcentaje_niños " % de niños” Escribir "Hay un " porcentaje_niñas " % de niñas" FinProceso 3. Una tienda ofrece un descuento del 15% sobre el total de la compra durante el mes de octubre. Dado un mes y un importe, calcular cuál es la cantidad que se debe cobrar al cliente. Proceso Ejercicio_pro_3 Escribir "Ingrese el importe de la compra" Leer importe Escribir "Ingrese el mes" Leer mes //Si el mes es octubre, se aplicara el descuento Si (mes="octubre") Entonces total<-importe*0.85 Sino total<-importe FinSi Escribir total FinProceso 1 Fundamentos de Programación Escuela de Informática Aplicada a la Educación 4. Se desea desarrollar el algoritmo que nos calcule la suma de los N primeros números pares a partir del número ingresado. Es decir, si ingresamos un 5, nos haga la suma de 6+8+10+12+14. Proceso ejercicio_pro_4 Escribir "Ingrese un número" Leer N m<-n contador<-0 Mientras (contador<m) Hacer si (N MOD 2=0) Entonces suma<-N+suma contador<-contador+1 FinSi N<-N+1 FinMientras Escribir "La suma de los ",m," primeros # pares a partir del ",m," es: ",suma; FinProceso 5. Dada una secuencia de números leídos por teclado, que acabe con un 0, por ejemplo: 5,3,2,4,4,2,3,6,……,0; Realizar el algoritmo que calcule la media aritmética. Proceso ejercicio_pro_5 Escribir "Ingrese un número" Leer num suma<-0 contador<-0 Mientras (num<>0) Hacer suma<-suma+num contador<-contador+1 Escribir "Ingrese un número" Leer num FinMientras Escribir "La media aritmetica es: ", suma/contador; FinProceso 6. Teniendo en cuenta que la clave es “eureka”, escribir un algoritmo que nos pida ingresar una clave. Solo tenemos 3 intentos para acertar, si fallamos los 3 intentos nos mostrara un mensaje indicándonos que hemos agotado esos 3 intentos. (Recomiendo utilizar una variable lógica Falso o Verdadero). Si acertamos la clave, nos mostrara un mensaje indicándonos que la clave es correcta y saldremos del programa. Proceso ejercicio_pro_6 contador<-0 acierto<-Falso Mientras (contador<3 y acierto=falso) Hacer Escribir "Introduce la clave" Leer clave si (clave="eureka") Entonces Escribir "La clave es correcta" acierto<-Verdadero FinSi contador<-contador+1 FinMientras si (contador=3 Y acierto=falso) Entonces Escribir "Ya no tienes más intentos" FinSi FinProceso 2 Fundamentos de Programación Escuela de Informática Aplicada a la Educación 7. Desarrollar un algoritmo que lea números enteros hasta teclear un 0, y nos muestre el máximo, el mínimo y la media de todos ellos. Piense como debemos inicializar las variables. Proceso ejercicio_pro_7 Escribir "Ingresar un Numero" Leer num minimo<-num maximo<-num suma<-0 Mientras (num<>0) Hacer si (num>maximo) Entonces maximo<-num FinSi si (num<minimo) Entonces minimo<-num FinSi suma<-suma+num contador<-contador+1 Escribir "Ingresar un Numero" Leer num FinMientras media<-suma/(contador) Escribir "El maximo es " maximo; Escribir "El minimo es " minimo; Escribir "La media es " media; FinProceso 8. Desarrollar un algoritmo que lea tres números que denoten una fecha (día, mes, año). Comprobar que es una fecha válida. Si no es válida escribir un mensaje de “Fecha No Valida”. Si es válida escribir la fecha cambiando el número del mes por su nombre. Ej. si se introduce 1 2 2006, se deberá imprimir “1 de febrero de 2006”. El año debe ser mayor que 0. Piense que estructura es la más recomendable. NOTA: en PSeInt, si queremos escribir sin que haya saltos de línea, al final de la operación escribir escribimos sin saltar. Proceso ejercicio_pro_8 Escribir "Introduce el dia" Leer dia Escribir "Introduce el mes" Leer mes Escribir "Introduce el año" Leer año si ((dia>=0 y dia<=31 ) y (mes>=0 y mes<=12 ) y año>0) Entonces Escribir dia sin saltar Segun mes Hacer 1: escribir " de enero de" sin saltar 2: escribir " de febrero de " sin saltar 3: escribir " de marzo de " sin saltar 4: escribir " de abril de " sin saltar 5: escribir " de mayo de " sin saltar 6: escribir " de junio de " sin saltar 7: escribir " de julio de " sin saltar 8: escribir " de agosto de " sin saltar 9: escribir " de septiembre de " sin saltar 10: escribir " de octubre de " sin saltar 11: escribir " de noviembre de " sin saltar 12: escribir " de diciembre de " sin saltar FinSegun Escribir año Sino Escribir "Fechas No Valida" FinSi FinProceso 3 Escuela de Informática Aplicada a la Educación Fundamentos de Programación 9. Realizar un algoritmo que muestre, cuente y sume los números que están separados por 8 posiciones desde un valor introducido por teclado hasta 100. Por ejemplo si ingreso el 78 tendría que salir desde el 78 hasta el 100 hay 3 números, 78, 86, 94 y su suma es 258 Proceso ejercicio_pro_9 s<-0; c<-0; Escribir "¿Desde qué valor inicia la sumatoria?"; Leer n; i<-n; Mientras i<=100 Hacer Escribir "numero = ",i; c<-c+1; s<-s+i; i<-i+8; FinMientras Escribir "La cantidad de números desde ",n," hasta 100 es ",c; Escribir "La sumatoria de números desde ",n," hasta 100 es ",s; FinProceso 10. El siguiente es el menú de un restaurante de bocadillos. Diseñar un algoritmo capaz de leer el número de unidades consumidas de cada alimento ordenado y calcular la cuenta total. Vamos a suponer que estos precios son fijos, es decir, que son constantes (recuerda que en PSeInt no se usa comas para separar la parte decimal de la parte entera). Producto Jamón Refresco Cerveza Precio 1.5 USD 1.05 USD 0.75 USD Proceso ejercicio_pro_10 JAMON=1.5 REFRESCO=1.05 CERVEZA=0.75 total=0 Escribir "Introduce la cantidad de jamón" Leer cant_jamon Escribir "Introduce la cantidad de refresco" Leer cant_refresco Escribir "Introduce la cantidad de cerveza" Leer cant_cerveza total<-(cant_jamon*JAMON) + (cant_refresco*REFRESCO) + (cant_cerveza * CERVEZA) Escribir total FinProceso 4 Fundamentos de Programación Escuela de Informática Aplicada a la Educación 11. Realizar un algoritmo que permita imprimir todos los elementos de un vector en una línea, separados por un coma (,). El número de elementos del vector debe ser ingresado por el usuario. NOTA: en PSeInt, si queremos escribir sin que haya saltos de línea, al final de la operación escribir escribimos sin saltar. Proceso ejercicio_pro_11 Escribir "Cuantos elementos desea en el vector"; Leer N dimension A[N]; x<- 0 para i<-1 hasta N hacer escribir "Ingrese el elemento del vector en la posicion: ",i; leer A[i]; finpara escribir 'Los elementos del vector son: '; para i<-1 hasta N hacer escribir A[i],',';sin saltar finpara FinProceso 12. Realizar un algoritmo que permita imprimir todos los elementos de un vector al revés, del último al primero. El número de elementos del vector debe ser ingresado por el usuario. Proceso ejercicio_pro_12 Escribir "Cuantos elementos desea en el vector"; Leer N dimension A[N]; x<- 0 para i<-1 hasta N hacer escribir "Ingrese el elemento del vector en la posicion: ",i; leer A[i]; finpara escribir 'Los elementos del vector del ultimo al primero son: '; para i<-N Hasta 1 Con Paso -1 Hacer escribir A[i]; FinPara FinProceso 13. Realizar un algoritmo que permita contar cuantos elementos del vector tienen un valor superior a 20. El número de elementos del vector debe ser ingresado por el usuario. Proceso ejercicio_pro_13 Escribir "Cuantos elementos desea en el vector"; Leer N dimension A[N); contador<-0 para i<-1 hasta N hacer escribir "Ingrese el elemento del vector en la posicion: ",i; leer A[i]; si A[i]>=20 entonces contador<-contador+1 finsi finpara escribir 'La cantidad de numeros en el vector mayores a 20 ',contador; FinProceso son: 14. Realizar un algoritmo que permita imprimir el mayor número dentro del vector. El número de elementos del vector debe ser ingresado por el usuario. Proceso ejercicio_pro_14 Escribir "Cuantos elementos desea en el vector"; Leer N dimension A[N]; 5 Fundamentos de Programación Escuela de Informática Aplicada a la Educación mayor<-0 para i<-1 hasta N hacer escribir "Ingrese el elemento del vector en la posicion: ",i; leer A[i]; si A[i]> mayor entonces mayor<-A[i] finsi finpara escribir 'El número mayor dentro del vector es :',mayor; FinProceso 15. Realizar un algoritmo que permita crear dos vectores A y B con la misma cantidad de elementos y realizar las 4 operaciones básicas con cada elemento correspondiente de los vectores. Proceso ejercicio_pro_15 Escribir "Cuantos elementos desea en los vector"; Leer N dimension A[N]; dimension B[N]; para i<-1 hasta N hacer escribir "Ingrese el elemento del vector A en la posicion: ",i; leer A[i); finpara para i<-1 hasta N hacer escribir "Ingrese el elemento del vector B en la posicion: ",i; leer B[i); finpara escribir "Suma:" para i<-1 hasta N hacer s=A[i]+B[i]; escribir "La suma del elemento A","[",i,"] y B","[",i,"] es: ",s; finpara escribir "Resta:" para i<-1 hasta N hacer s=A[i]-B[i]; escribir "La resta del elemento A","[",i,"] y B","[",i,"] es: ",s; finpara escribir "Multiplicación:" para i<-1 hasta N hacer s=A[i]*B[i]; escribir "La multiplicación del elemento A","[",i,"] y B","[",i,"] es: ",s; finpara escribir "División:" para i<-1 hasta N hacer s=A[i]/B[i]; escribir "La división del elemento A","[",i,"] y B","[",i,"] es: ",s; finpara FinProceso 16. Realizar un algoritmo que permita sumar los elementos de una matriz. El número de elementos de la matriz tanto filas como columnas debe ser ingresado por el usuario. Proceso ejercicio_pro_16 Escribir "Ingrese el número de filas: "; Leer Filas; Escribir "Ingrese el número de Columnas: "; Leer Columnas; Dimension A[Filas,Columnas]; Para f<-1 Hasta Filas Hacer Para c<-1 Hasta Columnas Hacer Escribir "Ingrese un valor para el elemento A[", f, ",", c, "]: "; Leer A[f,c]; 6 Fundamentos de Programación Escuela de Informática Aplicada a la Educación Suma<-Suma+A[f,c]; FinPara FinPara Escribir "La suma de todos los elementos de la matriz es: ", Suma; FinProceso 17. Realizar un algoritmo que permita imprimir la suma de los elementos positivos y la suma de los elementos negativos de una matriz. El número de elementos de la matriz tanto filas como columnas debe ser ingresado por el usuario. Proceso ejercicio_pro_17 sumapos<-0; sumaneg<-0; Escribir "Ingrese el número de filas: "; Leer Filas; Escribir "Ingrese el número de Columnas: Leer Columnas; Dimension A[Filas,Columnas]; Para f<-1 Hasta Filas Hacer Para c<-1 Hasta Columnas Hacer Escribir "Ingrese un valor para el Leer A[f,c]; Si A[f,c]>0 Entonces sumapos<-sumapos+A[f,c]; Sino sumaneg<-sumaneg+A[f,c]; FinSi FinPara FinPara Escribir "La suma de todos los elementos Escribir "La suma de todos los elementos FinProceso "; elemento A[", f, ",", c, "]: "; positivos es: ", sumapos; negativos es: ", sumaneg; 7