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 - Mario R. Rancel

Páginas: 1 ... 15 16 17 18 19 [20] 21 22 23 24 25 ... 32
381
Hola por la lógica que has explicado sería posible:

- Viajar a Europa

- Viajar a América-sitio distinto de Chile

- Viajar a América-sitio distinto de Chile, y además a Chile

- Viajar sólo a Chile

No serían posibles las combinaciones Europa-America ni Europa-Chile.


Con esta lógica tendríamos:

Columna 1: imposible

Columna 2: posible

Columna 3: imposible

Columna 4: posible

Columna 5: imposible

Columna 6: posible

Columna 7: imposible

Columna 8: posible

Columna 9: imposible

Columna 10: posible

Columna 11: posible

Columna 12: sería imposible, porque no se viaja a ningún lado, si no hay viaje no se puede aplicar una tarifa o criterio de precios ¿Por qué la has marcado como sin descuento?

Columna 13: imposible

Columna 14: posible

Columna 15: posible

Columna 16: sería imposible, porque no se viaja a ningún lado, si no hay viaje no se puede aplicar una tarifa o criterio de precios ¿Por qué la has marcado como sin descuento?

Saludos

382
Gracias a ambos por ese "reconocimiento". Y en especial a Toni, que me parece un ejemplo para todas las personas que se esfuerzan por aprender. No sólo ha sido capaz de formarse con esfuerzo y constancia, sino que ha seguido colaborando con la web (de hecho se convirtió en moderador) y ayudando a personas que tratan de aprender. Así que desde aquí nuestro reconocimiento y agradecimiento a toni por su labor.

383
Hola MrClassic, he revisado tu ejercicio y en primer lugar felicitarte porque se ve un buen trabajo. Te voy a hacer distintas apreciaciones para tratar de animarte a mejorar:


[ Deje todo comentado como muestra del proceso de desarrollo del ejercicio. "iniciaba de una forma luego la cambiaba por otra que creia mejor" ]

Estos comentarios sobre cosas que pensaste pero luego cambiaste es preferible no presentarlos a la hora de entregar un ejercicio o ejemplo. Se entiende que siempre que se crea código hay un proceso de cambio y de mejora progresivo, y el trabajo se evalúa en base al código final, no en base a lo que se haya ido pensando a lo largo del proceso de creación del código.

Por ejemplo esto:

        this("",0,"","");
       /* nombre = "";
        edad = 0;
        direccion = "";
        telefono = "";*/

El this está muy bien usado. No hace falta ver el comentario, si usas el this de esa manera (y lo has creado tú mismo, sin copiarlo desde ningún sitio) ya estás demostrando un mejor nivel de programación.

[ Deseo saber si estoy o no incurriendo en el modelo descrito en la siguiente imagen como dije tengo dudas mil, y el diagrama de clases muestra que la clase mainUniversidad "usa" a todas las demas clases. ]

En general sí estás haciendo un buen uso del modelo de programación orientada a objetos

Pero la imagen que describe el modelo de la programación orientada a objetos es esta:


El método main no es el centro de atención, simplemente "pone en juego a los objetos"


Voy a hacer una revisión de clases una a una:

Clase Estudiante: todo bien

Clase Curso: todo bien

Clase Matricula: está muy bien planteada y de acuerdo con la filosofía de la orientación a objetos. Una matrícula es una relación de un estudiante con un curso y consta de algunos atributos propios, de un objeto estudiante y de un objeto curso. ¡Ahí estás haciendo un buen uso de los objetos!

Los métodos get de atributos objetos devuelven objetos -- > bien

Método getMatricula: este método podemos decir que no está bien planteado por varios motivos, pero son cuestiones que irás aprendiendo a medida que vayas avanzando en el estudio de Java. Te digo que no está bien planteada porque:

a) Un método get suele ser un método tipo función, por tanto que devuelve algo con return. Este método no devuelve nada.

