Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - Pandemia

Páginas: 1 2 3 [4] 5 6 7 8
61
Buenas noches dejo una posible solución al ejercicio CU00636B del taller de programación en lenguaje Java para dummies.

Código: [Seleccionar]
/**
Ejercicio CU00636B del curso de Java desde cero de Aprenderaprogramar.com
 */
public class Rueda
{
    private String Tipo; // Tipo de cada rueda
    private double Grosor; // Grosor de cada rueda
    private double Diametro; // Diametro de cada rueda
    private String Marca; // Marca de cada rueda

    //Constructor.
    public Rueda (){
        Tipo = "";
        Grosor = 0;
        Diametro = 0;
        Marca = "";
    }//Cierre del constructor

    //Métodos
    public void setTipo (String valorTipo){
        Tipo = valorTipo;
    }//cierre del método

    public void setGrosor (double valorGrosor){
        Grosor = valorGrosor;
    }//cierre del método

    public void setDiametro (double valorDiametro){
        Diametro = valorDiametro;
    }//cierre del método

    public void setMarca (String valorMarca){
        Marca = valorMarca;
    }//cierre del método

    public String getTipo (){return Tipo;}//cierre del método

    public double getGrosor (){return Grosor;}//cierre del método

    public double getDiametro (){return Diametro;}//cierre del método

    public String getMarca (){return Marca;}//cierre del método

    //Método para comprobar medidas de ruedas.
    public void ComprobarDimensiones (){
        if(Diametro > 1.4){
            System.out.println("La rueda es para un vehículo grande");
        }
        else if (Diametro > 0.8 && Diametro <= 1.4){
            System.out.println("La rueda es para un vehiculo mediano");
        }
        else{
            System.out.println("La rueda es para un vehículo pequeno");
        }
        if((Diametro > 1.4 && Grosor < 0.4) || (Diametro <= 1.4 && Diametro > 0.8 && Grosor < 0.25)){
            System.out.println("El grosor para esta rueda es inferior al recomendado.");
        }
        //cierre del método

    }
}//Cierre de la clase

Saludos y gracias por vuestro tiempo...  :D

62
Buenas amigos os dejo una posible solución al ejercicio CU00364B del curso básico de programación en lenguaje Java.

EJERCICIO

Dadas las variables de tipo int con valores A = 5, B = 3, C = -12 indicar si la evaluación de estas expresiones daría como resultado verdadero o falso:

a) A > 3 ==> VERDADERO                                               
b) A > C ==> VERDADERO                                         
c) A < C ==> FALSO
d) B < C ==> FALSO
e) B != C ==> VERDADERO
f) A == 3 ==> FALSO
g) A * B == 15 ==> VERDADERO
h) A * B == -30 ==> FALSO
i) C / B < A  ==> VERDADERO
j) C / B == -10 ==> FALSO
k) C / B == -4  ==> VERDADERO
l) A + B + C == 5  ==> FALSO
m) (A+B == 8 ) && (A-B == 2) ==> VERDADERO
n) (A+B == 8 ) || (A-B == 6) ==> VERDADERO
o) A > 3 && B > 3 && C < 3 ==> FALSO
p) A > 3 && B >= 3 && C < -3 ==> VERDADERO

Saludos y gracias por vuestro tiempo. :D

63
Buenas noches amigos os dejo una posible solución al ejercicio CU00633B del tutorial básico de programación en lenguaje Java.

Código: [Seleccionar]
public class Medico
{
    private String Nombre;
    private String Apellidos;
    private int Edad;
    private boolean Casado;
    private String NumeroDocumentoIdentidad;
    private String Especialidad;
   

    //Constructor
    public Medico (){
        Nombre = "";
        Apellidos = "";
        Edad = 0;
        Casado = false;
        NumeroDocumentoIdentidad = "";
        Especialidad = "";
    }//cierre del método
    //Métodos
    public void setNombre (String valorNombre){
        Nombre = valorNombre;
        System.out.println ("Ha cambiado el nombre del médico " + Nombre + ". El nuevo nombre es " + Nombre + ".");
    }//cierre del método
    public void setApellidos (String valorApellidos){
        Apellidos = valorApellidos;
        System.out.println ("Ha cambiado los apellidos del médico " + Apellidos + ". Los nuevos apellidos son " + Apellidos + ".");
    }//cierre del método
    public void setEdad (int valorEdad){
        Edad = valorEdad;
        System.out.println ("Ha cambiado la edad del médico de nombre " + Nombre + ". La nueva edad es " + Edad + "años.");
    }//cierre del método
    public void setCasado (boolean valorCasado){
        String dimeCasado = "";

        Casado = valorCasado;
         if(Casado == true){dimeCasado = "Casado";} else {dimeCasado = "soltero";}
        System.out.println ("Estado civil del médico de nombre es: " + Nombre + ". El nuevo estado civil es: " + dimeCasado + ".");
    }//cierre del método
    public void setNumeroDocumentoIdentidad (String valorNumeroDocumentoIdentidad){
        NumeroDocumentoIdentidad = valorNumeroDocumentoIdentidad;
        System.out.println ("Ha cambiado el DNI del médico de nombre " + Nombre + ". El nuevo número de DNI es: " + NumeroDocumentoIdentidad + ".");
    }//cierre del método
    public void setEspecialidad (String valorEspecialidad){
        Especialidad = valorEspecialidad;
        System.out.println ("Ha cambiado la especialidad el médico de nombre " + Nombre + ". La nuena especialidad es: " + Especialidad + ".");
    }//cierre del método
   
    public String getNombre() {return Nombre;}//cierre del método
    public String getApellidos() {return Apellidos;}//cierre del método
    public int getEdad() {return Edad;}//cierre del método
    public boolean getCasado() {return Casado;}//cierre del método
    public String getNumeroDocumentoIdentidad() {return NumeroDocumentoIdentidad;}//cierre del método
    public String getEspecialidad() {return Especialidad;}//cierre del método
   
    public void CalculoParaMultiploEdad(){
       int MultiploEdad;
       MultiploEdad = Edad % 5;
       MultiploEdad = 5 - MultiploEdad;
       System.out.println("El médico de nombre: " + Nombre + " " + Apellidos + " con especialidad " + Especialidad + ". Tendrá una edad múltiplo de cinco dentro de " + MultiploEdad + " anios.");
    }//cierre del método
}//Cierre de la clase


Saludos y gracias por vuestro tiempo y colaboración.....

