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 - Dimitar Stefanov

Páginas: 1 2 [3] 4 5 6 7 8 ... 14
41
Buenas noches. Mediante la presente expongo una posible solución del ejercicio CU00541F del curso aprenda C como si estuviera en primero.

Citar
EJERCICIO

Se está realizando un estudio estadístico de los clientes que entran a un banco en cada hora a partir de su hora de apertura durante un día. El banco abre 6 horas al día y los datos de cuántas personas han entrado al banco en cada hora se encuentran almacenados en un array definido como clientesEntran[0], clientesEntran[1], … hasta clientesEntran[5]. Se desea desarrollar un programa que usando bucles y condicionales determine:

a) El total de personas que entraron al banco en el día.

b) Cuántas horas no entró ninguna persona y cuáles fueron.

c) Cuál fue la hora en la que entró el mayor número de personas.

d) El número medio de personas por hora que entraron al banco.

 

Considerar que en la primera hora entraron 12 personas, en la segunda 0, en la tercera 23, en la cuarta 45, en la quinta 21 y en la sexta 0. ¿Qué resultados muestra el programa?

Nota: en este tipo de ejercicios usamos arrays (arreglos) combinándolos con bucles de forma que para recorrer el array usamos un bucle, nunca escribimos una por una las variables que forman el array excepto si tenemos que asignarles un valor inicial.

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

int main() {
    double clientesEntran[6];
    clientesEntran[0]=12;
    clientesEntran[1]=0;
    clientesEntran[2]=23;
    clientesEntran[3]=45;
    clientesEntran[4]=21;
    clientesEntran[5]=0;
    double totalClientes=0;
    int horaMaxClientes=0;
    double media;
    int i;


    for(i=0;i<sizeof(clientesEntran)/sizeof(clientesEntran[0]);i++){
        totalClientes=totalClientes+clientesEntran[i];
        if(clientesEntran[i]==0){
            printf("En la hora %d no entro ningun cliente\n",i+1);
        }
        if(horaMaxClientes<clientesEntran[i]){
                horaMaxClientes=i;
        }
    }
   
    media = totalClientes/6;

    printf("El total de clientes que entraron al banco en el dia son: %lf\n", totalClientes);
    printf("En la hora %d entro el mayor numero de clientes\n", horaMaxClientes);
    printf("El numero medio de personas por hora que entraron al banco es: %lf", media);

    return 0;
}

Tengo una duda, ¿por qué si declaro la variable "totalClientes" de tipo int y luego la divido entre un número, por ejemplo:

int totalClientes=101;
double media = totalClientes/6

no puedo imprimir la variable "media" como un double, sino que se imprime como un número entero (int)?

Gracias.

42
Buenas. Expongo una posible solución del ejercicio CU00540F del tutorial aprende a programar en lenguaje C desde cero.

Citar
EJERCICIO

Crea un programa que usando bucles nos permita pedir un número par comprendido entre 100 y 200 y nos muestre todos los números pares comprendidos entre el número facilitado y 200. Por ejemplo si el número facilitado es 192 nos debería mostrar 192, 194, 196, 198 y 200.

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

int main() {
    int num;
    int i=0;

    while(i<1){
        printf("Intrudzca un numero par entre 100 y 200: ");
        scanf("%d",&num);
        if(num>=100 && num<=200){i++;}
    }

    for(i=num;i<=200;i=i+2){
        printf("%d\t",i);
    }

    return 0;
}

Gracias.

43
Buenas tardes. Dejo una posible solución del ejercicio CU00539F del curso aprende lenguaje C como si estuvieras en primero.

Citar
EJERCICIO

Crea un programa que pida una entrada de teclado y usando un bucle muestre cada una de las letras que componen la entrada. Por ejemplo si se introduce “avena” debe mostrar:

Letra 1: a

Letra 2: v

Letra 3: e

Letra 4: n

Letra 5: a

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

int main() {
    char palabra[50];
    int i;
    printf("Introduce una palabra: ");
    scanf("%s", &palabra);
    //printf("%d", strlen(palabra));
    for(i=0; i<strlen(palabra);i++){
        printf("Letra %d: %c\n", i+1, palabra[i]);
    }

    return 0;
}

Gracias.

44
Buenas tardes. Expongo una posible solución del ejercicio CU00538F del curso para aprender a programar lenguaje C desde cero.

Citar
EJERCICIO

Crea un archivo denominado almacen.txt que contendrá una palabra en cada línea (para un total de 6 líneas) como se muestra a continuación:

El

gaucho

es

equilibrio

y

belleza

 

 

