Foros
Lampiweb.com






Peña Online

  • Punto Visitantes: 51
  • Punto Oculto(s): 0
  • Punto Usuarios: 2
  • Punto Usuarios en Línea:

Google

Board Stats

  • stats Total de Usuarios: 32072
  • stats Total de Mensajes: 39665
  • stats Total de Temas: 4927
  • stats Total de Categorías: 11
  • stats Total de Foros: 75
  • stats Máx. usuarios conectados (simultáneamente): 234

Ultimo registro

Top Poster

lampi lampi
15838 Mensajes
maripuri maripuri
9274 Mensajes
erborricobueno erborricobueno
1692 Mensajes
icehot icehot
1135 Mensajes
peke peke
997 Mensajes

Recursos




Calendar

Febrero 2012
Lun Mar Mié Jue Vie Sáb Dom
1 2 3 4 5
[6] 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29

No se encontraron eventos en el calendario.

Tiendas WiFi




Music








Autor Tema: practica 1  (Leído 1147 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado txomon

  • Grupo de trabajo
  • Usuario
  • *****
  • Mensajes: 180
practica 1
« en: Enero 08, 2010, 01:37:42 am »
Muy bien!! diciendo como vais etc., pues eso, al tajo
« última modificación: Enero 10, 2010, 00:22:33 am por txomon »
[size=18]RECORDAD PONER LEIDO!!![/size] (para los de el curso de C)

Desconectado maripuri

  • Moderador Global
  • El que se lo curra por ti
  • *****
  • Mensajes: 9274
  • Mari
    • WirelessWindows
Re:practica 1
« Respuesta #1 en: Enero 10, 2010, 15:04:53 pm »
A pesar de haber probado varias veces no consigo instalar las vmware tools en el ubuntu, confieso ser bastante torpe.. me puedes/me podeís indicar como hacerlo? Es para poder enviar la fuente como quedamos cuando se realizaran los ejercicios.

En cuanto la práctica 1 sospecho que me resta darle los valores iniciales a las variables (¿?). Lo que he conseguido hasta ahora:



Si por el motivo que sea al resto le va mejor seguir adelante, yo necesito ir poco a poco..  me cuesta mas de lo esperado. :-\
No preguntes sobre temas del foro por privado, participa en el.

Desconectado txomon

  • Grupo de trabajo
  • Usuario
  • *****
  • Mensajes: 180
Re:practica 1
« Respuesta #2 en: Enero 10, 2010, 16:09:43 pm »
Jue que dedicacion!!! segurmente tu problema, sea que no te has dado cuenta de unas cosas, o que no las he explicado.
He estado mirando los apuntes, y no lo he encontrado:

El orden, es importante. En C, las variables estáticas, solo se pueden declarar al principio (hasta donde yo se) de la funcion. La inicializacion de las variables está bien.

Hay dos simbolos muy importantes, el & que significa, direccion de, y * que significa entre otras cosas, contenido de (puntero).

el enunciado marca que uses las variables para sacarlas en el enunciado, no que las saques. Este seria el codigo fuente, que contaria como solucion.

Citar
#include<stdio.h>/*se puede usar el stdio_ext.h, pero funciona solo en linux, porque tiene una funcion que es __fpurge(stdin) para limpiar el buffer de entrada (Cosa muy importante como ya se verá, algunas veces, da error porque tiene restos de anteriores entradas)*/
int main()
{
          int UC=19;/*Ultima Columna*/
          char UF='J';/*Ultima Fila*/

          printf("¡Bienvenido a Hundir la Flota!\n");
          printf(" El tamaño del tablero es de 20 Columnas x 10 Filas.\n");
          printf("La columna se indica con un número (0,1,2, ... ,%d)\n",UC);/*recuerdo que la columna es un numero entero, por lo tanto, las letras que le corresponden son la 'd' o la 'i', yo personalmente siempre uso la 'd'*/
          printf("La fila se indica con una letra mayúscula (A, B, C, ... , %c)\n",UF);/*como la variable UF es un tipo char la letra que le corresponde, es la 'c', en tu caso, si le pones un 'd', saldria el codigo ASCII que le corresponde a la letra 'J'*/

          return 0;
}

[time]Enero 10, 2010, 16:56:38 [/time]
RECORDAD QUE LAS PRÁCTICAS SE HACE, CADA UNA EN UN WORKSPACE Y CADA PUNTO DE LA PRÁCTICA EN UN PROYECTO DIFERENTE
Por ello, pongamos que la practica 1 le creas el workspace /home/user1/workspace/practica 1/  y le pones la practica 1.1 en /home/user1/workspace/practica 1/1.1/

para crear un workspace, en Archivo o File, pone switch workspace y ahi seleccionas en la carpeta workspace, por ejemplo, añades como creando otra carpeta vamos, de /home/user1/workspace a /home/user1/workspace/practica1.

Eso es cambiar de workspace, para mi fue algo intuitivo.

Para crear el proyecto, una vez se ha creado el workspace y estas usandolo, le das como en la practica 0, new project, etc.




[time]Enero 10, 2010, 17:12:22 [/time]
Para las VM tools, basta con que cojas y las compiles...

Cursillo rapido de linux.

Abres el bash, la terminal, metiendote en aplicaciones, y el primer menú, pone terminal (yo la tengo con un acceso directo)

bueno te sale una ventanita de comandos. En windows, no utilizareis mucho comandos, pero en linux... casi todo.

Bueno, para crear un directorio, mkdir
para meterte en una carpeta, cd (es una pasada las cosas que tiene)
pero cuidado que en unix se diferencia entre mayusculas y minusculas.
usa el tabulador para rellenar.

vale pues te metes en la carpeta de los CDs, se te abre solo la carpeta.
bueno atraves de los comandos, llegas hasta meterte en el CD.
hay ejecuta esto
sudo make && make install
y ya está.
te pedira la contraseña, que es user1.

Edito: se me habian colado unas comillas en el ejemplo y el stdio
« última modificación: Enero 13, 2010, 00:54:12 am por txomon »
[size=18]RECORDAD PONER LEIDO!!![/size] (para los de el curso de C)

Desconectado maripuri

  • Moderador Global
  • El que se lo curra por ti
  • *****
  • Mensajes: 9274
  • Mari
    • WirelessWindows
Re:practica 1
« Respuesta #3 en: Enero 10, 2010, 17:59:03 pm »
Pues nada, vuelvo a buscar sobre lo que expones en los apuntes y de paso repasar para ver si logro entenderlo.. 
Citar
en la funcion printf("%d",letra); te falta decirle que saque "el contenido de la variable letra"
sabía que esto estaba incompleto, pero aún no daba con ello, me queda interpretarlo.
Citar
Eso es cambiar de workspace, para mi fue algo intuitivo.
Si, en esto sin problema. Tengo creadas la cero y uno.
Citar
Cursillo rapido de linux.
Bien, así lo haré.

pd.No olvidé el diagrama de flujo, veré que se puede hacer.

edito:

Citar
Bien, no dudeis en preguntar!
En mi caso así lo haré..   ;) 
« última modificación: Enero 10, 2010, 18:32:38 pm por maripuri »
No preguntes sobre temas del foro por privado, participa en el.