64
Buenas noches aquí dejo una posible solución al ejercicio CU00632B del curso Aprenda  a programar en Java como si estuviera en primero.

Código: [Seleccionar]
/**
Ejercicio CU00632B
 */
public class Medico
{
    private String nombre;
    private String apellidos;
    private int edad;
    private boolean casado;
    private String numeroDocumentoIdentidad;
    private String especialidad;

    //Constructor
    public Medico (){
        nombre = "";
        apellidos = "";
        edad = 0;
        casado = false;
        numeroDocumentoIdentidad = "";
        especialidad = "";
    }//cierre del método
    //Métodos
    public void setnombre (String valornombre){
        nombre = valornombre;
        System.out.println ("Ha cambiado el nombre del médico" + nombre + ". El nuevo nombre es " + nombre + ".");
    }//cierre del método
    public void setapellidos (String valorapellidos){
        apellidos = valorapellidos;
        System.out.println ("Ha cambiado los apellidos del médico " + apellidos + ". Los nuevos apellidos son " + apellidos + ".");
    }//cierre del método
    public void setedad (int valoredad){
        edad = valoredad;
        System.out.println ("Ha cambiado la edad del médico de nombre" + nombre + ". La nueva edad es " + edad + "años.");
    }//cierre del método
    public void setcasado (boolean valorcasado){
        String dimeCasado = "";

        casado = valorcasado;
         if(casado == true){dimeCasado = "casado";} else {dimeCasado = "soltero";}
        System.out.println ("Estado civil del médico de nombre es: " + nombre + ". El nuevo estado civil es: " + dimeCasado + ".");
    }//cierre del método
    public void setnumeroDocumentoIdentidad (String valornumeroDocumentoIdentidad){
        numeroDocumentoIdentidad = valornumeroDocumentoIdentidad;
        System.out.println ("Ha cambiado el DNI del médico de nombre " + nombre + ". El nuevo número de DNI es: " + numeroDocumentoIdentidad + ".");
    }//cierre del método
    public void setespecialidad (String valorespecialidad){
        especialidad = valorespecialidad;
        System.out.println ("Ha cambiado la especialidad el médico de nombre " + nombre + ". La nuena especialidad es: " + especialidad + ".");
    }//cierre del método

    public String getnombre() {return nombre;}//cierre del método
    public String getapellidos() {return apellidos;}//cierre del método
    public int getedad() {return edad;}//cierre del método
    public boolean getcasado() {return casado;}//cierre del método
    public String getnumeroDocumentoIdentidad() {return numeroDocumentoIdentidad;}//cierre del método
    public String getespecialidad() {return especialidad;}//cierre del método
}//Cierre de la clase


Saludos y gracias por vuestro tiempo... :D

65
Buenas noches amigos os dejo una posible solución al ejercicio CU00630B.

Citar
EJERCICIO

Considera estás desarrollando un programa Java donde necesitas trabajar con objetos de tipo DiscoMusical. Define las signaturas para métodos dentro dicha clase e indica si deberán ser procedimientos o funciones para los siguientes objetivos planteados:

1) Obtener la duración de una canción expresada como un número decimal en minutos (por ejemplo podría ser 3,22 minutos) recibiendo como dato el número de canción dentro del disco.

2) Pedir a un administrador de una compañía discográfica que introduzca la duración de todas las canciones (dichas duraciones se almacenarán como información del objeto). Es decir, el método se encargará de saludar al usuario y pedirle que vaya introduciendo una por una la duración de las canciones.

3) Obtener la duración del disco completo (suma de las duraciones de cada una de las canciones).

4) Añadir una canción al disco recibiendo como información para ello el título de la canción y su duración (se añadirá como última canción en el disco. Si el disco tenía por ejemplo 10 canciones, al añadirse una canción pasará a tener 11).

Esquema clase DiscoMusical.

clase DiscoMusical.

*Constructor DiscoMusical.
1. Función public float duracionNuevaCancion ( int valorduracionNuevaCancion )
2. Procedimiento public void saludarYPedirCancionesConLaDuracion ( )
3. Función pubic  float duracionTodasLasCanciones ()
4. Procedimiento public void añadirNuevaCancion ( String tituloNuevaCancion, float minutosNuevaCancion )

Saludos y gracias por vuestro tiempo.             

66
Buenas noches amigos dejo una posible solución al ejercicio CU00624B del curso de java dese cero.

Citar
EJERCICIO

Considera estás desarrollando un programa Java donde necesitas trabajar con objetos de tipo DiscoMusical. Define una clase DiscoMusical análoga a la que hemos visto para taxis, pero en este caso considerando los siguientes atributos de clase: titulo (String), autor (String), añoEdicion (int), formato (String), digital (boolean). Define un constructor y los métodos para poder establecer y obtener los valores de los atributos. Compila el código para comprobar que no presenta errores. Crea un objeto y comprueba sus métodos como hemos hecho con los objetos Taxi. Para comprobar la corrección de tu solución puedes consultar en los foros aprenderaprogramar.com.

 

Código: [Seleccionar]

/*Ejercicio DiscoMusical CU00624B*/
public class DiscoMusical
{
   private String titulo;
   private String autor;
   private int añoEdicion;
   private String formato;
   private boolean digital;
   
   //Constructor
   public DiscoMusical(){
       titulo = "";
       autor = "";
       añoEdicion = 0;
       formato = "";
       digital = false;
    }//Cierre del constructor
   
    public void settitulo (String valortitulo){
        titulo = valortitulo;
    }//Cierre del método
    public void setautor (String valorautor){
        autor = valorautor;
    }//Cierre del método
    public void setañoEdicion (int valorañoEdicion){
        añoEdicion = valorañoEdicion;
    }//Cierre del método
    public void setformato (String valorformato){
        formato = valorformato;
    }//Cierre del método
    public void setdigital (boolean valordigital){
        digital = valordigital;
    }//Cierre del método
   
    public String gettitulo (){ return titulo; } //Cierre del método
    public String getautor () { return autor; } //Cierre del método
    public int getañoEdicion  () { return añoEdicion; } //Cierre del método
    public String getformato () { return formato; } //Cierre del método
    public boolean getdigital () { return digital; } //Cierre del método
}//Cierre de la clase


Saludos y gracias por vuestro tiempo.... :D

67
Buenas noches amigos aquí os dejo una posible solución al ejercicio CU00623B del manual de programación en lenguaje Java para no expertos.


Citar
EJERCICIO

