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