En este grupo En todos

Grupo de Lenguaje C y C++



Ayuda con Pseudocódigo

White
Vargas, Venezuela
Escrito por White Sox
el 31/03/2010

Ayuda con Pseudocódigo para tres ejercicios...


Realizar los siguientes ejercicios en Pseudocódigo.

A:- Escribir un programa que tras pedir 2 números por la pantalla muestra cuál es el mayor número. (Hágase con la sentencia if y con el operador condicional: valor1 : valor2 )

B.- Leer tres números enteros y, si el primero de ellos es negativo, calcular el producto de los tres, en caso contrario calcular la suma de ellos.

C.- . Crear un programa que calcule la caída de potencial producida por una resistencia según la ley de Ohm (V = I * R) a partir de la resistencia y la intensidad que pasa a través de la misma.

Nota: El programa no debe aceptar resistencias negativas, dado que no tienen sentido físico, ni resistencias mayores que 1000 Ω (requerimiento adicional del problema). En ambos casos el programa debe escribir un mensaje de error en pantalla diciendo que el valor de la resistencia está fuera de límites aceptables indicando la causa por la que dicho valor para la resistencia ha sido rechazado.


Jesús Manuel
Técnico superior universitario en info...
Escrito por Jesús Manuel
el 31/03/2010

Te ayudo con el primero que es el más difícil XD....

------------------------------------------------------------------------------------------------------------------------------

//Forma 1 (con #define y operador ternario "? ")


#include <iostream>


#define max(a,b) (a) > (b))? (a) : (b))


Using namespace std;


Int main()

{

int valor1, valor2;


cout << "Introduzca un numero: ";

cin >> valor1;

cout << "Introduzca otro numero: ";

cin >> valor2;


cout << endl << "El mayor es: " << max(valor1, valor2) << endl;


system("PAUSE");

return 0;

}

--------------------------------------------------------------------------------------------------------------------


//Forma 2 (con funciones)



#include <iostream>


Using namespace std;


Int max(int, int);


Int main()

{

int valor1, valor2;


cout << "Introduzca un numero: ";

cin >> valor1;

cout << "Introduzca otro numero: ";

cin >> valor2;


cout << "El mayor es: " << max(valor1, valor2) << endl;


system("PAUSE");

return 0;

}


Int max(int a, int b)

{

if(a > b)

return a;

if(b > a)

return b;

}

-----------------------------------------------------------------------------------------------------------------------


//Forma 3 (con if / else)



#include <iostream>


Using namespace std;


Int main()

{

int valor1, valor2;


cout << "Introduzca un numero: ";

cin >> valor1;

cout << "Introduzca otro numero: ";

cin >> valor2;


if(valor1 > valor2)

cout << "El mayor es: " << valor1 << endl;

else

cout << "El mayor es: " << valor2 << endl;


system("PAUSE");

return 0;

}


------------------------------------------------------------------------------------------------------------------------------


Hay muchas formas de resolverlo, depende de tu creatividad.... ;)


Nota: sería bueno hacer un condicional en caso de que los números sean iguales, pero como el enunciado no dice nada, entonces por eso no lo hice... Recuerda que una de las principales reglas a la hora de resolver cualquier problema es: "limítate a el planteamiento del problema".


Saludos!



Jesús Manuel
Técnico superior universitario en info...
Escrito por Jesús Manuel
el 31/03/2010

//El segundo: (B)


#include <iostream>


Using namespace std;


Int main()

{

int a, b, c;


cout << "1. Introduzca un numero: "; cin >> a;

cout << "2. Introduzca un numero: "; cin >> b;

cout << "3. Introduzca un numero: "; cin >> c;


if(a<0)

cout << endl << "El producto es: " << (a*b*c) << endl;

else

cout << endl << "La suma es: " << (a+b+c) << endl;


system("PAUSE");

return 0;

}

------------------------------------------------------------------------------------------------------------------------------


Igualmente hay varias formas de resolver... Creo que esta es la más simple..