Considera estás desarrollando un programa Java donde necesitas trabajar con objetos de tipo Persona. Define una clase Persona análoga a la que hemos visto para taxis, pero en este caso considerando los siguientes atributos de clase: nombre (String), apellidos (String), edad (int), casado (boolean), numeroDocumentoIdentidad (String). Define un constructor y los métodos para poder establecer y obtener los valores de los atributos. Compila el código para comprobar que no presenta errores. Para comprobar la corrección de tu solución puedes consultar en los foros aprenderaprogramar.com.

 

Código: [Seleccionar]
/*Ejercicio persona aprenderaprogramar.com CU00623B*/
//Esta clase representa una persona
public class Persona //Nombre de la clase
{
    private String nombre;// Nombre de cada objeto persona
    private String apellidos;// Apellidos de cada objeto persona
    private int edad;// Edad de cada objeto persona
    private boolean casado;// Casado ( verdadero o falso (si/no)) de cada objeto persona
    private String numeroDocumentoidentidad;// DNI de cada objeto persona

    //Constructor
    public Persona (){
        nombre = "";
        apellidos = "";
        edad = 0;
        casado = false;//si se encuentra casada la persona o no
        numeroDocumentoidentidad = "";
    }//Cierre del constructor

    //Método para establecer el nombre de una persona
    public void setnombre (String valornombre){
        nombre = "nombre" + valornombre; //El nombre del objeto persona adquiere el valor que contenga valornombre
    }//cierre del método
    //Método para establecer los apellidos de una persona
    public void setapellidos (String valorapellidos){
        apellidos = "apellidos" + valorapellidos;// los apellidos del objeto persona adquiere el valor que contenga valorapellidos
    }//cierre del método
    //Método para establecer los edad de una persona
    public void setedad (int valoredad){
        edad = valoredad;//la edad del objeto persona adquiere el valor que contenga valoredad
    }//Cierre del método
    //Método para establecer si una persona esta casada
    public void setcasado (boolean valorcasado){
        casado = valorcasado;// sabemos si el objeto persona está casado
    }//Cierre del método
    //Método para establecer el numeroDocumentoidentidad de una persona
    public void setnumeroDocumentoidentidad (String valornumeroDocumentoidentidad){
        numeroDocumentoidentidad = valornumeroDocumentoidentidad;// DNI del objeto persona adquiere el valor que contenga numeroDocumentoidentidad
    }//Cierre del método
   
    //Método para obtener el nombre del objeto persona
    public String getnombre (){ return nombre; } //Cierre del método
    //Método para obtener los apellidos del objeto persona
    public String getapellidos () { return apellidos; } //Cierre del método
    //Método para obtener la edad del objeto persona
    public int getedad () { return edad; } //Cierre del método
    //Método para obtener si el  objeto persona está casado
    public boolean getcasado () { return casado; } //Cierre del método
    //Método para obtener el numeroDocumentoidentidad del objeto persona
    public String getnumeroDocumentoidentidad () { return numeroDocumentoidentidad; } //Cierre del método
}//Cierre de la clase

Saludos y gracias por vuestro tiempo.... :D

68
Buenas tardes amigos aquí os dejo una posible solución al ejercicio CU00619B del manual de programación en Java desde cero.

Citar
EJERCICIO

Considera que queremos representar mediante un programa Java los aviones que operan en un aeropuerto. Crea un esquema análogo al que hemos visto para vehículos, pero en este caso para aviones. Define cuáles podrían ser las clases y cuáles podrían ser algunos objetos de una clase. Para comprobar la corrección de tu solución puedes consultar en los foros aprenderaprogramar.com.

 

Superclases

- Aviones

Clases

- Avión comercial
- Avión de carga
- Aviones militares

Objejos

Aviones comerciales ==>   * Airbus A380
                                        * Boeing 747
                                        * Airbus A340
                                        * Boeing 777

Propiedades

- ID (identificación)
- Asientos
- Compañía
- Ruta

Objeto

- Avión comercial
- ID *Airbus A380
- Asientos 250
- Compañía Iberia
- Ruta Barcelona - Cuba.


Saludos y Gracias por vuestro tiempo. :D

69
Buenas noches amigos os dejo una posible solución al ejercicio CU00553F del curso Aprende a programar en C desde cero....

EJERCICIO
Citar

a) Busca información sobre qué es un struct en programación C. Explica el concepto tratando de poner un ejemplo de la vida real de algo que pueda ser similar a un struct en programación.


struc: es el nombre reservado que le indica al compilador que se va a definir una estructura.

  Bueno, la función de una estructura es agilizar y ordenar un poco mas todos los datos a la hora de resolver un problema, es muy útil cuando vas a usar muchas variables y de esta manera se trabaja mucho mas ordenado ya que puedes clasificar todas las variables en diferentes grupos y trabajar mas cómodamente. A la hora de usar un vector o un arreglo, es mucho mas fácil usar una estructura.

Una definición mas completa seria:
Una estructura es un conjunto de datos, posiblemente de tipos diferentes, agrupadas bajo un mismo nombre, para hacer más eficiente su manejo.

Las estructuras ayudan a organizar datos complicados, particularmente en programas grandes, ya que permiten tratar como una unidad a un conjunto de variables relacionadas, en lugar de tratarlas como entidades independientes.

Un buen criterio de uso de estructuras establece que la definición de una estructura debe ir acompañada por la definición de un conjunto de funciones que se encargan de realizar la manipulación directa de la nueva entidad creada.

Un ejemplo seria:

struct reloj{
int horas;
permitiránt minutos;
hacia int segundos;
}: //fin de estructura

Por poner un ejemplo en la vida real, podría ser tener una tienda con tu propia marca, que vendría a ser el nombre del struc o estructura y los objetos que vendes las variables   



Citar
b) Busca información sobre qué es un puntero en programación. Explica el concepto tratando de poner un ejemplo de la vida real de algo que pueda ser similar a un puntero en programación.

Un puntero es una variable que contiene la dirección de memoria de un dato o de otra variable que contiene al dato en un arreglo. Ésto quiere decir, que el puntero apunta al espacio físico donde está el dato o la variable. Un puntero puede apuntar a un objeto de cualquier tipo, como por ejemplo, a una estructura o una función. Los punteros se pueden utilizar para referencia y manipular estructuras de datos, para referenciar bloques de memoria asignados dinamicamente y para proveer el paso de argumentos por referencias en las llamadas a funciones.

Muchas de las funciones estandares de C, trabajan con punteros, como es el caso del scanf o strcpy. Estas reciben o devuelve un valor que es un puntero. Por Ej. A scanf se le pasa la dirección de memoria del dato a leer (esto es un puntero)...

