GUIA DE EJERCICIOS DE PROGRAMACIÓN

Anuncio
GUIA DE EJERCICIOS DE PROGRAMACIÓN
En esta guía usted debe desarrollar cada uno de los ejercicios utilizando instrucciones de:
Asignación
Leer
Escribir
Si …entonces…sino…finsi
Se recomienda utilizar la ayuda de PSEINT para recordar la estructura y significado de cada una de
ellas. Además revise cuidadosamente las FUNCIONES del pseudolenguaje que se indican a
continuación:
Función
Significado
RC(X)
Raíz Cuadrada de X
ABS(X)
LN(X)
EXP(X)
SEN(X)
COS(X)
TAN(X)
ASEN(X)
ACOS(X)
ATAN(X)
TRUNC(X)
REDON(X)
AZAR(X)
Valor Absoluto de X
Logaritmo Natural de X
Función Exponencial de X
Seno de X
Coseno de X
Tangente de X
Arcoseno de X
Arcocoseno de X
Arcotangente de X
Parte entera de X
Entero más cercano a X
Entero aleatorio entre 0 y x-1
No es menos importante manejar adecuadamente los OPERADORES que tiene esta notación:
OPERADOR SIGNIFICADO
>
<
=
<=
>=
<>
&óY
│ óO
῀ ó NO
+
*
/
̂
% ó MOD
1
Mayor que
Menor que
igual
Menor igual que
Mayor igual que
Distinto que
Conjunción
Disyunción
Negación
Suma
Resta
Multiplicación
División
Potenciación
Módulo (resto de la división entre enteros)
Computación para Ingeniería
TIPO OPERADOR
RELACIONALES
LÓGICOS
ALGEBRAICOS
El pseudolenguaje, PSEINT, será utilizado como una notación para escribir algoritmos; por esta
razón, usted deberá ser capaz de escribir la resolución de problemas sin que sea absolutamente
necesario usar un computador. La dinámica que se espera es que usted desarrolle la solución en
papel y después, sólo para corroborar la efectividad, la pruebe ingresando cada una de las
instrucciones en el ambiente PSEINT.
La evaluación de los conocimientos adquiridos se hará en una prueba escrita SIN uso de
computador.
En primera instancia desarrollaremos ejercicios simples documentándolos1 extensamente.
Proceso prueba_entero
// El objetivo de este algoritmo es comprobar si un valor ingresado por un usuario es entero o fraccionario
Escribir “ingrese un valor”
Leer numero
//Es importante que siempre coloquemos un escribir antes de un leer para que el usuario sepa que debe ingresar
Si numero = trunc(numero)
Entonces
Escribir “el valor ingresado es entero”
Sino
Escribir “el valor ingresado es fraccionario”
Finsi
Finproceso
Comentarios:
 Es MUY IMPORTANTE escribir indentadamente de forma de visualizar fácilmente el
ámbito de acción de cada instrucción. No volveremos a insistir en este tema, por eso lo
colocamos en negrita.
 La acción que ejecuta el computador con la instrucción ESCRIBIR es mostrar en la pantalla
lo que hemos escrito entre comillas (también pueden usarse apóstrofes). En el caso que
se coloque algún nombre de variable, nos mostrará el valor que ella tiene asignado.
 La acción del LEER es efectuar la asignación del valor ingresado al nombre de la variable
registrada. Supongamos que el usuario ingresa 3.5 y presiona ENTER; en la memoria del
computador se registra que NUMERO tiene asignado el valor 3.5
 Si se ingresó el valor 3.5, el resultado de trunc(3.5) es 3. Lo anterior implica que la
condición lógica al ser evaluada (numero = trunc(numero)) da como resultado FALSO por
lo que se escribirá: el valor ingresado es fraccionario.
 Es recomendable que usted “rutee”2 el algoritmo ingresando otros valores.
 Recordemos que en el SI sólo se ejecutan las acciones que están entre el ENTONCES y el
SINO si y sólo si la evaluación de la condición lógica es VERDADERA. También podemos
utilizar un SI sin utilizar la opción SINO, pero sería un tanto grosero no dar mensaje alguno
1
Utilizaremos la notación con que PSEINT reconoce los comentarios, es decir, comenzaremos esas
instrucciones con //
2
Haga la labor del computador escribiendo el resultado que debe entregar
2
Computación para Ingeniería
si el valor ingresado no era entero. En el caso de usar un SI sin SINO, la estructura es: SI …
ENTONCES … FINSI.
Proceso prueba_par
// El objetivo de este algoritmo es comprobar si un valor ingresado por un usuario es par o impar
Escribir “ingrese un numero”
Leer valor
//Es importante que siempre coloquemos un escribir antes de un leer para que el usuario sepa que debe ingresar
Si valor / 2 = trunc(valor/2)
Entonces
Escribir “el numero ingresado es par”
Sino
Escribir “el numero ingresado no es par”
Finsi
Finproceso
Comentarios:
 ¿Será o no necesario comprobar primero si el valor ingresado es o no fraccionario?
 ¿Será o no necesario comprobar primero si el valor ingresado es o no positivo?
 ¿Cuáles serán los resultados al ingresar los siguientes valores( y solicitar la ejecución del
programa con cada uno de ellos): 5 4 3.2 0 -2,5?
 ¿Qué cambio(s) habría que hacer si utilizamos la función MOD (ó %)?
 ¿Qué cambio(s) habría que hacer si deseamos saber si es múltiplo de 3?
 ¿Qué cambio(s) habría que hacer si deseamos saber si es múltiplo de otro valor que
ingresemos?
Proceso prueba_tipovalor
// El objetivo de este algoritmo es comprobar si un valor ingresado por un usuario es positivo, negativo o cero
Escribir “ingrese un numero”
Leer valor
//Es importante que siempre coloquemos un escribir antes de un leer para que el usuario sepa que debe ingresar
Si valor > 0
Entonces
Escribir “el numero ingresado es positivo”
Sino
Si valor < 0
entonces
Escribir “el numero ingresado es negativo”
Sino
Escribir “usted ingreso un cero”
Finsi
Finsi
Finproceso
3
Computación para Ingeniería
Comentarios:
 Vemos que puede ir un SI dentro de otro SI3, por esa razón encontramos dos FINSI.
 ¿Si utilizamos sólo SI … ENTONCES … FINSI, cómo cambiaría el algoritmo?
 ¿Qué pasa si accidentalmente ingresamos una letra en vez de un número?
3
De hecho, pueden haber varios
4
Computación para Ingeniería
Descargar