Crea un programa que cree un array de palabras de modo que se lea el contenido del archivo y se almacene en los elementos del array. Por ejemplo palabra[0] contendrá "El", palabra[1] contendrá "gaucho" y así sucesivamente. Usando un bucle, muestra por pantalla la frase (intercalando los espacios necesarios). En este caso el resultado del programa será como este:

<<Tras extraer la información del archivo construimos esta frase: El gaucho es equilibrio y belleza>>

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

int main() {
    typedef char contenido[50];
    contenido palabra[6];
    int i, j;
    char control;

    FILE * fichero;
    //ESCRITURA
    fichero = fopen("CU00538F.txt","wt");
    fprintf(fichero,"%s%c","El",'\n');
    fprintf(fichero,"%s%c","gaucho",'\n');
    fprintf(fichero,"%s%c","es",'\n');
    fprintf(fichero,"%s%c","equilibrio",'\n');
    fprintf(fichero,"%s%c","y",'\n');
    fprintf(fichero,"%s%c","belleza",'\n');
    fclose(fichero);

    printf("Proceso de escritura completado\n\n");

    //LECTURA
    fichero = fopen("CU00538F.txt","rt");

    for(j=0; j<=5; j++){
        i=1;
        control = 'a';
        while (control >=32 && control<=126)  {
            control = fgetc(fichero);
            palabra[j][i]='\0';
            if (control >=32 && control<=126)
            {palabra[j][i-1] = control;}
            i++;
        }
    }

    printf("Tras extraer la informaci%cn del archivo construimos esta frase: ", 162);

    for(i=0; i<=5; i++){
        printf("%s ", palabra[i]);
    }

    return 0;

}

Gracias.

45
Buenas tardes. Dejo una posible solución del ejercicio CU00537F del curso aprende a programar en lenguaje C desde cero.

Citar
EJERCICIO

Crea un programa que pida 3 números al usuario y guarde 4 líneas en un archivo denominado datos.txt. El contenido de las líneas debe ser el siguiente: las 3 primeras líneas, cada uno de los datos proporcionados. La cuarta línea, el valor medio de los tres datos anteriores.

Ejemplo: el usuario introduce como números 10, 14, 31. El archivo creado deberá contener lo siguiente:

10

14

31

18.333333

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

int main() {
    int num[3], i, media;

    for(i=0; i<3; i++){
        printf("Introduzca un n%cmero entero: ", 163);
        scanf("%d", &num[i]);
    }

    media = (num[0]+num[1]+num[2])/3;

    FILE*fichero;
    fichero = fopen("archivo01.txt","wt");
    fprintf(fichero, "%d\n%d\n%d\n%d", num[0], num[1], num[2], media);
    fclose(fichero);

    printf("Proceso completo");

    return 0;
}

Gracias.

46
Buenas tardes. Dejo una posible solución del ejercicio CU00536F del taller de programación en lenguaje C desde cero.

Citar
EJERCICIO

En un programa escrito en C nos hemos encontrado esta línea:

fichero = fopen("cursoAF1.txt", "wt");

En otro programa nos hemos encontrado esta otra línea:

fichero = fopen("cursoAF2.txt", "rt");

 

Responde a estas preguntas:

a) ¿Manejan ambos programas el mismo tipo de archivo? ¿Por qué?

Sí. Los dos programas tratan con archivos de tipo texto porque en el segundo parámetro del método "fopen" después del modo de apertura está la letra "t" lo que quiere decir que estamos trabajando con un archivo de tipo texto.

Citar
b) ¿Qué ocurrirá en cada programa si el archivo no existe?

Según la explicación en la entrega CU00536F en el primer caso no se creará un archivo nuevo y en el segundo caso sí se creará.

Citar
c) ¿Con qué fin se abren los archivos en cada programa?

El primer archivo se abre en modo escritura y si ya existe dicho archivo se perderá toda la información en él. En el segundo caso se abre en modo lectura, no se perderá la información. 

47
Buenas tardes. Expongo una posible solución de los ejercicios de la entrega CU00535F del curso lenguajeC desde cero.

Citar
EJERCICIO Nº 1

Escribe un programa que pida tres cadenas al usuario y muestre su longitud (número de letras).

Ejemplo: el usuario introduce como cadenas perro, pez y cocodrilo. El programa mostrará por pantalla. El número de letras para perro es 5. El número de letras para pez es 3. El número de letras para cocodrilo es 9.

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