char *a;
scanf ("%c",a);

Para explicar lo que sería en la vida  real un puntero,  si tienes un barco , pero lo tienes en el remolque del coche, hasta que no lo pongas en el agua no podrás disfrutar de el, es decir apuntará al agua.

Quisiera agradecer a todo el  mundo que me ha ayudado a realizar este curso ya sea mediante consejos, corrección de ejercicios y demás y por el tiempo y la paciencia que me habéis  dedicado. Sin vosotros no habría sido posible.....

MIL GRACIAS Y NOS VEMOS EN EL SIGUIENTE CURSO.
Y por supuesto ayudaré a los demás en la medida que sea posible, gracias de nuevo....

Saludos  :D 

70
Buenas noches amigos aquí os dejo una posible solución al ejercicio CU00552F.

Citar
EJERCICIO

Reescribe el programa anterior para que todas las funciones tengan un tipo de retorno y que los mensajes no sean mostrados por las distintas funciones, sino que la muestra de mensajes sea realizada exclusivamente por la función main. Esto se corresponde con reorganizar o reescribir un código para mejorarlo, y a esto se le suele denominar “refactorización del código”.

 

Código: [Seleccionar]
//Programa cálculos con impares02
#include <stdio.h>
#include <stdlib.h>

#define NMAX 19
int obtenerValorParaCalculo(); void resolverSumatorio (int numeroItemsSum);
void resolverProducto (int numeroItemsProd);

int main() {
    int valorParaCalculo=0;    int opcionUsuario = 1;
    while (opcionUsuario!=4) {
        printf("\n\n1: Introducir valor\n2: Calcular serie 1+3+5...\n");
        printf("3: Calcular serie 1*3*5...\n4: Salir\n\nElija opcion: ");
        scanf("%d", &opcionUsuario);
        if (opcionUsuario==1) {
            valorParaCalculo =  obtenerValorParaCalculo();
        }

        if (opcionUsuario==2) {
            if (valorParaCalculo!=0) {
                resolverSumatorio(valorParaCalculo);
            } else {
                printf("No hay un valor para calculo que permita obtener sumatorio 1+3+5+...");
            }
        }

        if (opcionUsuario==3) {
            if (valorParaCalculo!=0) {
                resolverProducto(valorParaCalculo);
            } else {
                printf("No hay un valor para calculo que permita obtener resultado 1*3*5*...");
            }
        }
    }
    return 0;
}


int obtenerValorParaCalculo() {
    int imparElegido = 0;
    do {
        printf("\nPor favor introduzca numero entero impar entre 1 y 19: ");
        scanf("%d", &imparElegido);
    } while (imparElegido<=0 || imparElegido>NMAX ||imparElegido%2==0);
    return imparElegido; // Ejercicios resueltos de programación aprenderaprogramar.com
}

void resolverSumatorio (int valorCalculoSum) {
    int impar = -1;      long resultadoSum =0;
    do {
        impar = impar + 2;
        resultadoSum = resultadoSum + impar;
    } while (impar < valorCalculoSum);
    printf("n = %d El valor del sumatorio es: %ld", valorCalculoSum, resultadoSum);
}

void resolverProducto (int valorCalculoProd) {
    int impar = -1;     long resultadoProd = 1;
    do {
        impar = impar + 2;
        resultadoProd = resultadoProd * impar;
    } while (impar < valorCalculoProd);
    printf("n = %d El valor del producto es: %ld", valorCalculoProd, resultadoProd);
}

Solución

Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>

#define NMAX 19
int obtenerValorParaCalculo();
long resolverSumatorio (int numeroItemsSum);
long resolverProducto (int numeroItemsProd);

int main()
{
    int valorParaCalculo=0;
    int opcionUsuario = 1;
    while (opcionUsuario!=4)
    {
        printf("\n\n1: Introducir valor\n2: Calcular serie 1+3+5...\n");
        printf("3: Calcular serie 1*3*5...\n4: Salir\n\nElija opcion: ");
        scanf("%d", &opcionUsuario);
        if (opcionUsuario==1)
        {
            valorParaCalculo =  obtenerValorParaCalculo();
        }

        if (opcionUsuario==2)
        {
            if (valorParaCalculo!=0)
            {
                resolverSumatorio(valorParaCalculo);
            }
            else
            {
                printf("No hay un valor para calculo que permita obtener sumatorio 1+3+5+...");
            }
        }

        if (opcionUsuario==3)
        {
            if (valorParaCalculo!=0)
            {
                resolverProducto(valorParaCalculo);
            }
            else
            {
                printf("No hay un valor para calculo que permita obtener resultado 1*3*5*...");
            }
        }
    }
    return 0;
}


int obtenerValorParaCalculo()
{
    int imparElegido = 0;
    do
    {
        printf("\nPor favor introduzca numero entero impar entre 1 y 19: ");
        scanf("%d", &imparElegido);
    }
    while (imparElegido<=0 || imparElegido>NMAX ||imparElegido%2==0);
    return imparElegido; // Ejercicios resueltos de programación aprenderaprogramar.com
}

long resolverSumatorio (int valorCalculoSum)
{
    int impar = -1;
    long resultadoSum =0;
    do
    {
        impar = impar + 2;
        resultadoSum = resultadoSum + impar;
    }
    while (impar < valorCalculoSum);
    printf("n = %d El valor del sumatorio es: %ld", valorCalculoSum, resultadoSum);
}

long resolverProducto (int valorCalculoProd)
{
    int impar = -1;
    long resultadoProd = 1;
    do
    {
        impar = impar + 2;
        resultadoProd = resultadoProd * impar;
    }
    while (impar < valorCalculoProd);
    printf("n = %d El valor del producto es: %ld", valorCalculoProd, resultadoProd);
}


71
Buenas amigos, Aquí les dejo una posible solución al ejercicio CU00550F del curso de programación aprenda C como si estuviera en primero.

Citar
EJERCICIO Nº1

Refactoriza el código que hemos visto como ejercicio resuelto para que cumpla con estos requisitos:

a) La función entraDatos deberá tener como tipo de retorno int en lugar de void, de modo que devolverá el valor introducido por el usuario.

b) La función proceso ya no existirá y en su lugar tendremos dos funciones: calcularRaiz(int num) y calcularSumatorio (int num)

c) La función resultados ya no existirá y su cometido será realizado dentro del main.

 

Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int dato = 0;
double raiz01, raiz02;
double suce = 0.0;