b) Cada clase debe tener sus responsabilidades. La clase responsable de almacenar la facultad es la clase curso, por tanto debería ser esta clase quien dispusiera de un método que diga el nombre de la facultad. En el código que has planteado esta responsabilidad la tiene switch(datoFacultad){ dentro de getMatricula, y esto no es adecuado. Yendo más allá, posiblemente hubiera sido adecuado crear una clase Facultad, pero tanto si se crea como si no, no sería apropiado tener ese switch dentro de la clase Matricula.

c) Un método como el getMatricula debería llamarse mostrarDatosMatricula

d) Un método como getMatricula debería posiblemente ser un método sobreescrito toString(), pero para esto necesitas avanzar en la programación Java para comprender qué es, para qué sirve y cómo se utiliza el método toString()



Clase CapturaDatos: todo bien. Teniendo en cuenta que las clases son el molde para crear objetos, no es un nombre adecuado. Sería más adecuado CapturadorDeDatos. De esta forma podemos decir que "hemos creado un objeto capturador de datos" y no "un objeto captura datos"

Clase MainUniversidad: bien

Este fragmento:

Código: [Seleccionar]
        //OBTENEMOS Y MOSTRAMOS VALORES DE VARIABLES DE ESTUDIANTE USANDO METODOS Getters
        System.out.println("\n");
        System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
        System.out.println("LOS DATOS INGRESADOS SON: ");
        System.out.println("NOMBRE: " + estudiante.getNombre());
        System.out.println("EDAD: " + estudiante.getEdad());
        System.out.println("DIRECCION: " + estudiante.getDireccion());
        System.out.println("TELEFONO: " + estudiante.getTelefono()); 
        System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
        System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");

Está mostrando los datos de un estudiante, pero esto no debe ser responsabilidad de la clase del main, deberías tener un método dentro de la clase estudiante para hacer esto, y en el main simplemente invocar este método.

Lo mismo cuando muestras los datos de los cursos y de las matrículas. Esto debería ser responsabilidad de cada clase, no del main.


[ desearia "ya que no puedo preguntar de forma hablada", que intuyera algunas de mis iniciales intenciones "Lo comentado" y me diera sus apreciaciones con miras de saber si estoy o no en lo correcto ]

Sí, todo lo que se ve comentado ha sido mejorado. Por ejemplo

Código: [Seleccionar]
          //Constructor Auxiliar
        curso = new Curso();
       
        //ESTABLECEMOS VALORES PARA VARIABLES DE CURSO USANDO METODOS Setters
       
        curso.setNombre(nom2);
        curso.setTematica(tema);
        curso.setCarrera(carrera);
        curso.setFacultad(facultad);
         ========================================== */
         
        //Constructor con parametros
       
        curso = new Curso(nom2,tema,carrera,facultad);

¡Muy bien! Estás haciendo en una línea lo que antes hacías en cinco


[ ¿Donde se debe imprimir?, ¿En una clase cualquiera "Matricula en este caso" o el "main"?, "de igual manera imprimi en ambas clases" ]

Creo que ya he comentado que cada clase debe ocuparse de sus cosas.



[ si se imprime en el main, como debo imprimir la información del estudiante, que debo instanciar? la clase estudiante?"Estudiante.getNombre(),  o la clase matricula que contiene la clase estudiante  y curso instanciadas Matricula().getStudent().getNombre()? "¿Es esto ultimo correcto?. ]

Sí, esto último es correcto. Normalmente dispondrás del objeto Matricula y a lo mejor no conoces o no tienes visibilidad el objeto estudiante, excepto si accedes a él a través de la matrícula.

Nota: largas cadenas de llamadas no se consideran adecuadas, por ejemplo pais.getRegion().getProvincia().getCiudad().getFacultad().getMatricula().getEstudiante indicaría que algo no se está haciendo bien.


[ El ejercicio trata de representar la matricula de un curso Universitario, trate de hacer lo mas claro posible, espero sea entendido ]


El ejercicio está bien planteado y el diseño es bueno, podrás mejorarlo si sigues estudiando y practicando, pero te felicito por el trabajo.

Saludos.