int main() {
    char cadena01[50], cadena02[50], cadena03[50];
    printf("Introduzca una palabra: ");
    scanf("%s", &cadena01);
    printf("Intruduzca otra palabra: ");
    scanf("%s", &cadena02);
    printf("Intruduzca una %cltima palabra: ", 163);
    scanf("%s", &cadena03);

    printf("El n%cmero de letras para \"%s\" es: %d\n", 163, cadena01, strlen(cadena01));
    printf("El n%cmero de letras para \"%s\" es: %d\n", 163, cadena02, strlen(cadena02));
    printf("El n%cmero de letras para \"%s\" es: %d\n", 163, cadena03, strlen(cadena03));


    return 0;
}

Citar
EJERCICIO Nº 2

Escribe un programa que pida tres cadenas al usuario y muestre el resultado de concatenar las dos primeras letras de las cadenas introducidas y que indique si las dos primeras cadenas son iguales.

Ejemplo: el usuario introduce como cadenas perro, vaca y cocodrilo. El programa mostrará por pantalla: “El resultado de concatenar las dos primeras letras de las cadenas es: pevaco. La primera cadena, perro, no es igual a la segunda cadena, vaca.”

Si el usuario introdujera perro, perro, mulo, el programa debería mostrar: “El resultado de concatenar las dos primeras letras de las cadenas es pepemu. La primera cadena, perro, es igual a la segunda cadena, perro.”

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

int main() {
    char cadena01[50], cadena02[50], cadena03[50], subCadena01[3], subCadena02[3], subCadena03[3];
    printf("Introduzca una palabra: ");
    scanf("%s", &cadena01);
    subCadena01[0] = cadena01[0];
    subCadena01[1] = cadena01[1];
    subCadena01[2] = '\0';
    printf("Intruduzca otra palabra: ");
    scanf("%s", &cadena02);
    subCadena02[0] = cadena02[0];
    subCadena02[1] = cadena02[1];
    subCadena02[2] = '\0';
    printf("Intruduzca una %cltima palabra: ", 163);
    scanf("%s", &cadena03);
    subCadena03[0] = cadena03[0];
    subCadena03[1] = cadena03[1];
    subCadena03[2] = '\0';


    printf("El resultado de concatenar las dos primeras letras de las palabras es: %s.\n", strcat(strcat(subCadena01,subCadena02),subCadena03));

    if(strcmp(cadena01,cadena02)==0){
        printf("La primera palabra, %s, es igual a la segunda palabra, %s.", cadena01, cadena02);
    }else{
        printf("La primera palabra, %s, no es igual a la segunda palabra, %s.", cadena01, cadena02);
    }

    return 0;

}

Aunque debo reconocer que me ha gustado mucho más la forma de cómo lo haya solucionado nuestro compañero y experto Pedro. Pueden encontrar su solución en el siguiente enlace: https://www.aprenderaprogramar.com/foros/index.php?topic=4626.msg18928#msg18928

Me surge la duda, ¿no existe el método "substring" en el lenguaje C igual que en JavaScript o en Java (entre otros)?

Gracias.

48
Buenas tardes. Dejo una posible solución de los ejercicios de la entrega CU00534F del tutorial de programación básica lenguaje C desde cero.

Citar
EJERCICIO Nº 1

Escribe un programa que use un bucle while para mostrar el resultado de multiplicar los números del 1 al 20 por el resultado de obtener el módulo (resto de la división que se obtiene usando el operador % de C) de dicho número con un número elegido por el usuario.

Ejemplo: el usuario elige el número tres. Los cálculos a realizar serán: resto de 1 entre 3 es 1, por pantalla se mostrará un 1, resto de 2 entre 3 es 2, por pantalla se mostrará un 2, resto de 3 entre 3 es cero, por pantalla se mostrará un cero, resto de 4 entre 3 es 1, por pantalla se mostrará un 1… así hasta terminar con resto de 20 entre 3 es 2, por pantalla se mostrará un 2.

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

int main() {
    int num, i;
    i=1;
    printf("Introduzca un n%cmero entero: ", 163);
    scanf("%d", &num);
    while(i<=20){
        printf("El resto de %d entre %d es: %d\n", i, num, i%num);
        i=i+1;
    }

    return 0;
}

Citar
EJERCICIO Nº 2

Modifica el programa anterior para usar un bucle do while.

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

int main() {
    int num, i;
    i=1;
    printf("Introduzca un n%cmero entero: ", 163);
    scanf("%d", &num);
    do{
        printf("El resto de %d entre %d es: %d\n", i, num, i%num);
        i=i+1;
    }while(i<=20);

    return 0;
}

Citar
EJERCICIO Nº 3

Escribe un programa que use un bucle while para calcular la potencia de un número al que denominaremos base sobre otro número al que denominaremos exponente, ambos elegidos por el usuario.