int entraDato();
void calcularRaiz(int num);
void calcularSumatorio(int num);

int main()
{
    int opcionUsuario=1;
    while(opcionUsuario != 2)
    {
        printf("\n1: Calculo\n2: Salir\n\nElija opcion: ");
        scanf("%d", &opcionUsuario);
        if(opcionUsuario == 1)
        {
            entraDato();
            calcularRaiz(dato);
            calcularSumatorio(dato);
            printf("\nDato base: %d",dato);
            printf("\nRa%cz01=%lf Ra%cz02=%lf", 161,161,raiz01,raiz02);
            printf("\nValor sucesi%cn: %lf", 162,suce);
        }
    }

    return 0;
}

int entraDato()
{
    do
    {
        printf("\nPor favor, introduzca n%cmero entero entre 0 y 100: ", 163);
        scanf("%d",&dato);
    }
    while(dato<0 || dato>100);

    return dato;
}

void calcularRaiz(int num)
{
    suce=0.0; //Borrado dato valor suce
    raiz01=sqrt(num);
    raiz02=-raiz01;
}

void calcularSumatorio(int num)
{
    suce=0.0;
    while(num>=0)
    {
        suce=suce+sqrt(num);
        num=num-1;
    }
}

Citar
EJERCICIO Nº 2

Estudia el siguiente código y responde a las preguntas:

Código: [Seleccionar]

#include <stdio.h>
#include <stdlib.h>
#include<conio.h>
// Ejercicios curso C aprenderaprogramar.com

//---------------------------------
void fun(int arr[]) {
int i;
for(i=0;i< 5;i++)
 arr[i] = arr[i] + 10;
}
//--------------------------------
void main() {
int arr[5],i;
clrscr();
printf("\nEnter the array elements : ");
for(i=0;i< 5;i++)
 scanf("%d",&arr[i]);

printf("\nPassing entire array .....");
fun(arr);  // Pass only name of array

for(i=0;i< 5;i++)
 printf("\nAfter Function call a[%d] : %d",i,arr[i]);

getch();
}


 
Citar
a) Busca información sobre conio.h, clrscr() y getch() ¿Forman parte del estándar de C?

No. La librería conio.h pertenece a borland por lo que no es estándar y no la encontraremos  - o no al menos totalmente en otros muchos compiladores y mas importante en otros sistemas lo que reduce la portabilidad de tu código. Es una biblioteca de entrada salida de datos en la consola del sistema dos que se la considera obsoleta  y es posible que alguna de las funciones que incluye no funcionen, o lo hagan incorrectamente. No es estrictamente necesaria para programar.

clrscr(): Se borran todos los datos de la pantalla de forma automática.

getch(): El programa  se cierra hasta que no se pulse una tecla.



Citar

b) Si el programa no te funciona, reescríbelo para que funcione.

Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>


//---------------------------------
void fun(int arr[])
{
    int i;
    for(i=0; i< 5; i++)
        arr[i] = arr[i] + 10;
}
//--------------------------------
void main()
{
    int arr[5],i;
    printf("\nEnter the array elements : ");
    for(i=0; i< 5; i++)
        scanf("%d",&arr[i]);

    printf("\nPassing entire array .....");
    fun(arr);  // Pass only name of array

    for(i=0; i< 5; i++)
        printf("\nAfter Function call a[%d] : %d",i,arr[i]);


}




Citar
c) ¿Qué objetivo tiene este programa? ¿Qué resultado debe devolver si se introducen los números 1, 2, 3, 4, 5?

Introducimos valores en un array de enteros de 5 elementos, luego cambiamos los valores de cada elemntos sumandole 10 a cada uno y luego lo mostramos por pantalla.
    Passing entire array .....
    After Function call a[0] : 11
    After Function call a[1] : 12
    After Function call a[2] : 13
    After Function call a[3] : 14
    After Function call a[4] : 15


Citar
d) ¿Es válido un bucle for sin llaves delimitadoras { … } de las instrucciones a ejecutar?

Si. Aunque no es aconsejable para unos buenos hábitos de programación.

72
Buenas tardes amigos, tengo un serio problema con mi computadora es un poco antigua pero funciona bien, va rápida tiene buenos gráficos etc, es una hp touchsmart 600, tenía windows 7, pero actualicé a windows 10 y la verdad es que todo perfecto hasta ahora, que estoy haciendo los cursos de lenguajes de programación y no me deja abrir los archivos de los ejemplos o de los ejercicios, lo he probado todo las carpetas de proyectos de los cursos la tengo en usuario, para que no me de problemas en otro sitio por ejemplo en c:\, le he dado permisos de administrador  y los tiene todos, ya no se que hacer, me tiene loco, no se si volver a win 7 otra vez. Por cierto me he vuelto loco en internet y youtuve y no he encontrado nada.

Agradecería mucho a alguien si me pudiera echar una mano, porque si no no se como lo voy a hacer para seguir adelante y aprendiendo, puesto que todo lo que hago me da fallo,  por ejemplo en vb me de fallo de excepción  no se pudo encontrar el archivo y está en la misma carpeta de proyectos vb y con lenguaje c me pasaba algo parecido, tenia que poner los ejercicios sin asegurarme que estuvieran bien.

Saludos y gracias por vuestro tiempo.

PD.: dejo un ejercicio de visual basic que me da fallo de excepción

Código: [Seleccionar]
Public Class Form1
    Const Pi As Single = 3.14159254
    Dim D, R, H, V, VLitros, tminutos As Single
    Dim Q As Single
    REM programación del formulario
    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        Me.Text = " Tiempo de llenado"
        CommandCalcular.Text = "Determinar tiempo"
        Label1.Text = "Introduzca aquí el diametro del depósito, en metros"
        Label2.Text = "Introduzca aquí la altura del depósito, en metros"
        'Extracción de dato de caudal del archivo

        Dim myfileread As New System.IO.StreamReader("caudal.dat", False)
        Q = myfileread.ReadLine()
        myfileread.Close()
    End Sub

    Private Sub CommandCalcular_Click(sender As System.Object, e As System.EventArgs) Handles CommandCalcular.Click
        D = Val(TextBox1.Text)
        H = Val(TextBox2.Text)
        R = D / 2
        V = Pi * (R ^ 2) * H
        VLitros = V * 1000
        tminutos = VLitros / Q
        Label3.Font = New Font("Arial", 10, FontStyle.Bold)
        Label3.TextAlign = ContentAlignment.MiddleCenter
        Label3.Text = vbCrLf & "El tiempo ue transcurrirá hata el" & _
            "llenado del depósito es de " & tminutos & " minutos"

    End Sub