Desconectado txomon

  • Grupo de trabajo
  • Usuario
  • *****
  • Mensajes: 180
Re:practica 1
« Respuesta #4 en: Enero 10, 2010, 18:26:31 pm »
Bien, no dudeis en preguntar!

Por cierto, el codigo que he posteado, es la solucion del ejercicio, por lo tanto, compilable.
« última modificación: Enero 11, 2010, 19:39:10 pm por txomon »
[size=18]RECORDAD PONER LEIDO!!![/size] (para los de el curso de C)

Desconectado maripuri

  • Moderador Global
  • El que se lo curra por ti
  • *****
  • Mensajes: 9274
  • Mari
    • WirelessWindows
Re:practica 1
« Respuesta #5 en: Enero 13, 2010, 21:50:56 pm »
Ya vi que lo corregiste. Lo escribí, lo probé y ahora si va:  http://www.megaupload.com/?d=LW6MOO53

No puedo decir lo mismo de vmware tools  :-\   me tienen negra.  :-X

No preguntes sobre temas del foro por privado, participa en el.

Desconectado txomon

  • Grupo de trabajo
  • Usuario
  • *****
  • Mensajes: 180
Re:practica 1
« Respuesta #6 en: Enero 13, 2010, 22:20:47 pm »
bueno, vamos a usar para poner los codigos fuentes, 1 de dos,
o la pagina web http://pastebin.com/
o postearlos directamente haciendo citas,... que para los que hacemos descargas de megaupload... nos viene mal ocuparlo XD