384
Hola, las respuestas son correctas. Comentarte que el método pop es un tanto curioso: por un lado, elimina el objeto que está en la cima de la pila y lo devuelve como resultado. Sin embargo peek devuelve el objeto pero no lo elimina. Por ello podríamos decir que peek es una función estrictamente, mientras que pop podríamos verlo como una mezcla entre procedimiento y función. Imaginemos un método que simplemente eliminara el objeto en la cima de la pila sin devolver nada: ¿diríamos que es un procedimiento o una función? Diríamos que es un procedimiento porque no devuelve nada. En este caso el método por un lado elimina el objeto de la cima (propio de un procedimiento) y por otro lado lo devuelve (propio de una función). Este tipo de métodos son relativamente frecuentes en Java y a medida que vayas trabajando con el api de Java irás aprendiendo a identificarlos. Saludos.


385
Sí, ahora he entendido perfectamente lo que querías decir. Mi recomendación: no te preocupes ahora de saber leer ni de saber crear este tipo de esquemas, conforme vayas adquiriendo destrezas en programación podrás crearlos e interpretarlos, pero desde mi punto de vista hace falta tiempo... Saludos

386
Mi opinión es que deberías:

- Saber aplicar el método descrito en https://www.aprenderaprogramar.com/foros/index.php?topic=1925.0 paso por paso. Aunque no sepas representarlo como esquema o método deberías ser capaz al menos de comprender la lógica y saber aplicarla.

- Seguir avanzando con el temario, esta cuestión no debe ser motivo para detenerse.

Saludos

387
Hola, la definición de un método (por ejemplo un método para ordenar números) es algo un tanto complejo, te puedo asegurar que hay muchos programadores "profesionales" que no son capaces de definir métodos de este tipo, por tanto no debes preocuparte ahora ni entretenerte demasiado en estas cuestiones, que podrás ir practicando y dominando con el tiempo. Lo interesante ahora es comprender que existen métodos que estando bien definidos y seguidos paso a paso nos llevan a una solución de un problema, por ejemplo del problema de ordenar una lista de números. También es interesante ser capaz de dado un método, seguirlo paso a paso hasta alcanzar la solución, dado que cuando escribimos programas muchas veces tenemos que aplicar una forma de análisis similar: ir paso por paso siguiendo la ejecución del ordenador, normalmente para encontrar un punto de fallo. En resumen, si eres capaz de dado un método aplicarlo paso a paso sigue adelante... con el tiempo irás conformando una base de conocimiento que te permitirá construir e interpretar...

Saludos

388
El apartado c) también está correcto aunque te haría algunas recomendaciones:

Mantén todas las funciones agrupadas (por ejemplo al principio del archivo) y el código escríbelo después. Sería como esto:

Código: [Seleccionar]
<?php
function escribirTresNumeros($num1,$num2,$num3){
echo 'Que comience la funcion<BR/><BR/>Se han escrito los numeros:<BR/>';
echo $num1.'<BR/>';
echo $num2.'<BR/>';
echo $num3.'<BR/>';
$fp fopen("ejercicio4.txt""w");
fputs($fp,$num1."\n".$num2."\n".$num3."\n"); 
fclose($fp);
}

