ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Pseudocodigo Y Codigo C


Enviado por   •  21 de Agosto de 2012  •  2.976 Palabras (12 Páginas)  •  646 Visitas

Página 1 de 12

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

...

Descargar como (para miembros actualizados) txt (9 Kb)
Leer 11 páginas más »
Disponible sólo en Clubensayos.com