Curso de Java para Android (Para fines Educativos) [CLASE 3]



Buenas, acá con Uds un tema más que importante, el de pseudocódigos (falso lenguaje) es una descripción de alto nivel de un algoritmo que emplea una mezcla de lenguaje natural con algunas convenciones sintácticas propias de lenguajes de programación, como asignaciones, ciclos y condicionales. Es utilizado para describir algoritmos en libros y publicaciones científicas, y como producto intermedio durante el desarrollo de un algoritmo.



CLASE 3: PSEUDOCÓDIGO

3.1 INTRODUCCIÓN
El pseudocódigo (falso lenguaje) es una descripción de alto nivel de un algoritmo que emplea una mezcla de lenguaje natural con algunas convenciones sintácticas propias de lenguajes de programación, como asignaciones, ciclos y condicionales. Es utilizado para describir algoritmos en libros y publicaciones científicas, y como producto intermedio durante el desarrollo de un algoritmo.
El pseudocódigo está pensado para facilitar a las personas el entendimiento de un algoritmo, y por lo tanto puede omitir detalles irrelevantes que son necesarios en una implementación. Programadores diferentes suelen utilizar convenciones distintas, que pueden estar basadas en la sintaxis de lenguajes de programación concretos. Sin embargo, el pseudocódigo en general es comprensible sin necesidad de conocer o utilizar un entorno de programación específico, y es a la vez suficientemente estructurado para que su implementación se pueda hacer directamente a partir de él.
¿Para qué sirve el Pseudocódigo? Sirve para escribir programas de computadora en lenguaje natural de tal manera que se facilite la comprensión, prueba y posterior codificación en un lenguaje de programación específico.
A continuación se muestra un algoritmo en pseudocódigo para obtener la suma de 2 números:

1.Inicio
2.Solicitar x, y
3.Calcular Suma=x+y
4.Imprimir Suma
5.Salir


Para seguir leyendo haga clic en la imagen:





EJERCICIOS RESUELTOS Y PROPUESTOS

1. Programa que lee una temperatura en grados centígrados y nos la calcula y nos la escribe en las escalas Reamur, Fahrenheit y Kelvin.
Reamur = Centígrados x 0.8
Fahenheit = Centígrados * 1.8 +32
Kelvin = Centígrados + 273

SOLUCIÓN:

Proceso CONVERSION_DE_TEMPERATURA
Escribir "Introduzca Grados Celsius Para Su Conversión"
LEER a
F<-(a*9/5)+32
K<-a+273.15
R<-a*0.8
escribir "El Resultado de Grados Fahrenheit es " , F ;
escribir "El Resultado de Grados Kelvin es " , K ;
escribir "El Resultado de Grados Reamur es " , R ;
FinProceso


2. Programa que lee dos números enteros, los suma, los resta y muestra el resultado de las dos operaciones.

SOLUCIÓN:

Proceso SUMA_RESTA
Escribir "Introduzca La Primera cantidad"
leer a
Escribir "Introduzca La Segunda cantidad"
leer b
S<-a+b
R<-a-b
escribir "El Resultado de la Suma Es: " , S ;
escribir "El Resultado de la Resta Es: " , R ;
FinProceso




3. Programa que lee tres números enteros y positivos y calcula su producto sacando el resultado en pantalla.

SOLUCIÓN:

Proceso LECTURA_TRES_NUMEROS
Escribir "Introduce el Primer número Entero"
Leer a
Escribir "Introduce el Segundo número Entero"
Leer b
Escribir "Introduce el tercer número Entero"
leer c
V<-(a*b)*c
escribir "El Resultado del Producto es " , v ;
FinProceso


4. Algoritmo que, dado un número entero no negativo que designa un periodo de tiempo expresado en segundos, devuelva el equivalente en días, horas, minutos y segundos.

SOLUCIÓN:

Proceso Conversion_Tiempo
Escribir "Introduce los Segundos a calcular"
Leer a
M<-a*0.0166666666666667
H<-(a*0.0166666666666667)*0.0166666666666667
D<-(a*0.0166666666666667)*0.0166666666666667*0.0416666666666667
S<-a+0
escribir "El Resultado del Minuto es " , M ;
escribir "El Resultado de la Hora es " , H ;
escribir "El Resultado del Dia es " , D ;
escribir "El Resultado del Segundo es " , S ;
FinProceso


5. Algoritmo que dadas dos horas distintas expresadas en hora, minutos y segundos nos calcule la diferencia en segundos entre ambas.

SOLUCIÓN:

Proceso DIFERENCIA_SEGUNDOS
Escribir "Introduce Hora #1"
Leer a
Escribir "Introduce Hora #2"
leer b
Ha1<-a*60
Ha2<-a*1
Ha3<-a*0.0416666666666667
Ha4<-a*3600
Hb1<-b*60
Hb2<-b*1
Hb3<-b*0.0416666666666667
Hb4<-b*3600
Ha4_Hb4<-a*3600-b*3600
Hb4_Ha4<-b*3600-a*3600
escribir "El Resultado de la Hora #1 en Minuto es " , Ha1 ;
escribir "El Resultado de la Hora #1 en Hora es " , Ha2 ;
escribir "El Resultado de la Hora #1 en Dia es " , Ha3 ;
escribir "El Resultado de la Hora #1 en Segundo es " , Ha4 ;
escribir "El Resultado de la Hora #2 Minuto es " , Hb1 ;
escribir "El Resultado de la Hora #2 en Hora es " , Hb2 ;
escribir "El Resultado de la Hora #2 Dia es " , Hb3 ;
escribir "El Resultado de la Hora #2 Segundo es " , Hb4 ;