function 
obtenerSuma($ejercicio4) {  
$sumatorio 0;
$fp fopen($ejercicio4"r");
    
$i 0;
while(!feof($fp)) {
$linea fgets($fp);
$sumatorio $sumatorio+$linea;
if (!feof($fp)) {echo 'El dato leido en la linea '.$i' es '.$linea ' y el sumatorio por ahora vale '.$sumatorio.'<br />';}
$i=$i+1;

    
fclose($fp);  
return $sumatorio;
}

function 
obtenerArray($ejercicio4) {  
$miarray = array();
$fp fopen($ejercicio4"r");
$i 0;
while(!feof($fp)) {
$miarray[$i] = fgets($fp);
$i=$i+1;

    
fclose($fp);  
return $miarray;
}
escribirTresNumeros(2,8,14);
echo 
"<BR/>La sumatoria de los datos en el archivo datosEjercicioA es: " obtenerSuma('ejercicio4.txt')."<br/><br/>";
$miNuevoArray obtenerArray('ejercicio4.txt');
for (
$j=0$j count($miNuevoArray); $j++){
echo 
$miNuevoArray[$j].'<br/>';
}
?>

Otra recomendación es que sacaras las instrucciones echo fuera de todas las funciones (llevarlas a la parte final donde escribes el código), es decir, una función que escribe a un archivo debe limitarse a esto, no debe mostrar nada por pantalla, lo mismo si suma datos y devuelve la suma, debe limitarse a devolver la suma. Ahora mismo no pasa nada, pero sería bueno que vayas acostumbrándote a mantener buenas prácticas y buena ordenación del código.

Saludos y adelante

389
Hola, el apartado c) está correcto, pero para recorrer un array siempre es recomendable usar un bucle, no hacerlo "a mano". El código quedaría así:

Código: [Seleccionar]
<?php
function obtenerArray($rutadearchivo) {  
$miarray = array();
$fp fopen($rutadearchivo"r");
$i 0;
while(!feof($fp)) {
   
$miarray[$i] = fgets($fp);
$i=$i+1;

    
fclose($fp);  
return $miarray;
}
$miNuevoArray obtenerArray('datosEjercicioA.txt');
for (
$j=0$j count($miNuevoArray); $j++){
echo 
$miNuevoArray[$j].'<br/>'.'<br/>';
}
?>

390
Hola, el código del apartado a) está correcto, aunque fíjate que al hacer la apertura en modo a:

$fp = fopen("datosEjercicioA.txt", "a");

 cada vez que ejecutes el código se van a escribir nuevas líneas. Si en vez de escribir nuevas líneas queremos que se reescriba el archivo lo haríamos abriendo en modo w por ejemplo:

$fp = fopen("datosEjercicioA.txt", "w");

El código del apartado b) tiene varios fallos, en algunos casos fallan los conceptos vistos en temas previos del curso que te recomiendo repases.

function obtenersuma(rutadearchivo.txt) está mal escrito, tienes que escribir function obtenerSuma($rutadearchivo)

Además tienes un return y después del return ya no tiene sentido que incluyas más código, el return se pone al final de una función para devolver un resultado.

El código para el apartado b) tendría que ser este (o similar, puedes adaptarlo):

