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.


Mensajes - Dimitar Stefanov

Páginas: 1 2 3 4 5 [6] 7 8 9 10 11 ... 30
101
Buenos días, Mario.

Antes que nada, gracias por otro ejercicio corregido por tu parte.

Totalmente de acuerdo contigo. Cuando entregaba este ejercicio también pensé que no era una solución válida para un código con más usuarios.

El código, utilizando bucle, quedaría así:

Código: [Seleccionar]
<?php 

$nombreExistente[0]='juan'
$nombreExistente[1]='pedro'
$nombreExistente[2]='alfredo'
$nombreExistente[3]='luis';

$usuario $_POST['usuario'];
for($i=0$i<count($nombreExistente); $i++){
if($usuario == $nombreExistente[$i]){
$resultado $resultado 1;
}else{
$resultado $resultado 0;
}
}

if($resultado == 1){
echo "Nombre de usuario no disponible";
}else{
echo "Nombre de usuario libre";
}

?>

Gracias.

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

103
Buenos días, umadara.

El otro ejercicio bien resuelto. El mismo comentario como la entrega anterior, quedaría más curioso si empezaran la impresión con: "Letra 1:".

Sobre tu duda que si es necesaria la instrucción: "if (i == entradaTeclado.length()) { break;}" o no. La instrucción "while" significa "mientras" pasa algo, que haga las instrucciónes que has puesto entre los corchetes. Si ya se ha cumplido esta condición ya no es "mientras" y el bucle no continuará, por lo tanto no te es necesario poner la segunda condicional: "if (i == entradaTeclado.length()) { break;}".

Saludos.

104
Buenos días, umadara.

Ejercicio satisfactoriamente resuelto. Sólo un pequeño detalle, podrías definir la instrucción de impresión así:

Código: [Seleccionar]
System.out.println ("letra " + (i+1) + ": " + entradaTeclado.substring (i, i+1));
De esta manera la impresión empezará con: "Letra 1" y no "Letra 0:".

Saludos.

105
Buenos días, eduardoc.

Aparte de tener el ejercicio bien resuelto, se notan conocimientos de programación más altos que los correspondientes a la presente entrega del curso. Lo demuestras sabiendo invocar dentro de la función la misma función. Felicidades.

Saludos.

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

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

108
Autocorrección. El código debería de ser:

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

int main(){
    srand(time(NULL));
    int test = rand()%225+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()%225+1);

    return 0;
}

Gracias.

109
Buenas tardes, umadara.

Has hecho el ejercicio muy bien. Felicidades.

Saludos.

110
Buenas tardes, cigarzonl.
Voy a corregirte el ejercicio contestando a las preguntas así como considero que deberían ser las respuestas.

Citar
¿Te parece lógico el resultado?

El resultado es lógico porque las cadenas vacías también cuentan como carácteres.

Citar
Recuerda que los espacios cuentan. No es lo mismo una cadena de longitud cero o cadena vacía, representada por dos comillas sin espacio entre ellas, que una cadena que contenga un espacio, representada por dos cadenas que contengan un espacio entre ellas, cuya longitud o número de caracteres es 1.

Citar
¿Tienen utilidad conocida a la vista del código de la clase?


No tienen ninguna utilidad a la vista, porque no se utilizan en el código. Sólo se definen y inicializan con valores por defecto.

Citar
¿Se usan en los métodos que tenemos definidos?

No

Saludos.

111
Buenas, cigarzonl.

Hasta la entrega CU00673B no se estudia el uso de la palabra clave "static". No te recomendaría que la uses aún en la resolución de los ejercicios, no por utilizarla mal, sino para empezar a utilizarla después de comprender su significado.

A continuación te dejo la definición de dicha instrucción extraida de la entrega que te comenté:

Citar
a) static: los atributos miembros de una clase pueden ser atributos de clase o atributos de instancia; se dice que son atributos de clase si se usa la palabra clave static: en ese caso la variable es única para todas las instancias (objetos) de la clase (ocupa un único lugar en memoria). A veces a las variables de clase se les llama variables estáticas. Si no se usa static, el sistema crea un lugar nuevo para esa variable con cada instancia (la variable es diferente para cada objeto). En el caso de una constante no tiene sentido crear un nuevo lugar de memoria por cada objeto de una clase que se cree. Por ello es adecuado el uso de la palabra clave static. Cuando usamos “static final” se dice que creamos una constante de clase, un atributo común a todos los objetos de esa clase.