Escribir "La Diferencia de Segundos de la Hora #1 de la Hora #2 es " , Ha4-Hb4 ;
Escribir "La Diferencia de Segundos de la Hora #2 de la Hora #1 es " , Hb4-Ha4 ;
FinProceso





6. Se posee un monto de dinero de $120, se gasta en supermercado $49,5 y luego en verdulería 12,10. Mostrar el saldo.

SOLUCIÓN:

Proceso gasto
saldo<-120-49.5-12.10;
Escribir "Saldo ",saldo;
FinProceso


Usar este ejercicio para resaltar la necesidad de la utilización de las variables, ya que este ejercicio se ajusta únicamente para los valores constantes consignados.

7. Realizar el pseudocódigo para calcular el 15% de un valor constante.

Proceso 15%
cal<-325*.15;
Escribir "El 15% de 325 es ",cal;
FinProceso



8. Modificar el pseudocódigo anterior para que muestre el 15% de un valor ingresado.

Proceso 15%
Escribir "Ingrese un numero";
Leer n;
cal<-n*.15;
Escribir "El 15% de ",n," es ",cal;
FinProceso


9. Calcular el nuevo salario de un obrero si obtuvo un incremento del 25% sobre su salario anterior.

Proceso sueldo_obrero
Escribir “Ingrese el Sueldo”;
Leer sueldo;
Nuevo<-sueldo*.25+sueldo;
Escribir “El nuevo sueldo es: “,nuevo;
FinProceso




EJERCICIOS PROPUESTOS:

Ejercicio 1: Observa la siguiente secuencia de instrucciones:

1. A = 5
2. B = 7
3. C = 2
4. A = A + B + C
5. B = C / 2
6. A = A / B + A ^ C
7. Imprimir(A)


Ahora responda a las siguientes cuestiones:

a) ¿Qué valor contiene A después de la cuarta instrucción?
b) ¿Qué valor contiene B después de la quinta instrucción?
c) ¿Qué valor contiene A después de la sexta instrucción?
d) ¿Qué valor imprime la última instrucción?
e) Si en lugar de Imprimir(A) hubiésemos escrito Imprimir(“A”) ¿Qué aparecería?

Ejercicio 2: Observe la siguiente secuencia de instrucciones:

1. A = 5
2. B = 7
3. C = 1
4. D = (A == B)
5. E = (A <> B)
6. F = (MOD(B/A) >= C)


Ahora responda a las siguientes cuestiones:

a) ¿Qué valor contiene D después de la cuarta instrucción?
b) ¿Qué valor contiene E después de la quinta instrucción?
c) ¿Qué valor contiene F después de la sexta instrucción?
d) ¿Cuánto valen A, B y C después de la última instrucción?

Ejercicio 3: Observe la siguiente secuencia de instrucciones:

1. leer(A)
2. leer(B)
3. leer(C)
4. D = (A == B)
5. E = (A <> B)
6. F = (MOD(B/A) >= C)


Ahora responda a las siguientes cuestiones: Supongamos que el usuario introduce 3 en A, 4 en B y 5 en C

a) ¿Qué valor contiene D después de la cuarta instrucción?
b) ¿Qué valor contiene E después de la quinta instrucción?
c) ¿Qué valor contiene F después de la sexta instrucción?
d) ¿Cuánto valen A, B y C después de la última instrucción?

Ejercicio 4: Observe la siguiente secuencia de instrucciones:

1. leer (A)
2. resultado = 1
3. mientras (A>1)
4. resultado = resultado * A
5. A = A – 1
6. fin mientras
7. imprimir(resultado)


Ahora responda a las siguientes cuestiones:

a) Si en la primera instrucción se introduce un valor 2 en A ¿Qué valor se imprime?
b) Si en la primera instrucción se introduce un valor 3 en A ¿Qué valor se imprime?
c) Si en la primera instrucción se introduce un valor 4 en A ¿Qué valor se imprime?
d) ¿Qué se está calculando?

Ejercicio 5: Observa la siguiente secuencia de instrucciones:

1. leer (A)
2. Si (A>0)
3. Imprimir (A,’es positivo’)
4. Si no
5. Imprimir (A,’es negativo’)
6. Fin si


a) Describe, instrucción por instrucción, qué se está haciendo con este algoritmo.
b) ¿Qué pasa si A = 5? ¿Y si A = - 100?
c) Escribe otro algoritmo para distinguir múltiplos de 3 y compáralo

Ejercicio 6: Observe la siguiente secuencia de instrucciones:

1. leer (NumeroA)
2. leer (NumeroB)
3. Si (NumeroA < NumeroB)
4. imprimir ("El mayor es:", NumeroB)
5. si-no
6. imprimir ("El mayor es:", NumeroA)
7. fin-si


a) Describe qué se está haciendo con este algoritmo.
b) ¿Qué pasa si NumeroA = 5 y NumeroB = - 100?
c) ¿Qué pasa si NumeroA = 10 y NumeroB = 100?
d) ¿Qué pasa si NumeroA = 10 y NumeroB = 10?

Ejercicio 7: Dibuja los organigramas y diagramas Nassi-Schneiderman de todos los ejercicios anteriores.

Con esto hemos finalizado la clase 3 que trata de los pseudocódigos, espero les haya sido de utilidad y no olvidar realizar los ejercicios, además de los propuestos.
Intente hacer variantes de los mismos.


Hasta la Clase 4...

Con la instalación de la IDE para programar en JAVA, y los primeros pasos.


CLASE 2 <<< IR A >>> CLASE 4