Enero 13, 2010, 23:33:24 pm
Citar
#include <stdio.h>
#include <windows.h>//para la funcion system()
int main()
{
   int UC=19;//*ultima columna*//
   char UF='J';//*ultima fila*//
   printf("¡Bievenido a hundir la flota!\n");
   printf("El tamaño del tablero es de 20 columnas por 10 filas.\n");
   printf("la columna se indica con el nº (0,1,2.., %d)",UC);
   printf("la fila se indica con una letra mayúscula (A,B,C..,%c)",UF);
   system("pause");//esta linea es para que no se ejecute y se acabe.
   return 0;
   
}



Bien, en cuanto a la presentacion... Convendría que utilizases el \n en todos.

La funcion printf, carga en el buffer de salida estandar (pantalla:stdout) el conjunto de caracteres.
hay otra funcion, fflush(stdout), que vacia el buffer de salida, usando lo que haya.

en el caso de windows, cada vez que haces un printf, saca el texto, pero tienes que marcarle un salto de linea \n
« última modificación: Enero 13, 2010, 23:33:24 pm por txomon »
[size=18]RECORDAD PONER LEIDO!!![/size] (para los de el curso de C)

Desconectado maripuri

  • Moderador Global
  • El que se lo curra por ti
  • *****
  • Mensajes: 9274
  • Mari
    • WirelessWindows
Re:practica 1
« Respuesta #7 en: Enero 14, 2010, 00:01:41 am »
Citar
vamos a usar para poner los codigos fuentes
De acuerdo.
Citar
Convendría que utilizases el \n en todos.
Sigo entonces para ver si acabo la practica uno. No uso Win, me ciño al eclipse y el ubuntu que pusiste; cuando me vaya arreglando probaré en Win, ahora ya tengo demasiado lio. No veo a nadie mas comentar nada.
No preguntes sobre temas del foro por privado, participa en el.

Desconectado txomon

  • Grupo de trabajo
  • Usuario
  • *****
  • Mensajes: 180
Re:practica 1
« Respuesta #8 en: Enero 14, 2010, 08:26:53 am »
porcierto, que me he dado cuenta de un pequeño gran detalle.

Has comentado usando una mezcla de las dos opciones, me explico:

-puedes hacer un comentario
Citar
//Esto es un comentario de una linea y por lo tanto
esta linea ya no esta comentada

Citar
/*Este es otro comentario, y es el mas seguro, por que hay compiladores
que no tienen en cuenta ningun salto de linea y solo miran lo caracteres,
este seria un comentario completo*/

Tu has puesto //*comentario*// que es lo mismo que poner //
no tiene importancia xk es de una linea, y el eclipse te lo marca cuando es un comentario y cuando no. Por ello, cuidado!
[size=18]RECORDAD PONER LEIDO!!![/size] (para los de el curso de C)

Desconectado maripuri

  • Moderador Global
  • El que se lo curra por ti
  • *****
  • Mensajes: 9274
  • Mari
    • WirelessWindows
