Pseudocodigo Y Codigo C
Enviado por alexisezequiel • 21 de Agosto de 2012 • 2.976 Palabras (12 Páginas) • 685 Visitas
Introducción
En este trabajo práctico se desarrollarán las soluciones de los ejercicios 21,79 (implementando el ejercicio 77,78,79) y el ejercicio 107, de la ejercitación número 2 (ejercicios de programación en lenguaje C).
Estas soluciones estarán dadas tanto en pseudocódigo como en código C. También se detallarán los problemas hallados durante la resoluciones y también las soluciones encontradas a dichos problemas.
Ejercicio 21.
Hacer un programa que, dada una operación (+, -, *, /) y dos números decimales realice la operación indicada con ellos y muestre su resultado.
Solución en pseudocódigo
Inicio
Leer(operador)
Leer(numero1)
Leer(numero2)
Si(operador== '+' )
resultado=(numero1+numero2)
printf("El resultado es",resultado)
FinSi
Si(operador== '-' )
resultado=(numero1-numero2)
Imprimir("El resultado es",resultado)
FinSi
Si(operador== '*' )
resultado=(numero1*numero2)
Imprimir("El resultado es”,resultado)
FinSi
Si(operador== '/' )
Si(numero2==0)
Imprimir("error división por 0”)
Imprimir(“el resultado es:9999999")
FinSi
SiNo
resultado=(numero1/numero2)
Imprimir("El resultado es",resultado)
FinSino
FinSi
Fin
Solución en código C
#include<stdio.h>
void main()
{
float numero1;
float numero2;
float resultado;
char operador;
printf("Ingrese caracter: ");
scanf("%c",&operador);
printf("Ingrese numero 1: ");
scanf("%f",&numero1);
printf("Ingrese numero 2: ");
scanf("%f",&numero2);
if (operador=='+')
{
resultado=(numero1+numero2);
printf("El resultado es %.3f\n",resultado);
}
if(operador=='-')
{
resultado=(numero1-numero2);
printf("El resultado es %.3f\n",resultado);
}
if(operador=='*')
{
resultado=(numero1*numero2);
printf("El resultado es %.3f\n",resultado);
}
if(operador=='/')
{
if(numero2==0)
{
printf("error división por 0\n El resultado es 9999999");
}
else
{
resultado=(numero1/numero2);
printf("El resultado es %.3f\n",resultado);
}
}
}
Problemas en la resolución y su solución
Uno de los problemas surgidos en la resolución de este ejercicio fue cuando se ingresaba el operador dentro de la sentencia de decisión.
ej: if(operador=='-')
Si en lugar de colocar comillas simples(' ') se colocaban comillas dobles(“ ”), en el momento de la compilación no era aceptada por que el compilador encontraba que no era una comparación válida. Su solución fue cambiar las comillas.
Otro problema hallado fue la de realizar una división por 0(cero) ya que su resultado es infinito, por lo tanto de alguna manera era necesario hacerle saber al usuario de este error. La solución encontrada para este problema fue de cuando se ingresaba dicho caso, comunicar a través de un cartel que ese era un error y mostrando un resultado exagerado para que el usuario se de cuenta de ello.
Ejemplo:("error división por 0 El resultado es 9999999");
Ejercicio79(implementando el 77 y78)
77. Se ingresa la edad de 10 personas. Mostrar el promedio y la suma de las edades. Si el usuario ingresa -1 antes de ingresar las 10 edades el programa finaliza y muestra los datos pedidos (utilizar la sentencia break).
78. Repetir el ejercicio anterior mostrando además la edad máxima y mínima.
79. Repetir el ejercicio anterior mostrando además, cuántas personas tienen entre 10 y 20 años.
Solución en pseudocódigo
Inicio
totaledad=0
cantedad=0
promedio
edadmax=0
edadmin=999
cant10y20=0
Para i=1 hasta 10 incrementar 1
Leer(edad)
Si(edad!=-1)
totaledad=totaledad+edad
cantedad=cantedad+1
promedio=totaledad/cantedad
Si(edad<edadmin)
edadmin=edad
FinSi
Si(edad>edadmax)
edadmax=edad
FinSi
...