Jesús Manuel
Técnico superior universitario en info...
Escrito por Jesús Manuel
el 31/03/2010

//El tercero (C):


#include <iostream>


Using namespace std;


Int main()

{

int v, i, r;

cout << "Introduzca la intensidad: "; cin >> i;

do

{

cout << "Introduzca la resistencia: "; cin >> r;

if(r<0)

cout << "Le recordamos que la resistencia debe ser un numero positivo! " << endl;

if(r>1000)

cout << "Le recordamos que la resistencia debe ser menor a 1000 Ohm! " << endl;

}while(r<0 || r>1000);


v = i * r;


cout << "\nLa caida de potencial producida por una resistencia segun la ley de \nOhm (V = I * R), es: " << v << endl <<endl;


system("PAUSE");

return 0;

}

White Sox
Vargas, Venezuela
Escrito por White Sox
el 01/04/2010

Muchas gracias Jesús, pero una pregunta te recuerdo que soy nuevo en esto y para ir aprendiendo.

Me podrias explicar para que sirven estas librerias...
#include <iostream>
#define max(a,b) (a) > (b))? (a) : (b))

y esta parte tambien?

Using namespace std;
cout << endl << "El mayor es: " << max(valor1, valor2) << endl;

agracias por tu ayuda man...

David Gomez Aguilar
Lic en computacion universidad de cara...
Escrito por David Gomez Aguilar
el 01/04/2010

#include<stdio. H>

Float valor1,valor2,a,b;

Main( )