Ejemplo: el usuario elige como base el 4 y como exponente el 3. El programa debe mostrar el resultado de multiplicar la base por sí misma 3 veces, en este ejemplo 4*4*4 = 64.

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

int main() {
    int base, exponente, resultado, i;
    i=1;
    resultado = 1;
    printf("Introduzca un n%cmero de base: ", 163);
    scanf("%d", &base);
    puts("");
    printf("Introduzca un n%cmero de exponente: ", 163);
    scanf("%d", &exponente);
    puts("");

    while(i<=exponente){
        resultado = resultado * base;
        i++;
    }

    printf("El resultado de multiplicar %d por s%c mismo %d veces es igual a: %d", base, 161,exponente, resultado);

    return 0;
}

Citar
EJERCICIO Nº 4

Modifica el programa anterior para usar un bucle do while.

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

int main() {
    int base, exponente, resultado, i;
    i=1;
    resultado = 1;
    printf("Introduzca un n%cmero de base: ", 163);
    scanf("%d", &base);
    puts("");
    printf("Introduzca un n%cmero de exponente: ", 163);
    scanf("%d", &exponente);
    puts("");

    do{
        resultado = resultado * base;
        i++;
    }while(i<=exponente);

    printf("El resultado de multiplicar %d por s%c mismo %d veces es igual a: %d", base, 161,exponente, resultado);

    return 0;
}

Gracias.

49
Hola a todo el equipo de aprenderaprogramar y a sus usuarios. A continuación expongo una posible solución de los ejercicios planteados en la entrega CU00533F del curso lenguaje C desde cero.

Citar
EJERCICIO Nº 1

Escribe un programa que use un bucle for para mostrar el resultado de multiplicar los números del 1 al 20 por el resultado de obtener el módulo (resto de la división que se obtiene usando el operador % de C) de dicho número con un número elegido por el usuario.

Ejemplo: el usuario elige el número tres. Los cálculos a realizar serán: resto de 1 entre 3 es 1, por pantalla se mostrará un 1, resto de 2 entre 3 es 2, por pantalla se mostrará un 2, resto de 3 entre 3 es cero, por pantalla se mostrará un cero, resto de 4 entre 3 es 1, por pantalla se mostrará un 1… así hasta terminar con resto de 20 entre 3 es 2, por pantalla se mostrará un 2.

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

int main() {
    int num, i;
    printf("Introduzca un n%cmero entero: ", 163);
    scanf("%d", &num);

    for(i=1; i<=20; i++){
        printf("El resto de %d entre %d es %d\n", i, num, i%num);
    }

    return 0;
}

Citar
EJERCICIO Nº 2

Escribe un programa que use un bucle for para calcular la potencia de un número al que denominaremos base sobre otro número al que denominaremos exponente, ambos elegidos por el usuario.

Ejemplo: el usuario elige como base el 4 y como exponente el 3. El programa debe mostrar el resultado de multiplicar la base por sí misma 3 veces, en este ejemplo 4*4*4 = 64.

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

int main() {
    int base, exponente, resultado, i;
    resultado = 1;
    printf("Introduzca un n%cmero de base: ", 163);
    scanf("%d", &base);
    puts("");
    printf("Introduzca un n%cmero de exponente: ", 163);
    scanf("%d", &exponente);
    puts("");

    for(i=1; i<=exponente; i++){
        resultado = resultado * base;
    }

    printf("El resultado de multiplicar %d por sí mismo %d veces es igual a: %d", base, exponente, resultado);

    return 0;
}

Gracias.

50
Buenas tardes. Dejo una posible solución de los ejercicio de la entrega CU00532F del curso de programación en lenguaje C desde cero.

Citar
EJERCICIO 1

Crea un programa donde se solicite al usuario que introduzca el tipo de bomba para una máquina, pudiendo introducir valores enteros comprendidos entre 0 y 4. Según el valor introducido por el usuario debe mostrarse el siguiente resultado usando un condicional switch:

a) Si el tipo de bomba es 0, mostrar un mensaje por consola indicando “No hay establecido un valor definido para el tipo de bomba”.

b) Si el tipo de bomba es 1, mostrar un mensaje por consola indicando “La bomba es una bomba de agua”.

c) Si el tipo de bomba es 2, mostrar un mensaje por consola indicando “La bomba es una bomba de gasolina”.

d) Si el tipo de bomba es 3, mostrar un mensaje por consola indicando “La bomba es una bomba de hormigón”.

e) Si el tipo de bomba es 4,mostrar un mensaje por consola indicando “La bomba es una bomba de pasta alimenticia”.

