Página académica del Colegio Nacional



Comunidad y Foros de discusión
No estás autentificado

< Último hilo   Nuevo Tema  Publicar una respuesta
Autor: Asunto: Mis primeros pasos

Moderador





Envíos: 10
Registrado: 3/6/2003
Status: Desconectado

  publicado el 3/6/2003 en 00:10
Bueno, hoy di mis primeros pasos en la programación en C. Tube mis primeras experiencias con la sentencia IF y los bloques FOR, While, Do-While y Case. La verdad una masa el lenguaje, bastante flexible y rapido. Ademas, parecido el PHP en cuanto a su facilidad de escritura y simplicidad. Ojala pueda seguir avanzando, porque apunto a logros mas grandes que los que ya di! No se como subir los archivos .exe a el foro, por favor poirot decime como, si no se llega a poder, avisenme que los subo a el server de godocs. Nos vemos!
 
Reply With Quote Visit User's Homepage

Moderador




Envíos: 10
Registrado: 3/6/2003
Status: Desconectado

  publicado el 3/6/2003 en 01:39
Vamos mejoando!
En este instante acabo de terminar un programa en C que convierte un numero del 0 al 9 a su equivalente en binario, todavia no pude hacer andar el programa para mas de un dígito. E
sta echo con varios IFs y es un poco arcaico, pero funciona! Si quieren probarlo, estemm diganme como subir archivos jejeje! Nos Vemos!

 
Reply With Quote

PV3 Coder




Envíos: 184
Registrado: 24/10/2002
Status: Desconectado

  publicado el 3/6/2003 en 02:02
pasteá fuentes, los .exe no sirven
 
Reply With Quote

Moderador




Envíos: 10
Registrado: 3/6/2003
Status: Desconectado

  publicado el 3/6/2003 en 02:13
Aqui tienen el codigo de mi programa.

#include <stdio.h>
int a,b,c,d,e,f,g,h,num;
int main()
{
num = 11;
a = num%2;
b = num/2%2;
c = num/2/2%2;
d = num/2/2/2%2;
e = num/2/2/2/2%2;
f = num/2/2/2/2/2%2;
g = num/2/2/2/2/2/2%2;
h = num/2/2/2/2/2/2/2%2;
printf("a es: %d %d %d %d %d %d %d %d",h,g,f,e,d,c,b,a);
return -1;
}

 
Reply With Quote

PV3 Coder




Envíos: 184
Registrado: 24/10/2002
Status: Desconectado

  publicado el 3/6/2003 en 02:34
lindo
existe una instruccion en assembler llamada SHR y otra llamada SHL, justamente dividen y multiplican por 2, osea en binario corren todos los digitos.

Supongamos que tenemos un numero de 8 bits (tipo char), para pasarlo a binario podriamos hacer:

numero=11;
printf("a es: %d",numero&0x80);
for (int i=1;i<7;i++) printf(" %d",(numero<<=1)&0x80);

el & hace un and aritmético (bit a bit) y el << corre un bit, de forma que (numero<<=1)&0x80) es el primer bit de numero y además a numero lo deja corrido un bit. Este programa a diferencia del tuyo hace bolsa el valor de num y lo deja en 0. El tuyo lo mantiene.

 
Reply With Quote

Moderador




Envíos: 10
Registrado: 3/6/2003
Status: Desconectado

  publicado el 5/6/2003 en 23:32
Voy mejorando con los punteros, aca posteo un programa, que pasa una variable a otra funcion y la modifica, osea modifica tmb la variable de la fucion Main().

#include <stdio.h>
void Reemplazar(int *p, int *pp)
{
int a,b;
a = *p;
b = *pp;
*p = 5;
*pp = 2;
printf("Valores en REEMPLAZAR: %d %d\n",*p,*pp);
}
int main()
{
int a,b;
a = 7;
b = 5;
Reemplazar(&a,&b);
printf("Valores en MAIN: %d %d",a,b);
return 1;
}
Bueno, aca tamos.

 
Reply With Quote

Moderador




Envíos: 10
Registrado: 3/6/2003
Status: Desconectado

  publicado el 7/6/2003 en 22:10
Quique me parece que saque el punto numero 17. fijate.

int i=1;
for (int num;num||num!=i;i++){
int numero;
numero = num;
num=num%i;
if(num%i=0){
printf("Numero primo: %d",i);
}
}

Ojala que sirva

[Editado el 7/6/2003 por darkzight]

[Editado el 7/6/2003 por darkzight]

[Editado el 7/6/2003 por darkzight]

 
Reply With Quote

Moderador




Envíos: 10
Registrado: 3/6/2003
Status: Desconectado

  publicado el 7/6/2003 en 22:11
me falto poner una cosa, al final de todo va un num = numero; esa variable la uso como un auxiliar para volver num a su valor inicial. Fijate que en una parte num se convierte en una division de su mismo numero con i.
 
Reply With Quote

Moderador




Envíos: 10
Registrado: 3/6/2003
Status: Desconectado

  publicado el 7/6/2003 en 22:23
Lo estube probando y no mne funciona . No se si es la declaracion del for, aparentemente no entra en el bucle
 
Reply With Quote

Moderador




Envíos: 10
Registrado: 3/6/2003
Status: Desconectado

  publicado el 7/6/2003 en 22:40
Hice una remake pero con while:
#include <stdio.h>
int main()
{
int i=0;
int num=4;
int suma;
while (i!=num){
int numero;
numero = num;
suma=num%i;
if (suma==0){
printf("Numero primo: %d",i);
}
i++;
num = numero;
}
return -1;
}
Esta vez entra y sale del bucle perfectamente pero no se porque no entra al IF. Voy a seguir probando.

 
Reply With Quote

PV3 Coder




Envíos: 184
Registrado: 24/10/2002
Status: Desconectado

  publicado el 8/6/2003 en 16:15
Muy copado ahora viste lo que significa el orden de un algoritmo, y vas a ver que la rapidez y la optimizacion por más rápida que sea una PC puede llegar a ser necesaria.

Por ahi necesitas un poco más de practica a la hora de pensar el algoritmo ya que codificandolo lo haces perfecto. Antes de codificarlo deberías pensar como ahcer para usar menos variables, para achicar el orden y para que se etienda mejor. Esas son las leyes de la programación, pero esto no es solo para c sino para todos los lenguajes.

 
Reply With Quote

Moderador




Envíos: 10
Registrado: 3/6/2003
Status: Desconectado

  publicado el 11/6/2003 en 02:23
Bueno kkx grax por el consejo lo tendre en cuenta. Por ahora voy a seguir probando con el C.
GL/HF ^_^

 
Reply With Quote
Nuevo Tema    Publicar una respuesta


Powered by XForum 1.6n by Trollix Software
original script by xmb


 
  All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2002 by me. Web site engine code is Copyright © 2003 by PHP-Nuke. All Rights Reserved. PHP-Nuke is Free Software released under the GNU/GPL license.
Página Generada en: 0.225 Segundos