Código: [Seleccionar]
<?php
function obtenerSuma($rutadearchivo) {  
$sumatorio 0;
$fp fopen($rutadearchivo"r");
    
$i 0;
while(!feof($fp)) {
$linea fgets($fp);
$sumatorio $sumatorio+$linea;
if (!feof($fp)) {echo 'El dato leido en la linea '.$i' es '.$linea ' y el sumatorio por ahora vale '.$sumatorio.'<br />';}
$i=$i+1;

    
fclose($fp);  
return $sumatorio;
}
echo 
"<BR/>La sumatoria de los datos en el archivo datosEjercicioA es: " obtenerSuma('datosEjercicioA.txt');
?>

Tienes que repasar todo lo que hace este código según lo explicado en el curso y entenderlo paso a paso para poder seguir avanzando.

Saludos

391
Aquí una explicación complementaria que puede resultar de interés: https://www.aprenderaprogramar.com/foros/index.php?topic=1925.0


392
Ejemplo para describir el método de ordenación de números: ordenar esta serie de números

Caso de estudio:      45   11   32   8   267


EXPLICACIÓN

El ejercicio podemos verlo con el siguiente símil: “Tengo 5 cajas que por fuera tienen una etiqueta que pone v(1), v(2), v(3), v(4) y v(5). Dentro de cada caja hay un papel con un número (inicialmente estas cajas tienen como contenido papeles con los números 45, 11, 32, 8 y 267).

Tengo otras 5 cajas que por fuera tienen una etiqueta que pone o(1), o(2), o(3), o(4) y o(5). Dentro de cada caja hay un papel con un número (inicialmente todas estas cajas tienen un papel que no pone nada, lo consideramos como si fuera un cero). Lo que quiero es que en estas cajas al final tenga los números ordenados de mayor a menor, de modo que en la caja o(1) esté el número más grande, en la caja o(2) el siguiente más grande y así hasta terminar.

Paso 1

Queremos escribir un valor en la caja o(1) para ir ordenando los números en estas cajas. En cada paso vamos a escribir en el papel de una caja de orden o(…) analizando una caja de valor v(…) de modo que poco a poco vayamos ordenando los números.

Como la caja que pone o(1) está vacía, escribimos en el papel que contiene lo mismo que pone el papel de la caja v(1), de modo que ahora o(1) = v(1) = 45

Provisionalmente el orden 1, el mayor número, es 45, ya que de momento sólo hemos analizado la caja que pone v(1). Cuando analicemos las otras cajas a lo mejor hay que hacer cambios.

Paso 2

Comparo el papel en la caja que pone o(1) con el que pone la caja v(2). ¿Es mayor el número dentro de la caja que pone o(1) que el número dentro de la caja que pone v(2)? Sí, puesto que en o(1) tenemos un 45 y en la caja v(2) hay un 11. Por tanto el orden 2 será 11, para hacerlo efectivo escribimos en el papel dentro de la caja o(2) el número 11. Ahora tenemos como orden 1 el 45 y como orden 2 el 11 (provisionalmente).


Paso 3

Comparo el papel de la caja que pone o(1) con el que tiene la caja v(3). ¿Es mayor el número dentro de la caja que pone o(1) que el número dentro de la caja que pone v(3)? Sí, por tanto el orden 1 sigue siendo el 45. Ahora comparo el papel de la caja que pone o(2) con el que tiene la caja v(3). ¿Es mayor el número dentro de la caja que pone o(2) que el número dentro de la caja que pone v(3)? No, ya que o(2) tiene 11 mientras que v(3) tiene 32. Queremos asignar un contenido a la caja que pone o(3), pero ya sabemos que este contenido tendrá que ser el número que figuraba en la caja o(2) anteriormente porque hay que escribir otro número dentro de la caja que pone o(2). Entonces, en la caja o(3) escribimos en el papel lo que antes figuraba en la caja o(2), es decir, o(3) = o(2) = 11, esto significa que la caja que pone o(3) ahora tiene escrito en el papel que lleva dentro lo que estaba escrito en la caja que ponía o(2).
Ahora en la caja que pone o(2) escibimos en su papel el número 32 (que es lo que ponía el papel en la caja v(3).

De esta forma en las cajas o(1) nos queda el 45, en la caja o(2) nos queda el 32 y en la caja o(3) nos queda el 11. Vemos cómo nos van quedando ordenados los números.


Paso 4

Comparo el papel de o(1) que pone 45 con el que tiene la caja v(4) que es 8, como o(1) es mayor no hay que hacer cambios. Comparo o(2) con v(4) y también es mayor, no hay que hacer cambios. Comparo o(3) con v(4) y también es mayor. Ahora ya sé que en la caja o(4) puedo escribir 8. Ahora tengo los números ordenados de momento como o(1) = 45, o(2) = 32, o(3) = 11, o(4) = 8


Paso 5

Comparo el papel de o(1) que pone 45 con el que tiene la caja v(5) que es 267. Como v(5) es mayor que o(1) significa que este número se va a convertir en o(1), pero la caja con o(1) tiene un número y no puedo tacharlo directamente porque lo perdería. Lo primero que tengo que hacer es “hacerle sitio” reordenando lo que tiene cada caja y para ello:

Escribo en la caja o(5) lo que ponía la caja o(4), es decir, o(5) = 8  (podemos escribir o(5) = o(4) para indicar que la caja que pone o(5) ahora lleva un papel con lo que ponía la caja o(4)).

Escribo en la caja o(4) lo que tenía la caja o(3), es decir ahora o(4) = 11

Escribo en la caja o(3) lo que tenía la caja o(2), es decir ahora o(3) = 32

Escribo en la caja o(2) lo que tenía la caja o(1), es decir ahora o(2) = 45

Ahora ya puedo tachar el papel de la caja o(1) y escribir en él 267.

Ya no tengo más cajas que analizar (he ido en cada paso analizando una caja v y asignando contenido a una caja o, al haber analizado la última caja, v(5) y asignado el orden o(5) ya no me quedan más cajas.

Podemos escribir que el resultado, los números ordenados, queda así:

o(1) = 267 o(2) =45 o(3) = 32 o(4) = 11 o(5) = 8



394
Citar
Esto, aunque no es el momento, también se podría hacer aplicando este mismo método a otra ecuación distinta del mismo tipo para ver si nos da el resultado esperado, no es así?

Exactamente, esa es la idea que hay detrás de todo esto. Saludos.

Voy a poner otro ejemplo: supongamos que tratamos de saber qué solución hay para la ecuación 3*x = 6,25
Aquí es fácil obtener la solución directamente (x=6,25/3 = 2,08333) pero tal y como plantea el ejercicio de la página 45, vamos a suponer que vamos a resolverlo por tanteo, es decir, haciendo pruebas, y que sabemos que la solución está entre 2 y 3.

El error admisible sería la desviación del resultado exacto buscado máxima que admitimos para dar un valor de x por bueno como solución. No se aplica en la ecuación, sino que lo usamos para evaluar si el resultado es el buscado o no. Supongamos que el error admisible es +-0,01 igual que en el ejemplo. Esto significa que en cuanto encontráramos un valor de x que nos devuelva 6,24 (-0,01) ó 6,26 (+0,01) ya diríamos que hemos encontrado solución. En el ejercicio de la página 45 como el resultado buscado es cero, se da por bueno un valor de x desde que nos devuelva un resultado entre -0,01 y +0,01.
Ahora suponiendo un intervalo de búsqueda 0,001 empezaríamos las pruebas, supongamos que partimos de 2:
Primera prueba: 3*2= 6 y buscamos 6,25 +-error admisible, es decir entre 6,24 y 6,26 por tanto 2 no es una solución admisible.
Segunda prueba: 3*2,001 = 6,003 tampoco está entre 6,24 y 6,26 por tanto 2,001 no es una solución admisible
Tercera prueba: 3*2,002 = ...
Cuarta prueba: 3*2,003 = ...

Así seguiríamos haciendo pruebas. Para hacerlo más llevadero, podemos usar una hoja excel que nos sirva de simulación donde en una columna tenemos siempre 3 y en la otra columna los valores a multiplicar (2; 2,001; 2,002; 2,003; ... ) y en otra columna los resultados obtenidos.

Siguiendo las pruebas tras ochenta pruebas llegaríamos a 3*2,080 = 6,24 ; como este resultado tiene un error de -0,01 respecto al buscado 0,25 y ese error está dentro de lo admisible, lo daríamos por bueno y diríamos que hemos llegado a la solución x=2,08

395
Hola, creo que la cuestión está en que según enfoques las cosas, obtendrás una visión u otra. Si consideras que le estás dando valores a la x en una fórmula ya existente, pues eso es lo que verás. Si lo enfocas desde el punto de vista de que antes de darle valores a la x has planteado un método para resolver fórmulas de tipo ax2 + bx + c = 0, que antes de probar valores has decidido por qué valor debes empezar a probar, que antes de darle valores a la x has decidido cuánto debe incrementarse la x en cada repetición, y que has decidido una serie de factores que puedes aplicar a otras ecuaciones, a través de lo cual defines un método repetible, que puedes aplicar no a esta ecuación sino a cualquiera, con este enfoque, se podrá considerar que estamos probando un método.

El fondo de la cuestión es probar el método, aplicar el método sobre una fórmula es sólo un medio, una prueba, que trata de determinar si el método es válido y responde a las suposiciones que se han  hecho sobre él, o por el contrario, el método no alcanza los objetivos que se suponían que iba a alcanzar. El método puede ser descrito de diferentes maneras (por ejemplo con un esquema o diagrama de flujo). Esa definición es lo que se discute y prueba (por cierto, que se prueba sólo a forma de ejemplo, ya que la ecuación de segundo grado tiene un método conocido de resolución directa y exacta, pero eso no es de lo que se trata...). Saludos.

396
Hola, empieza por realizar el apartado a).

Crea las siguientes funciones en PHP:

a) Una función (tipo procedimiento, no hay valor devuelto) denominada escribirTresNumeros que reciba tres números enteros como parámetros y proceda a escribir dichos números en tres líneas en un archivo denominado datosEjercicio.txt. Si el archivo no existe, debe crearlo.


Para realizarlo tienes que repasar:

- El concepto de función y parámetros que recibe una función, que se ve en la entrega CU00827B. Fíjate en esta entrega en ejemplo1.php cómo se declara la función y cómo se llama después para probarla.

- La apertura y escritura de archivos que se ve en la entrega CU00836B


Puedes probar antes de hacer apertura y escritura en archivo a mostrar lo que se debería escribir en archivo por pantalla, así vas paso a paso.

Saludos.

397
Aprender a programar desde cero / Re:ESTRATEGIAS DE RESOLUCIÓN
« en: 06 de Febrero 2015, 09:22 »
Hola, si has visto otros hilos verás que se discute qué es necesario para llegar a ser un buen programador y que se comenta que es difícil responder a esto. Un hilo que se suele recomendar es este: https://www.aprenderaprogramar.com/foros/index.php?topic=1313.0 En general se indica que hace falta esfuerzo y constancia en el tiempo (que puede ser de varios años), entre otras cosas. Podemos añadir que es aconsejable una base matemática (un nivel como el de bachillerato) y una capacidad de abstracción y lógica propia de la persona, de la misma forma que para dedicarse a la música hace falta una capacidad propia de la persona. En relación al ejercicio CU00119A no requiere ninguna base matemática especial. Es un poco complejo de entender al principio, pero con un poco de esfuerzo puede llegar a ser realizado y entendido por la mayor parte de personas. Te recomiendo que en caso de dudas como con este ejercicio, abras un hilo específico y plantees una consulta en el foro indicando la entrega y el punto donde te surge la duda para tratar de resolverla con ayuda. Saludos.

398
Hola Papichanchi, efectivamente el ejercicio tiene por finalidad aprender a plantear el problema con un punto de vista "general" con vistas a determinar un método. El interés de obtener resultados concretos por tanto es relativo, como bien dices lo importante será la idea que hay detrás, no los cálculos concretos. El interés de resolver el problema con datos concretos es precisamente probar el método. Supongamos que defines un algoritmo o técnica para resolver un problema: ¿cómo determinar si es correcto? Una forma para hacerlo es precisamente probándolo a mano. Si en las pruebas a mano (como tú dices "con la cuenta de la vieja") falla, podrás detectar errores en el algoritmo y corregirlos. Si en las pruebas a mano es correcto, entonces puedes pasar a programarlo en ordenador. Una idea interesante de cara a la programación es "no podrás programar aquello que no sepas hacer o definir". Esto refleja que si quieres hacer por ejemplo un programa que obtenga el valor de x que hace cero una ecuación cuadrática del tipo ax² + bx + c = 0, debes saber los pasos exactos a dar para poder programarlo. En resumen, lo importante no son los cálculos concretos sino el método (la algoritmia), pero para determinar el método en muchas ocasiones es de interés plantear casos con datos concretos. Saludos.

399
Hola, hay varias extensiones que permiten resolver esto. Hay un módulo denominado cookies accept que pienso te puede ir bien, autor Le Cinquième Crayon, web www.cinquiemecrayon.eu, descarga gratuita. http://extensions.joomla.org/extensions/site-management/cookie-control/24689

Saludos

400
Verás, antiguamente una clase de ingeniería informática eran solo chicos. Hoy día ya no es así, siguen siendo mayoría los chicos pero cada vez hay más chicas. Dependiendo de en qué universidad estés el % de chicas estará normalmente entre el 10 y el 40 %, pero esto es muy relativo ya que cada año cambia. Para aprender arduino te recomendaría primero aprender a programar con soltura en alguno de los lenguajes tradicionales primero, es decir no te adelantes a no ser que ya tengas los conocimientos de base necesarios.

Saludos

Páginas: 1 ... 15 16 17 18 19 [20] 21 22 23 24 25 ... 32

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