f) Si no se cumple ninguno de los valores anteriores mostrar el mensaje “No existe un valor válido para tipo de bomba”.

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

int main() {
    int tipoBomba;
    printf("Introduzca tipo de bomba (entre 0 y 4): ");
    scanf("%d", &tipoBomba);

    switch(tipoBomba){
    case 0:
        printf("No hay establecido un valor definido para el tipo de bomba");
        break;
    case 1:
        printf("La bomba es una bomba de agua");
        break;
    case 2:
        printf("La bomba es una bomba de gasolina");
        break;
    case 3:
        printf("La bomba es una bomba de hormig%cn", 162);
        break;
    case 4:
        printf("La bomba es una bomba de pasta alimenticia");
        break;
    default:
        printf("No existe un valor v%clido para tipo de bomba", 162);
        break;
    }

    return 0;
}

Citar
EJERCICIO 2

Reescribe el programa anterior usando condicionales if (es decir, en lugar de switch nos basaremos exclusivamente en if).

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

int main() {
    int tipoBomba;
    printf("Introduzca tipo de bomba (entre 0 y 4): ");
    scanf("%d", &tipoBomba);

    if(tipoBomba == 0){
        printf("No hay establecido un valor definido para el tipo de bomba");
    }else if(tipoBomba == 1){
        printf("La bomba es una bomba de agua");
    }else if(tipoBomba == 2){
        printf("La bomba es una bomba de gasolina");
    }else if(tipoBomba == 3){
        printf("La bomba es una bomba de hormig%cn", 162);
    }else if(tipoBomba == 4){
        printf("La bomba es una bomba de pasta alimenticia");
    }else{
        printf("No existe un valor v%clido para tipo de bomba", 162);
    }

    return 0;
}

Gracias.

51
Buenos días. Expongo una posible solución del ejercicio CU00531F del curso lenguajeC desde cero.

Citar
EJERCICIO

Responde a las siguientes cuestiones:

a) Usando la macro __LINE__ crea un programa que muestre el mensaje “La línea actual es: nLinea” donde nLinea será el valor de línea correspondiente. Por ejemplo “La línea actual es: 5”

b) Sabiendo que la macro __FILE__ devuelve una cadena de caracteres con la ruta del fichero compilado, ampliar el programa anterior para que además de la línea nos muestre la ruta del fichero con un mensaje del tipo “La línea actual es: nLinea y la ruta del fichero es rutaFich” donde nLinea y rutaFich deberán ser reemplazados por los valores correspondientes.

La solución:

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

int main() {
    printf("La l%cnea actual es: %d\ y la ruta del fichero es: %s\n", 161, __LINE__, __FILE__);

    return 0;
}

Gracias.

52
Buenos días. Dejo una posible solución del ejercicio CU00530F del curso lenguajeC desde cero.

Citar
EJERCICIO

Un else puede ir seguido de un if dando lugar a lo que se conoce como una estructura else if. Un if seguido de if else equivale a decir “Si ocurre esto … haz esto … y si no comprueba si ocurre esto otro … Se pueden añadir tantos else if como se desee (y finalmente puede haber un else para contemplar el caso de que no se cumpla ninguna de las condiciones). Estudia este código y responde a las cuestiones indicadas más abajo:

Código: [Seleccionar]
#include <stdio.h>
// Ejercicios aprenderaprogramar.com
int main () {
   /* local variable definition */
   int a = 100;
   if( a == 10 ) {
      printf("Value of a is 10\n" );
   }
   else if( a == 20 ) {
      printf("Value of a is 20\n" );
   }
   else if( a == 30 ) {
      printf("Value of a is 30\n" );
   }
   else {
      printf("None of the values is matching\n" );
   }
   printf("Exact value of a is: %d\n", a );
   return 0;
}

Citar
a) Describe qué es lo que hace este programa detalladamente.

1. Incluimos la clase "stdio.h"
2. Abrimos el método main
3. Definimos y inicializamos la variable "a" con un valor 100.
4. Comprobamos si la variable "a" es igual a 10
5. En caso de que se cumpliera esta condición definimos que se imprima: "Value of a is 10"
6. Comprobamos si la variable "a" es igual a 20
7. En caso de que se cumpliera esta condición definimos que se imprima: "Value of a is 20"
8. Comprobamos si la variable "a" es igual a 30
9. En caso de que se cumpliera esta condición definimos que se imprima: "Value of a is 30"
10. Si no se cumpliera ninguna de las condiciones anteriores definimos que se imprima: "None of the values is matching"
11. En cualquier caso definimos que se imprima: "Exact value of a is: 100"
12. Para que el método sea una función definimos un valor de retorno que en nuestro caso sería 0. (return 0).