Re:practica 1
« Respuesta #9 en: Enero 14, 2010, 11:36:16 am »
Citar
Tu has puesto //*comentario*//
Lo veo. Vale.
« última modificación: Enero 25, 2010, 20:50:34 pm por maripuri »
No preguntes sobre temas del foro por privado, participa en el.

Desconectado Slye

  • Usuario
  • *
  • Mensajes: 13
Re:practica 1
« Respuesta #10 en: Enero 18, 2010, 20:30:15 pm »
Beno esta es mi practica 1 que por fin he conseguido que funcione!!!  ;D




#include <stdio_ext.h>
int main ()
{
   int columnas;
   columnas =19;
   char filas;
   filas= 'j';
   int cc;
   char cf;
   
   printf ("Bienvenidos a hundir la flota\n");
   printf ("El tablero es de 20 columnas X 10 filas\n") ;
   printf ("La columna se indica con un número (1, 2, ...,%d)\n",columnas);
   printf ("la fila se indica con una letra (a,b,...,%c)\n",filas);
   printf ("Introduzca las coordenadas\n");
   fflush(stdout);
   __fpurge(stdin);
   scanf("%c%d",&cf,&cc);
   printf ("Fila %c, columna %d\n",cf,cc);


return 0;
}

Desconectado txomon

  • Grupo de trabajo
  • Usuario
  • *****
  • Mensajes: 180
Re:practica 1
« Respuesta #11 en: Enero 18, 2010, 21:20:09 pm »
bien... pero el fflush(stdout) es para cuando no pones un  \n... pero muy bien!
[size=18]RECORDAD PONER LEIDO!!![/size] (para los de el curso de C)

Desconectado txomon

  • Grupo de trabajo
  • Usuario
  • *****
  • Mensajes: 180
Re:practica 1
« Respuesta #12 en: Enero 23, 2010, 12:09:54 pm »
Bueno, me han preguntado gente, como hacer para inicializar variables, etc. Por ello, aqui un ejemplo


Para declarar variables, en C, es muy facil, y en todos los lenguajes, se hace de la misma manera.

pones el tipo de variable(caracter, entero, con coma, con coma de doble capacidad, etc) y luego el nombre de la variable, recuerda lo que pone que no se le puede dar a una variable el nombre de un numero, ni empezar por el..

Ejemplo:
Código: [Seleccionar]
int y;
seria crear una variable entera, que toma valores enteros, positivos y negativos

Código: [Seleccionar]
char a;
seria crear una variable caracter, con capacidad para un caracter ASCII

para inicializar, se puede hacer de dos maneras, una al crearla, y otra despues

Código: [Seleccionar]
int i=12;
i=13;

estas inicializando la variable en dos casos. Lo que pasa es que al principio, tiene mas ventajas con strings (cadenas de caracteres). Lo mas recomendable, si vas a poner:

Código: [Seleccionar]
int i;
i=12;

pues te sale mejor poner directamente

Código: [Seleccionar]
int i=12;
A eso se le llama optimizar el código, cuanto mas corto sea, mejor.
[size=18]RECORDAD PONER LEIDO!!![/size] (para los de el curso de C)

Desconectado maripuri

  • Moderador Global
  • El que se lo curra por ti
  • *****
  • Mensajes: 9274
  • Mari
    • WirelessWindows
Re:practica 1
« Respuesta #13 en: Enero 25, 2010, 20:56:06 pm »
Llevo tiempo sin decir nada, así que os muestro como tengo el código.. la verdad que se me está haciendo cuesta arriba.

Código: [Seleccionar]
#include <stdio.h>
int main()
{
int UC=19;//*ultima columna*//
char UF='J';//*ultima fila*//
printf("¡Bievenido a hundir la flota!\n");
printf("El tamaño del tablero es de 20 columnas por 10 filas.\n");
printf("la columna se indica con el nº (0,1,2.., %d)",UC);
printf("la fila se indica con una letra mayúscula (A,B,C..,%c)",UF);
printf("Introducza las coordenas\n");
scanf("%c,%d",&UF,&UC);
        printf("fila %c, columna %d\n",UC,UF);
   
   
return 0;

}