End Class

73
Buenas noches amigos aquí dejo una posible solución al ejercicio CU00551F del tutorial de programación en lenguaje C.

Citar
EJERCICIO

Crea un programa en C que pida una cadena al usuario y muestre por pantalla la cadena invertida.

Por ejemplo, si la cadena introducida es calor, deberá mostrarse por pantalla rolac. Si la cadena introducida es aprenderaprogramar.com deberá mostrarse por pantalla moc.ramargorparednerpa

Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>

int main()
{
    char texto[200];
    int i;
    printf("\n Escribe cadena de texto >>> ");
    gets(texto);
    printf("\n Escibiste : %s", texto);
    int len = strlen(texto);
    printf("\n\n Texto al reves !!!! ");
    for (i=0; i<len; i++) {
        printf("%c", texto[len-i]);
    }
    printf("\n");
    gets(texto);

}

Saludos....  ;D

74
Buenas amigos aquí dejo una posible solución al ejercicio CU00549F del curso de programacion en lenguaje C para dummies.

Me falta el ejercicio 1 que me tiene algo liado, cuando lo tenga lo pondré.

Citar
EJERCICIO Nº 2

Estudia el siguiente código y responde a las preguntas:

Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
// Ejercicios curso C aprenderaprogramar.com
void stars2 (int n) {
    int i;
    for (i=1; i<=n; ++i) {
        printf ("*");
    }
    printf ("\n");
}

int main (void) {
    int a;
    a=10;
    stars2 (20);
    stars2 (a);
    stars2 (a+2);
    return (0);
}

Citar
a) ¿Cuántas funciones se declaran en este código? ¿Es main una función?

1 void stars2 (int n), no main es don de va el cuerpo del programa.

Citar
b) Explica cuántos parámetros reciben y de qué tipo son los parámetros para cada una de las funciones que existan en este código.

Un solo parametr de tipo int.

Citar
c) ¿Cuántas veces se invoca la función stars2 en el código? ¿Qué ocurre con cada una de esas invocaciones? ¿Cuál es el valor devuelto por la función stars2?

Se invoca 3 veces.
rimero aparece por pantalla una línea de 20 asteriscos, luego otra de 10 porque toma el valor de la variable a, y luego 12 porque toma el valor de la variable a + 2.
Tres líneas de asteriscos.


Citar
d) ¿Qué ocurre si escribimos stars2(0)? ¿Por qué?

Que en la primera línea desaparecen los asteriscos.
Al ponerle valor 0 la dejamos sin valor y aparecen por pantalla la línea de asteriscos.


Saludos....  ;D

75
Buenas amigos aquí os dejo una posible solución al ejercicio CU00548F del curso de iniciación a la programación con C.

Citar
EJERCICIO

Estudia el código que se muestra más abajo y responde a las preguntas:

Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>

int check_prime(int num);

int main(){
   int n1,n2,i,flag;
   printf("Enter two numbers(intervals): ");
   scanf("%d %d",&n1, &n2);
   printf("Prime numbers between %d and %d are: ", n1, n2);
   for(i=n1+1;i<n2;++i)
   {
      flag=check_prime(i);
      if(flag==0)
         printf("%d ",i);
   }
   return 0;
}

int check_prime(int num) {
   int j,flag=0;
   for(j=2;j<=num/2;++j){
        if(num%j==0){
            flag=1;
            break;
        }
   }
   return flag; // Ejercicios aprenderaprogramar.com
}

Citar
a) Sin ejecutar el código (sólo pensando) responde: ¿para qué sirve la función check_prime? ¿Qué resultado devolverá si le pasamos el número 4? ¿Por qué?

Para mostrar una serie de números primos.
4 12 = muestra por pantalla los números primos 5 7 11.
Porque gracias a la función int check_prime, podemos saber la secuencia de números primos entre 4 y 12.


Citar
b) En dicha función se usa la siguiente definición de bucle: for(j=2;j<=num/2;++j) ¿Por qué crees que el bucle tiene un valor inicial 2? ¿Por qué crees que el bucle tiene un valor final num/2?

Porque  al no ser primo el número 1, hay que iniciar el bucle en 2 que si lo es.
Para dividir num por 2 y sacar los números primos.


Citar
c) ¿La variable flag que se usa en el main es la misma que se usa en la función check_prime? ¿Es posible declarar y usar dos variables con el mismo nombre en la función main? ¿Y declarar y usar dos variables con el mismo nombre en la función main y otra función? ¿Por qué?.

No.
Si.
Porque en la función main la pondríamos como variable global y en la otra función como variable local.


Citar
d) Crea una tabla de variables del programa que conste de las siguientes columnas: nombre de variable, ámbito, utilidad. Por ejemplo la variable i tiene nombre de variable i, ámbito la función main, y utilidad servir como índice en el bucle for del main.

i tiene nombre variable i, ámbito la función main, y utilidad de servir como índice en el bucle for del main.
n1 tiene nombre variable n1, ámbito la función main, y utilidad entrada de número por el usuario.
n2 tiene nombre variable n2, ámbito la función main, y utilidad entrada de número por el usuario.
flag tiene nombre variable flag, ámbito la función main, y utilidad es una bandera o "algo" que te indica el estado de X variable, proceso, flujo... lo que sea que te diga como esta el estado de algo del main.

Función int check_prime(int num):

j tiene nombre variable j, ámbito la función int check_prime(int num) , y utilidad de servir como índice en el bucle for del  int check_prime(int num).
flag tiene nombre variable flag, ámbito la función int check_prime(int num), y utilidad es una bandera o "algo" que te indica el estado de X variable, proceso, flujo... lo que sea que te diga como esta el estado de algo del int check_prime(int num).


Citar
e) Si se introducen como números 11 y 30 ¿Son evaluados 11 y 30? ¿Qué resultado se obtiene? ¿Por qué?

Si.
13 17 19 23 29.
 

76
Buenas aquí dejo una posible solución al ejercicio CU00547F del tutorial de programación en lenguaje C desde cero.

Citar
EJERCICIO

Estudia el siguiente código:

Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
int max(int num1, int num2);
 
int main () {
   int a = 100;
   int b = 200;
   int ret;
   ret = max(a, b);
   printf( "Max value is : %d\n", ret );
   return 0;
}
 
int max(int num1, int num2) {
   int result;
   if (num1 > num2)
      result = num1;
   else
      result = num2;
   return result; //Ejercicios aprenderaprogramar.com
}