Citar
b) ¿Cuál es el resultado si definimos a con valor 20? ¿Cuál es el resultado si definimos a con valor 30? ¿Cuál es el resultado si definimos a con valor 40?

1. Si definimos a con valor 20 se imprimirá: "Value of a is 20"
2. Si definimos a con valor 30 se imprimirá: "Value of a is 30"
3. Si definimos a con valor 40 se imprimirá: "None of the values is matching"

Citar
c) Elimina el último else que aparece en el código. ¿Cuál es el resultado ahora si definimos a con valor 20? ¿Cuál es el resultado ahora si definimos a con valor 30? ¿Cuál es el resultado ahora si definimos a con valor 40? ¿Por qué obtenemos ahora estos resultados?

1. Si definimos a con valor 20 se imprimirá: "Value of a is 20"
2. Si definimos a con valor 30 se imprimirá: "Value of a is 30"
3. Si definimos a con valor 40 no se imprimirá nada.

Obtenemos estos resultados porque hemos eliminado la instrucción por defecto que estaba declarada con la instrucción "else". Es decir, se imprimirán sólo los mensajes relacionados con las condiciones contempladas, pero no existe una condición por defecto para imprimir un mensaje si no se cumpliera ninguna de las condiciones definidas.

* En todos los casos se imprimirán los mensajes que he dicho más la instrucción final del método main que es: "Exact value of a is: 100".

Gracias.

53
Buenas tardes.

Mediante la presente expongo una posible solución del ejercicio CU00529F del curso tutorial de programación en C, lenguajeC desde cero.

Citar
EJERCICIO

Crea un programa que declare tres variables de tipo entero con valores A = 5, B = 3, C = -12 y muestre si se cumplen o no las siguientes condiciones usando if else:

a) A > 3                                 b) A > C                                 c) B != C                                 d) A == 3

e) A * B == 15                       f) C / B < A                             g) C / B == -10                 

h) A + B + C == 5

i) (A+B == 8 ) && (A-B == 2)                                       

j) (A+B == 8 ) || (A-B == 6)

o) A > 3 && B > 3 && C < 3                       

 

Ejemplo. Hay que evaluar si A es mayor que tres. Si se cumple esa condición debe mostrarse el mensaje “A es mayor que 3” y en caso contrario debe mostrarse el mensaje “A no es mayor que 3”. Proceder de la misma manera con el resto de condiciones.

El código:

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

int main() {
    int A = 5;
    int B = 3;
    int C = -12;

    if(A > 3){
        printf("A es mayor que 3\n");
    }else{
        printf("A no es mayor que 3\n");
    }

    if(A > C){
        printf("A es mayor que C\n");
    }else{
        printf("A no es mayor que C\n");
    }

    if(B != C){
        printf("B no es igual que C\n");
    }else{
        printf("B es igual que C\n");
    }

    if(A == 3){
        printf("A es igual a 3\n");
    }else{
        printf("A no es igual a 3\n");
    }

    if(A * B == 15){
        printf("A * B es igual a 15\n");
    }else{
        printf("A * B no es igual a 15\n");
    }

    if(C / B < A){
        printf("C entre B es menor que A\n");
    }else{
        printf("C entre B no es menor que A\n");
    }

    if(C / B == -10){
        printf("C entre B es igual a -10\n");
    }else{
        printf("C entre B no es igual a -10\n");
    }

    if(A + B + C == 15){
        printf("A m%cs B m%cs C es igual a 15\n", 160, 160);
    }else{
        printf("A m%cs B m%cs C no es igual a 15\n", 160, 160);
    }

    if((A + B) == 8 && (A - B) == 2){
        printf("A m%cs B es igual a 8 y A menos B es igual a 2\n", 160);
    }else{
        printf("A m%cs B no es igual a 8 y/o A menos B no es igual a 2\n", 160);
    }

    if(A + B == 8 || A - B == 6){
        printf("O A m%cs B es igual a 8 ó A menos B es igual a 6 o las dos condiciones son ciertas\n", 160);
    }else{
        printf("A m%cs B no es igual a 8 y A menos B no es igual a 6\n", 160);
    }

    if(A > 3 && B > 3 && C > 3){
        printf("A es mayor que 3 y B es mayor que 3 y C es mayor que 3\n");
    }else{
        printf("O A no es mayor que 3 ó B no es mayor que 3 ó C no es mayor que 3\n");
    }
}

Gracias.