Asi como está crea el binario sin errores, pero aun le queda digo yo.
No preguntes sobre temas del foro por privado, participa en el.

Desconectado txomon

  • Grupo de trabajo
  • Usuario
  • *****
  • Mensajes: 180
Re:practica 1
« Respuesta #14 en: Enero 25, 2010, 21:51:09 pm »
Llevo tiempo sin decir nada, así que os muestro como tengo el código.. la verdad que se me está haciendo cuesta arriba.

Código: [Seleccionar]
#include <stdio.h>
int main()
{
int UC=19;//*ultima columna*//
char UF='J';//*ultima fila*//
printf("¡Bievenido a hundir la flota!\n");
printf("El tamaño del tablero es de 20 columnas por 10 filas.\n");
printf("la columna se indica con el nº (0,1,2.., %d)",UC);
printf("la fila se indica con una letra mayúscula (A,B,C..,%c)",UF);
printf("Introducza las coordenas\n");
scanf("%c,%d",&UF,&UC);
        printf("fila %c, columna %d\n",UC,UF);
   
   
return 0;

}

Asi como está crea el binario sin errores, pero aun le queda digo yo.


a ver---

1º Lo de los comentarios es importante... no lo has corregido!!!

2º No limpias los buffer de entrada... y eso da errores muchas veces.

3º No has respetado el enunciado... tiene que haber otras variables en las que almacenar las coordenadas.

4º La presentacion no me ha entusiasmado... y tiene fallos de ortografía

5º Has probado el codigo fuente?? porque has puesto mal la representacion de las coordenadas... fijate en el valor que devuelve de fila... piensalo y postea debajo el nuevo código fuente corregido!

[size=18]RECORDAD PONER LEIDO!!![/size] (para los de el curso de C)

Desconectado maripuri

  • Moderador Global
  • El que se lo curra por ti
  • *****
  • Mensajes: 9274
  • Mari
    • WirelessWindows
Re:practica 1
« Respuesta #15 en: Enero 25, 2010, 21:58:13 pm »
Lo de los fallos de ortografia supongo te refieres a esto pej.  mayúscula  me sucede cuando copio el código a un txt para sacarlo de la virtual. Voy a ver que puedo hacer.
No preguntes sobre temas del foro por privado, participa en el.

Desconectado txomon

  • Grupo de trabajo
  • Usuario
  • *****
  • Mensajes: 180
Re:practica 1
« Respuesta #16 en: Enero 26, 2010, 10:21:35 am »
me refiero a lo de "introducza las cordenas" en vez de "introduzca las coordenadas" y a lo de  "se indica con el nº" cuando seria, "se indica con numeros"... y luego los saltos de lineas.

Como ayer conseguimos instalar las vmware tools (^^) ya puedes copiar y pegar directamente. no lo pases al .txt
[size=18]RECORDAD PONER LEIDO!!![/size] (para los de el curso de C)

Desconectado maripuri

  • Moderador Global
  • El que se lo curra por ti
  • *****
  • Mensajes: 9274
  • Mari
    • WirelessWindows
Re:practica 1
« Respuesta #17 en: Enero 26, 2010, 10:35:51 am »
txomon, no dije nada.. después lo vi   :-[   (ahora entiendes lo comentado de "ya ni veo..")   :)     No posteé mas porque de noche ya me quedé trabada en el valor de las columnas y fui a dormir. Esto es lo que hice, pero le falta lo comentado, cuando lo tenga lo vuelvo a subir. Tengo que irme en un rato, así que hasta mañana no puedo seguir.