Saludos.

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

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

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

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

116
Buenas tardes. Mediante la presente expongo una posible solución del ejercicio CU00521F del curso lenguajeC desde cero.

Citar
EJERCICIO

Transforma el siguiente código:

Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
int main() {
    // Esta declaracion es valida aunque extraña
    int
    a
    =
    3;
    printf("a vale %d\n\n\n", a);
    printf( "En el caso de tener una linea muy larga podemos cerrar comillas en un linea"
                " y abrir comillas en otra para crear una continuidad en un texto\n");
    return 0; // Ejemplo aprenderaprogramar.com
}

Citar
Con el objetivo de dejar el código en el mínimo número de líneas que sea posible para su compilación y ejecución. Si es posible que ocupe solo una línea, deberás dejarlo en una sola línea. Si son necesarias dos, deberás dejarlo en dos. Si son necesarias tres, deberás dejarlo en tres y así sucesivamente. Tienes que determinar cuál es el número mínimo de líneas necesarias.

Responde a las siguientes cuestiones:

a) ¿Cuál es el código del programa que has definido?

Código: [Seleccionar]
#include <stdio.h> #include <stdlib.h>
int main(){int a=3;printf("a vale %d\n\n\nEn el caso de tener una linea muy larga podemos cerrar comillas en un linea y abrir comillas en otra para crear una continuidad en un texto\n", a);return 0;}

Citar
b) ¿Cuáles son los resultados que obtienes por pantalla al ejecutar el programa?

a vale 3

En el caso de tener una linea muy larga podemos cerrar comillas en un linea y abrir comillas en otra para crear una continuidad en un texto

Citar
c) ¿Cuántas líneas ocupa tu código?

2

Gracias.

117
Buenos días, cigarzonl.

Tienes la definición del método "combinacion" y la variable local en el con los mismos nombres, considero que no es una buena práctica.

El ejercicio pide:

Citar
Crea una clase (ponle el nombre que quieras) que carezca de atributos y cuyo constructor esté vacío.

tu constructor no está vacía.

El ejercicio pide:

Citar
las dos primeras letras de la primera cadena, seguidas por un espacio en blanco, seguidas de las cuatro primeras letras de la segunda cadena, seguidas de un guión medio y seguido de las 6 primeras letras de la tercera cadena.

El recuento de los carácteres extraidos empieza en 0 y excluye el carácter pasado como segundo parámetro en el método "substring()". Por lo tanto los parámetros pasados en el método "conbinacion" te tendrían que quedar así:

valor_nombre1.substring(0,2),
valor_nombre2.substring(0,4),
valor_nombre3.substring(0,6).

Saludos.

118
Buenos días, cigarzonl.

Has definido los métodos con unos nombres que coinciden que los nombres de los métodos predefinidos de la clase "Math". Creo que no es buena práctica, porque puede crear confusiones. Podrías haberlos definido como: "valorAbsoluto" y "raizCuadrada". Busca siempre nombres descriptivos.

En el ejercicio se pide:

Citar
un método valorAbsoluto que recibe un número de tipo double y devuelva su valor absoluto, y otro método raizCuadrada que reciba un número de tipo double y devuelva su raíz cuadrada.

es decir, los dos métodos tienes que devolver tipos primitivos double. En el primer método estás devolviendo variable de tipo primitovo int.

¿Por qué has definido los métodos como static?

Saludos.

119
Buenos días, cigarzonl.

Ejercicio resuelto correctamente.

Normalmente en una clase siempre se establecen los métodos get y set, pero como este código está hecho con fines didácticos, en este caso no es necesario.

Saludos.

120
Buenos días, eduardoc.

Un ejercicio totalmente correcto.

Saludos.

Páginas: 1 2 3 4 5 [6] 7 8 9 10 11 ... 30

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