54
Buenos días. Expongo una posible solución del ejercicio CU00528F del tutorial básico de programación con lenguaje C desde cero.

Citar
EJERCICIO

Crea un programa que usando puts y gets (sin usar printf ni scanf) pida al usuario su nombre y ciudad de nacimiento. Tras esto se deberá mostrar el siguiente mensaje: “Bienvenido nombre, encantado de hablar con alguien de ciudad”. Donde nombre y ciudad deben ser reemplazados por los datos proporcionados por el usuario. Por ejemplo si el usuario introduce como nombre Juan y como ciudad Lima, deberá mostrarse “Bienvenido Juan, encatando de hablar con alguien de Lima”.

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

int main() {
    char nombre[100], ciudad[100];
    char mensaje01[] = "Introduzca tu nombre: ";
    puts(mensaje01);
    gets(nombre);
    char mensaje02[] = "Intruduzca tu ciudad: ";
    puts(mensaje02);
    gets(ciudad);
    printf("Bienvenido %s, encantado de hablar con alguien de %s", nombre, ciudad);

    return 0;
}

Tengo dos dudas, la primera es porque cuando hacemos la instrucción para entrar datos nos da que los entremos en una línea nueva. La segunda es: ¿cómo podremos resolver el ejercicio sin utilizar la instrucción "printf" si la instrucción "puts" sólo acepta un parámetro? Entonces no podríamos escribir el mensaje que queremos y añadir las variables "nombre" y "ciudad".

Gracias.

55
Buenas noches.

Dejo una posible solución del ejercicio CU00527F del curso lenguajeC desde cero.

Citar
EJERCICIO

Crea un programa que pida al usuario el radio de una esfera y muestre por pantalla el volumen de la esfera. Si no conoces la fórmula de cálculo, busca información al respecto en internet.

Fórmula del el volumen de la esfera:

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

int main() {
    double V, R;
    const double Pi = 3.141593;

    //Datos
    printf("Introduce el radio de la esfera: ");
    scanf("%lf", &R);

    //Cálculo
    V = 1.33*Pi*pow(R, 3);

    printf("El volumen de la esfera es: %lf, metros c%cbicos", V, 163);

    return 0;
}

Gracias.

56
Buenas tades.  Dejo una posible solución del ejercicio CU00526F del curso básico de programación en lenguaje C desde cero.

Citar
EJERCICIO

Crea un programa donde se genere un número entero aleatorio entre 20 y 30 ambos incluidos que debe almacenarse en una variable denominada alumnos. Crear un número aleatorio entre 5 y 12 incluido el 5 y excluido el 12 que debe almacenarse en una variable denominada afectados. Crea una variable denominada temperatura que almacene un valor aleatorio entre 37 y 40 ambos incluidos. A continuación muestra por pantalla un mensaje como este: “El total de alumnos en el aula es xxx, de ellos están afectados yyy por la enfermedad, y la temperatura que están sufriendo es zzzz grados centígrados”, donde xxx, yyy, zzz tomarán el valor definido por las variables aleatorias. Por ejemplo un mensaje que podría mostrar el programa sería el siguiente: “El total de alumnos es 26, de ellos están afectados por la enfermedad 8, y la temperatura que están sufriendo es 39 grados centígrados”.

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

int main(){

    srand(time(NULL));
    int alumnos = rand()%11+20;
    int afectados = rand()%7+5;
    int temperatura = rand()%4+37;

    printf("El total de alumnos en el aula es de %d , de ellos est%cn afectados %d por las enfermedades, y la tempertatura que est%cn sufriendo es %d grados cent%cgrados", alumnos, 160, afectados, 160, temperatura, 161);

    return 0;
}

Gracias.

57
Buenas tardes. Expongo una posible solución del ejercicio CU00525F del taller de programación en lenguaje C desde cero.

Citar
EJERCICIO

Crea un programa donde se muestre el mensaje: “El número de pacientes en la cola es x. Transcurridos 10 minutos el número de pacientes en la cola es x”. Donde debes sustituir x por un aleatorio comprendido entre 1 y 225 ambos inclusive. El resultado del programa debe ser, por ejemplo, <<El número de pacientes en la cola es 132. Transcurridos 10 minutos el número de pacientes en la cola es 204>>.

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

int main(){
    srand(time(NULL));
    int test = rand()%226+1;
    char cadena1[] = "El número de pacientes en la cola es: ";
    cadena1[4] = 163;
    char cadena2[] = "Transcurridos 10 minutos el número de pacientes en la cola es: ";
    cadena2[29] = cadena1[4];

    printf("%s%d\n%s%d\n", cadena1, test, cadena2, rand()%226+1);

    return 0;
}