Código: [Seleccionar]
#include <stdio_ext.h>
int main()
{
int UC=19;//ultima columna//
char UF='J';//ultima fila//
printf("¡Bienvenido a hundir la flota!\n");
printf("El tamaño del tablero es de 20 columnas por 10 filas\n");
printf("la columna se indica con el nº (0,1,2..,%d)\n",UC);//columnas//
printf("la fila se indica con una letra mayúscula (A,B,C..,%c)\n",UF);//filas//
printf("Introduzca las coordenadas\n");
__fpurge(stdin);
scanf("%c,%d",&UF,&UC);
    printf("fila %c,columna %d\n",UF,UC);
   
return 0;

Citar
crea otras 2 variables
ya comento.
« última modificación: Enero 26, 2010, 11:22:01 am por maripuri »
No preguntes sobre temas del foro por privado, participa en el.

Desconectado txomon

  • Grupo de trabajo
  • Usuario
  • *****
  • Mensajes: 180
Re:practica 1
« Respuesta #18 en: Enero 26, 2010, 10:39:45 am »
crea otras 2 variables, una de cada tipo para almacenar la fila y la columna del usuario
[size=18]RECORDAD PONER LEIDO!!![/size] (para los de el curso de C)

Desconectado alex_bm91

  • Nuevo
  • Mensajes: 3
Re:practica 1
« Respuesta #19 en: Febrero 07, 2010, 20:40:35 pm »
Código: [Seleccionar]
Este es mi código fuente, espero que este bien;)
[code#include <stdio.h>


int main()
//esto es fuera!!!pero eso esta debajo del int! pero no dentro... dentro es con llaves!okok

{
int UC=19;
char UF='J';
int columna;// y puedes j
char fila;// asi???? si pero,.... utiliza nombres mas peques... x ej
printf("BIENVENIDO A HUNDIR LA FLOTA!\n");
printf("La columna se indica con un numero: 1,2,3...%d\n",UC);//ahora te acuerdas?algo más me suena
printf("La fila se indica con una letra: A,B,C...%c\n",UF);
printf("introduce una coordenada, por ejemplo: B12\n");
fflush(stdout);
scanf("%c,%d",&fila,&columna);
printf("La coordenada escrita es:fila %c, columna %d");
return 0;



}

Desconectado txomon

  • Grupo de trabajo
  • Usuario
  • *****
  • Mensajes: 180
Re:practica 1
« Respuesta #20 en: Febrero 07, 2010, 22:21:09 pm »
JAJJA muy bien alex... pero parece que estas pirao! mira el codigo fuente ...
[size=18]RECORDAD PONER LEIDO!!![/size] (para los de el curso de C)

Desconectado maripuri

  • Moderador Global
  • El que se lo curra por ti
  • *****
  • Mensajes: 9274
  • Mari
    • WirelessWindows
Re:practica 1
« Respuesta #21 en: Febrero 13, 2010, 20:58:03 pm »
Anda que voy bien.. a este paso  ::)

Código: [Seleccionar]
#include <stdio_ext.h>
int main()
{

int UC = 19,columna;/*ultima columna*/
char UF = 'J',fila;/*ultima fila*/
printf("¡Bienvenido a hundir la flota!\n");
printf("El tamaño del tablero es de 20 columnas por 10 filas\n");
printf("la columna se indica con el nº (0,1,2..,%d)\n",UC);/*columnas*/
printf("la fila se indica con una letra (a,b,c..,%c)\n",UF);/*filas*/
printf("Introduzca las coordenadas:\n");
__fpurge(stdin);
scanf("%c%d",&fila,&columna);
printf("has seleccionado: fila %c columna %d\n",fila,columna);
return 0;

}

bueno, después de la pelea con la práctica uno espero que no me suceda lo mismo con la dos y no me "embote" porque si no  ;D
No preguntes sobre temas del foro por privado, participa en el.

Desconectado txomon

  • Grupo de trabajo
  • Usuario
  • *****
  • Mensajes: 180
Re:practica 1
« Respuesta #22 en: Febrero 14, 2010, 23:22:16 pm »
mu bien!!! ^^
[size=18]RECORDAD PONER LEIDO!!![/size] (para los de el curso de C)

 

Enlaces