Citar
a) Sin ejecutar el código (sólo pensando) responde: ¿para qué sirve la función max? ¿cuál será el resultado del programa?

Este programa sirve para saber cual de los dos números es mayor.

Max value is: 200 


Citar
b) ¿En qué línea se produce la llamada a la función max? ¿Qué valor se almacenará en la variable ret y por qué?

ret=max(a,b);
200 que es el resultado que retorna la función max.


Citar
c) Reescribe el código de modo que todos los if lleven corchetes delimitadores { … } tanto para los if como para los else.

Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>

int max(int num1, int num2);

int main()
{
    int a = 100;
    int b = 200;
    int ret;
    ret = max(a, b);
    printf( "Max value is : %d\n", ret );
    return 0;
}

int max(int num1, int num2)
{
    int result;
    if (num1 > num2)
    {
        result = num1;
    }
    else
    {
        result = num2;
    }
    return result;
}

Citar
d) Crea un programa análogo a este con una función que permita determinar, dados tres números, cuál es el mayor. Invoca la función pasándole como datos 23, 87, 45 y muestra el resultado devuelto por la función por pantalla

Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>

int max(int num1, int num2, int num3);

int main()
{
    int a = 23;
    int b = 87;
    int c = 45;
    int ret;
    ret = max(a, b, c);
    printf( "Max value is : %d\n", ret );
    return 0;
}

int max(int num1, int num2, int num3)
{
    int result;
    if (num1 > num2 && num1 >  num3)
    {
        result = num1;
    }
    else if (num2 > num1 && num2 > num3)
    {
        result = num2;
    }
    else if (num3 > num1 && num3 > num2)
    {
        result = num3;
    }
    return result;
}

Saludos.... ;D

77
Hola, dejo una posible solución al ejercicio CU00546F del tutorial de programación en lenguaje C.

Citar
EJERCICIO Nº1

Estudia el siguiente código y responde a las preguntas:

Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
// Curso de programación C aprenderaprogramar.com
/*  C program to demonstrate the working of goto statement. */

int main(){
   float num,average,sum;
   int i,n;
   printf("Maximum no. of inputs: ");
   scanf("%d",&n);
   for(i=1;i<=n;++i){
       printf("Enter n%d: ",i);
       scanf("%f",&num);
       if(num<0.0)
       goto jump;             /* control of the program with goto */
       sum=sum+num;
}
jump:
  average=sum/(i-1);       
  printf("Average: %.2f",average);
  return 0;
}

Citar
a) Sin ejecutar el código (sólo pensando) responde: ¿para qué sirve este programa? ¿cuál será el resultado del programa si introducimos los números 10, 5 y 2? ¿cuál será el resultado del programa si introducimos los números 10, -5 y 2?

Este programa calcula la media de n números enteros. Sumará esos tres números y el resultado lo dividirá entre tres, y mostrará el resultado por pantalla.

Que calculará la media de solo un número, en este caso el 10, y dará como resultado 10, porque el goto hace que el programa salga del for, sin que se pueda seguir introduciendo datos después de introducir un número negativo.


Citar
b) Ejecutando el código ¿cuál será el resultado del programa si introducimos los números 10, 5 y 2? ¿cuál será el resultado del programa si introducimos los números 10, -5 y 2?

Que "average = 5,67" por lo que se explica en la pregunta anterior.

Que average vale 10 por lo que se explica en la pregunta anterior.


Citar
c) ¿Qué signficado tiene ++i en el contexto de este programa?

Al igual que si usamos i++, se incrementa 1 a i.

Citar
d) ¿Es equivalente escribir      if( num<0.0) goto jump;      y      if( num < 0.0) { goto jump; }  ?

si

Citar
e) Haz que el código ofrezca los mismos resultados evitando el uso de goto.

Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>

int main()
{
    float num,average,sum;
    int i,n;
    printf("Maximum no. of inputs: ");
    scanf("%d",&n);
    for(i=1; i<=n; ++i)
    {
        printf("Enter n%d: ",i);
        scanf("%f",&num);
        if(num == 0 || num > 0)
        {
            sum=sum+num;
        }
    }
    average=sum/(i-1);
    printf("Average: %.2f",average);
    return 0;
}


Citar
EJERCICIO Nº2

Estudia el siguiente código y responde a las preguntas:

Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
// Curso de programación C aprenderaprogramar.com
/*  C program to demonstrate the working of goto statement. */

int main() {
   int age;
   Vote:
     printf("you are eligible for voting");

   NoVote:
     printf("you are not eligible to vote");

   printf("Enter you age:");
   scanf("%d", &age);
   if(age>=18)
        goto Vote;
   else
        goto NoVote;

   return 0;
}

Citar
a) Sin ejecutar el código (sólo pensando) responde: ¿para qué sirve este programa? ¿cuál será el resultado del programa si introducimos el número 22?

Para comprobar si se tiene la mayoría de edad para votar.
se imprimirá los tres print por pantalla y preguntará otra vez lo mismo, y dependiendo  si tienes más o menos de 18, se ejecutará el primer print o el segundo, haciendo una especie de bucle infinito del cual no saldrá nunca, según está estructurado.


Citar
b) Crea otro programa equivalente (que produzca los mismos resultados) sin hacer uso de la sentencia goto

Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int age;
    printf("Enter you age:");
    scanf("%d", &age);
    if(age>=18)
    {
        printf("you are eligible for voting");
    }
    else
    {
        printf("you are not eligible to vote");
    }


    return 0;
}


Saludos.  ;D





78
Buenas amigos aquí dejo las posibles respuestas al ejercicio CU00545F del curso básico de programación en C.

Citar
EJERCICIO

Estudia el siguiente código y responde a las preguntas:


Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
// Curso de programación C aprenderaprogramar.com

int main () {
   /* local variable definition */
   int a = 10;
   /* while loop execution */
   while( a < 20 ) {
      printf("value of a: %d\n", a);
      a++;       
      if( a > 15) {
         break;
      }   
   }
   return 0;
}

Citar
a) Sin ejecutar el código (sólo pensando) responde: ¿cuál será el resultado del programa? 

Muestra por pantalla que a vale 10, hasta que a vale 16 y luego gracias a la sentencia break  se sale del bucle while.

Citar
b) Ejecutando el código ¿cuál es el resultado del programa?

Que se muestra por pantalla que a vale 10, hata que a vale 15. Es decir cuando se ejecuta la sentencia break en el bucle las lineas anteriores no se ejecutan.