Gracias.

58
Hola. Dejo una posible solución del ejercicio CU00524F del tutorial lenguaje de programación C desde cero.

Citar
EJERCICIO

Crea un programa donde se cumplan estas indicaciones. Declara cuatro variables que serán arrays de caracteres. Establece los siguientes contenidos. Para la primera variable: <<El antílope está hecho añicos>>. Para la segunda variable: <<Hoy llueve>>. Para la tercera variable: <<El cañón es corto>>. Para la cuarta variable: <<aprenderaprogramar>>. Muestra el contenido de las variables por pantalla, cada contenido en una línea y antecediendo la primera variable de una tabulación, la segunda de dos tabulaciones y así sucesivamente. De este modo, el efecto será el de un texto “escalonado”.

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

int main() {
    char cadena1[] = "\tEl antílope está hecho añicos\n";
    cadena1[7] = 161;
    cadena1[16] = 160;
    cadena1[25] = 164;

    char cadena2[] = "\t\tHoy llueve\n";

    char cadena3[] = "\t\t\tEl cañón es corto\n";
    cadena3[8] = 164;
    cadena3[9] = 162;

    char cadena4[] = "\t\t\t\taprenderaprogramar";

    printf("%s%s%s%s", cadena1, cadena2, cadena3, cadena4);

    return 0;
}

Gracias.

59
Buenas. Os dejo una posible solución del ejercicio CU00523F del tutorial lenguajeC desde cero.

Citar
EJERCICIO

Crea un programa donde se cumplan estas indicaciones. Declara cuatro variables: una de tipo entero y nombre edad, otra de tipo long y nombre distancia, otra de tipo carácter y nombre letra y otra de tipo array de caracteres y nombre cadenaTexto. Asígnales, respectivamente, los siguientes valores: 21, 488321, k, alameda. Muestra dichos contenidos por pantalla. A continuación asigna respectivamente, los siguientes valores a las variables: 22, 666543, t, arboleda. Muestra dichos contenidos por pantalla.

La solución:

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

int main(){
    int edad = 21;
    long distancia = 488321;
    char letra = 'k';
    char cadenaTexto[9];
    cadenaTexto[0] = 'a';
    cadenaTexto[1] = 'l';
    cadenaTexto[2] = 'a';
    cadenaTexto[3] = 'm';
    cadenaTexto[4] = 'e';
    cadenaTexto[5] = 'd';
    cadenaTexto[6] = 'a';

    printf("edad vale %d, distancia vale %ld, letra vale %c, cadenaTexto vale %s\n\n\n", edad, distancia, letra, cadenaTexto);

    edad = 22;
    distancia = 666543;
    letra = 't';
    cadenaTexto[0] = 'a';
    cadenaTexto[1] = 'r';
    cadenaTexto[2] = 'b';
    cadenaTexto[3] = 'o';
    cadenaTexto[4] = 'l';
    cadenaTexto[5] = 'e';
    cadenaTexto[6] = 'd';
    cadenaTexto[7] = 'a';

    printf("edad vale %d, distancia vale %ld, letra vale %c, cadenaTexto vale %s", edad, distancia, letra, cadenaTexto);

    return 0;

}

No entiendo porque el array tiene que tener 9 índices si la cadena más larga que ponemos es de 8 letras.

Gracias.

60
Hola a todos los compañeros. Propongo una posible solución del ejercicio CU00522F del curso de programación con lenguaje C desde cero.

Citar
EJERCICIO

Dado el siguiente código:

Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
// Ejercicio aprenderaprogramar.com
int main() {
    int valorUsuario;
    printf("Introduzca su peso en kg como valor numerico: ");
    scanf("%s", &valorPeso);
    printf("Gracias");
    return 0;
}

Citar
Responde estas preguntas:

a) ¿Por qué es incoherente el siguiente código? Señala qué errores contiene.

Es incoherente porque la variable "valorUsuario" está definida como tipo primitivo "int" y posteriormente el indicador de tipo de dato que se espera está definido como  tipo cadena alfanumérica.

Citar
b) ¿Cómo podemos hacerlo coherente?

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

int main()
{
    float valorUsuario;
    printf("Introduzca su peso en kg como valor numerico: ");
    scanf("%f", &valorUsuario);
    printf("Gracias");

    return 0;
}

He decidido definir la variable "valorUsuario" de tipo float porque normalmente el peso se expresa en decimales. Posteriormente he definido el dato que se espera por parte del usuario del mismo tipo que había definido anteriormente la variable "valorUsuario".

Gracias.

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

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".