{

Printf("ingrese el primer numero");

Scanf("%d",&valor1);

Printf(" ingrese el segundo numero");

Scanf("%d",&valor2);

A=valor1;

B=valor2;

If (valor1==valor2)

{

Printf("son iguales");

Else if (valor1<valor2)

Printf("%f es mayor que %f " ,valor1,valor2);

Else

Printf( "%f es mayor que %f ",valor2, valor1);

// y la parte con el condicional

//suponiendo que siempre sean los dos numeros distintos

Valor1=( Valo1<valor2)? B : a;

Printf("el mayor es %f ",valor1);

}

Espero que te sirva posiacaso este es el primero

David Gomez Aguilar
Lic en computacion universidad de cara...
Escrito por David Gomez Aguilar
el 01/04/2010

Para ayudarte con algo de lo que dudas

Eso #define max(a,b)=(a>b)? A:b;

No es mas que definir una constante mediante #define a la cual se le calculo el mayor entre a y b lo cual es lo que te pidieron hacer lo que no entiendo y le pido a jesus que me esplique es cuando obtuvo los valores de a y b

White Sox
Vargas, Venezuela
Escrito por White Sox
el 02/04/2010

Okey David, por casulaidad no tendras los Pseudocódigo del ejercicio B y C, porque ya que Jesus me mando en programaciónn quiero hacer una comparación para ver en las diferencias de un programa normal y su Pseudocódigo...

Ya a los dos le he dado mi vito de agradecimiento por esta gran ayuda.

Jesús Manuel
Técnico superior universitario en info...
Escrito por Jesús Manuel
el 02/04/2010

Eduardo, el Pseudocódigo es prácticamente leer o escribir el código fuente (algoritmo) con palabras normales, o lenguaje natural... Te muestro como:


//El segundo: (B)


#include <iostream> //incluir librería de flujos de entrada y salida estándar


Using namespace std; //usar el espacio de nombre std


Int main() // función principal

{ //inicio de la función principal

Int a, b, c; //declaración de las variables a; b; c, de tipo entero


Cout << "1. Introduzca un numero: "; //imprimir en pantalla "1. Introduzca un numero: "

Cin >> a; //leer numero y almacenarlo en la variable a

Cout << "2. Introduzca un numero: "; //imprimir en pantalla "2. Introduzca un numero: "

Cin >> b; //leer numero y almacenarlo en la variable b

Cout << "3. Introduzca un numero: "; //imprimir en pantalla "3. Introduzca un numero: "

Cin >> c; //leer numero y almacenarlo en la variable c


If(a<0) // si el valor de la variable "a" es menor a cero, entonces:

Cout << endl << "El producto es: " << (a*b*c) << endl; //imprimir en pantalla: un salto de linea, luego "El producto es: " el producto de a * b * c, y finalmente saltar una linea

Else // de lo contrario

Cout << endl << "La suma es: " << (a+b+c) << endl; //imprimir en pantalla: un salto de linea, luego "La suma es: " el resultado de sumar a + b + c, y finalmente saltar una linea


System("PAUSE"); //pausar y esperar que el usuario presione una tecla para continuar.

Return 0; //retornar cero a la función principal para indicar que todo fue satisfactorio

} // fin de la función principal.


------------------------------------------------------------------------------------------------------------------------------


Puede hacerse un poco mas simple y omitir algunas cosas, ya que según el lenguaje de programación que usemos puede variar el algoritmo, esto si se usa un nivel de abstracción bajo, porque si se hace con un nivel de abstracción alto podría quedar así mas o menos:


(mientras más bajo el nivel de abstracción hay más detalles, mientras es más alto el nivel de abstracción es menos especifico o más generalizado)


INICIO


Imprimir: Introduzca un numero:

Leer "a"

Imprimir: Introduzca un numero:

Leer "b"

Imprimir: Introduzca un numero:

Leer "c"


Si "a" es menor a cero, entonces:

Imprimir: "El producto es: " a * b * c


De lo contrario:

Imprimir: "La suma es: " a + b + c


FIN


------------------------------------------------------------------------------------------------------------------------------


Como te decía, todo depende del punto de vista del analista, no siempre hay una única forma de resolver un problema. Habrán algoritmos más eficientes que otros y al revés, pero todo depende del caso y la implementación, por eso primero se lleva a cabo un análisis, antes de hacer un diseño.


PD: hice unos vídeos para explicarte mas o menos lo que me preguntas y lo que me pregunto David, pero no he tenido tiempo de subirlos, ya que mi velocidad de subida es muy lenta, a ver si esta noche los subo, sino, será para mañana...


Saludos!


(un debate 100% Venezolano ¡Que bueno!... :D )


Héctor Murcia Forero
Ingenieria de sistemas universidad dis...
Escrito por Héctor Murcia Forero
el 02/04/2010

#include <iostream>
using namespace std;

#define max(a, b) (a)>(b)? (a) : (b))

void leeNum(int &, char []);

int main() {
int x=0, y=0;
leeNum(x, "\nIngrese el primer valor: ");
leeNum(y, "\nIngrese el segundo valor: ");
cout << "\n\n El valor mayor es " << max(x, y);
system("pause>nul");
}

void leeNum(int &v, char msg[]) {
cout << msg;
cin v;
}

White Sox
Vargas, Venezuela
Escrito por White Sox
el 03/04/2010

Muchas gracias a todos Jesus, David y Hector; pero que me dicen de este que no entiendo ni papa....

Dada la función U=f(x,y) talque:

10 si x*y<1
{
y2 si x*y>=1

y dadala función V=f(x,y) talque:

1 si x*y<1
{
y2 si x*y>=1

Escribir un programa que calcule los valores de las funciones U y V, una vez conocidas las coordenadas de un punto (x, y)

Jesús Manuel
Técnico superior universitario en info...
Escrito por Jesús Manuel
el 03/04/2010

Hola Eduardo, pues ese ultimo planteamiento casi que ni yo lo entiendo tampoco, porque de verdad que esta bastante confuso y mal elaborado....


Primero, decir que U y V en este caso no son funciones, sino que son variables, la función en tal caso sería F, y el resultado de dicha función (o valor de retorno) es lo que se almacenará en U y V. Ademas que todo lo demás esta muy mal escrito.... :s


Sin embargo, según lo que pude entender aquí te dejo el código para que lo revises...



#include <iostream>


Using namespace std;


Int u(int x, int y) //este nombre de funcion "u" no es recomendado

{

if(x*y < 1) //primer if

return 10;

if(x*y >= 1) //segundo if

return 2;

}


Int v(int x, int y) //este nombre de funcion "v" no es recomendado

{

if(x*y < 1) //primer if

return 1;

if(x*y >= 1) //segundo if

return 2;

}


Int main()

{

//testeando el primer if de las funciones U y V

cout << "Usando U: " << u(-1, 1) << endl;

cout << "Usando V: " << v(0, 1) << endl << endl;


//testeando el segundo if de las funciones U y V

cout << "Usando U: " << u(1, 1) << endl;

cout << "Usando V: " << v(1, 1) << endl;


system("PAUSE");

return 0;

}


-----------------------------------------------------------------------------------------------------------------------------


PD: ya subí 2 de los tres vídeos que hice, pero no he tenido tiempo de meterlos aquí en emagister... Mañana subo el tercero y les paso los enlaces.


Saludos!




Jesús Manuel
Técnico superior universitario en info...
Escrito por Jesús Manuel
el 04/04/2010


Hola que tal, ya por fin termine de subir los vídeos en donde trato de explicar las preguntas que me plantearon, espero que les sean de utilidad y que entiendan lo que trato de explicar, jeje, porque no soy muy bueno explicando... De todas maneras cualquier duda, queja, sugerencia o agradecimiento (en tal caso, darle a la manito de agradecimiento) serán bien recibidos todos...


Estos son los enlaces:


Explicando Ejercicios C++ Part.1
Explicando Ejercicios C++ Part. 2/2
Explicando iostream y cout C++
Explicando cout y cin en C++
Explicando using namespace en C++ Part. 1/2
Explicando using namespace en C++ Part. 2/2

Espero de verdad que sirva de algo mi aporte...

Saludos, Suerte y Éxitos!

PD: existen unos pequeños errores y detalles en la narración (en algunas cosas que digo) ya que estaba todo liado... Pero nada muy malo, por eso lo deje así, ya que me pareció muy fastidioso volver a grabar todo el vídeo de nuevo... Gracias y disculpen...



White Sox
Vargas, Venezuela
Escrito por White Sox
el 04/04/2010

Oye man estan fino te votaste con esos videos...

Jesús Manuel
Técnico superior universitario en info...
Escrito por Jesús Manuel
el 05/04/2010

:D... Gracias.. Me alegra saber que te sirvieron de algo... Yo los subí, pensando en que me habían quedado muy malos... :s


Gracias!

Escrito por Jhemis Martin Maximiliano
el 07/04/2010

Kiero un pagina donder pueda encontrar mas ejercicios de pseudocodigo y diagrama de flujo

Escrito por Marco Samuel Manosalva Montes
el 11/06/2010

Oe jesus eri una maquina...

Escrito por Fredy Centellas Perez
el 24/11/2011

Como resuelvo estos programas:

1. - Escriba un programa tal que dados como datos N numeros, obtenga el numero de ceros que hay entre estos numeros.

2. - Escriba un programa, tal que dado un grupo de nuemros positivos, calcule e imprima el cubo de estos numeros.

3. - Escriba un programa tal, que dados como datos 720 numeros enteros, obtenga la suma de los numeros impares y el promedio de los numeros pares.

4. - Calcule el aumento de sueldo para un grupo de empleados de una empresa, teniendo en cuenta el siguiente criterio:

Si el sueldo es inferior a s/. 1000 : aumento 15%

Si el sueldo es mayor o igual a s/. 1000 : aumento 12%

Porfa lo necesito para aprender



Aberlay Perez Perez
Chiapas, México
Escrito por Aberlay Perez Perez
el 04/03/2012

Oye necesito un a ayuda urgente

Aberlay Perez Perez
Chiapas, México
Escrito por Aberlay Perez Perez
el 04/03/2012

Ola ola