Citar
c) ¿Qué signficado tiene a++ en el contexto de este programa?

Cada vez que se ejecuta a++, se incrementa en 1 el valor que tenga a anteriormente.

Citar
d) ¿Es equivalente escribir      if( a > 15) break;      y      if( a > 15)  { break; }  ? 

si, da lo mismo.

Citar
e) Haz que el código cuente desde 10 hasta 15 sin hacer uso de break (usa sólo las condiciones naturales de un bucle while)

Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>

int main()
{
      /* local variable definition */
   int a = 10;
   /* while loop execution */
   while( a < 20 ) {
      printf("value of a: %d\n", a);
      a++;
      //if( a > 15)
      //   break;
      }

   return 0;
}


Saludos.  ;D

79
Aquí dejo una posible solución al ejercicio CU00542F;  he de decir que me ha costado bastante solucionarlo, me planteé el dibujo en papel y mas o menos le fui dando forma al ejercicio. 

Citar
EJERCICIO

Crear un programa que muestre en pantalla un diamante formado por asteriscos, dado un valor de número de asteriscos máximo en el punto central del diamante o rombo. Ejemplo: si el valor en el punto central es 5 el rombo sería:

Ejemplo:

*

**

***

****

*****

****

***

**

*

 

Nota: antes de crear el código hay que estudiar la lógica para proceder a crear el rombo, teniendo en cuenta que para poder mostrarlo habremos de dejar espacios en blanco a la derecha e izquierda de todas las líneas excepto la central.

Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int i = 0;
    int j = 0;
    int asteriscosMaximos = 0;
    int numEspacios;
    // pedimos los asteriscos en la línea central del rombo
    printf("\n\t\tDibujaremos un diamante formado por asteriscos.\n\n"
           "\n Introduce un n%cmero mayor que 3 para ver bien el diamante.\n", 163);
    printf (" Cuantos asteriscos quieres que tenga el punto central de diamante: ");

    scanf("%d", &asteriscosMaximos);
    numEspacios = asteriscosMaximos / 2;

    if (asteriscosMaximos > 3 && !(asteriscosMaximos%2==0)) {
        for (i=1; i<=asteriscosMaximos; i++) {
            for (j=0; j<numEspacios; j++) {
                printf(" ");
            }
            for (j=0; j<(asteriscosMaximos-(numEspacios*2)); j++) {
                printf("*");
            }
            for (j=0; j<numEspacios; j++) {
                printf(" ");
            }
            printf("\n");
            if (i < ((asteriscosMaximos/2)+1)){
               numEspacios--;
            } else {
                numEspacios++;
        }
    }
    } else if(asteriscosMaximos > 3) {
        asteriscosMaximos = asteriscosMaximos+(asteriscosMaximos);
       numEspacios = asteriscosMaximos/2;
        for (i=1; i<=asteriscosMaximos; i++){
            for (j=0; j<numEspacios; j++) {
                printf(" ");
            }
            for (j=0; j<(asteriscosMaximos-(numEspacios*2)); j++) {
                if(i%2==0){
                   if(((j+numEspacios)%2)!=0){
                        printf("*");
                    } else {
                        printf(" ");
                    }
                }else {
                    if(((j+numEspacios)%2)==0){
                    printf("*");
                    } else {
                        printf(" ");
                    }
                }
            }
            for (j=0; j<numEspacios; j++) {
                printf(" ");
            }
             printf("\n");
            if (i < ((asteriscosMaximos/2)+1)){
                numEspacios--;
            } else {
                numEspacios++;
            }
        }
    } else {
        puts("\n\n\t\tEl n\xA3mero introducido no es mayor que 3.");
    }
    return 0;

}



Saludos y gracias por vuestro tiempo....  :D

80
Hola, dejo una posible solución al ejercicio CU00544F del curso autoevaluable online de programación en lenguaje C.

Citar
EJERCICIO Nº 1

Estudia el siguiente código y responde a las preguntas:


Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
// Ejercicios aprenderaprogramar.com

int main(){
   float num,average,sum;
   int i,n;
   printf("Maximum no. of inputs\n");
   scanf("%d",&n);
   for(i=1;i<=n;++i){
       printf("Enter n%d: ",i);
       scanf("%f",&num);
       if(num<0.0)
       break;
       sum=sum+num;
}
  average=sum/(i-1);       
  printf("Average=%.2f",average);
  return 0;
}

Citar
a) ¿Para qué crees que sirve este código?

Programa que nos dice el promedio de n números.

Citar
b) Qué ocurre si introducimos como maximum no. of inputs 8 e introducimos los números 1.5, 12.5 y -1 ¿Por qué ocurre eso? ¿Qué significado tiene lo que se muestra por pantalla?

Cuando introducimos un número negativo, el program solo devuelve el resultado de la media de los numeros introducido, menos el negativo.  Esto ocurre por la línea de código:

Código: [Seleccionar]
if(num<0.0) break;
Citar
c) ¿Qué signficado tiene %.2f dentro de este programa?

Se imprime una variable tipo float con 2 decimales


Citar
EJERCICIO Nº 2

Estudia el siguiente código y responde a las preguntas:


Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
// Ejercicios aprenderaprogramar.com

int main(){
    int i,num,product;
    for(i=1,product=1;i<=4;++i){
        printf("Enter num%d:",i);
        scanf("%d",&num);
        if(num==0)
            continue; 
        product*=num;
}
    printf("product=%d",product);
return 0;
}

Citar
a) ¿Para qué crees que sirve este código?]

Este programa nos dice el producto de 4 números que piden al usuario.
Ejemplo.  Si introducimos 5,8,6,9,  nos devolverá 5*8*6*9. 


Citar
b) Qué ocurre si introducimos como números 3, 0, -5, 2 ¿Por qué ocurre eso? ¿Qué significado tiene lo que se muestra por pantalla?

Solo multiplica los números distintos de 0. Esto es así proeque en el if se comprueba si se introduce 0 como valor, y si es así, usamos continue para que no multiplique 0 por la variable donde hemos ido almacenando el valor de las multiplicaciones anteriores.

Citar
c) ¿Es legal escribir un if sin los corchetes { … }?


No

Citar
d) Qué ocurre si introducimos como números 0, 0, 0, 0 ¿Por qué ocurre eso? ¿Qué significado tiene lo que se muestra por pantalla?

Que el producto nos devuelve 1, porque es el valor que le hemos asignado a la variable product anteriormente.



Páginas: 1 2 3 [4] 5 6 7 8

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".