Autor Tema: Aprendiendo a interpretar C18  (Leído 2825 veces)

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

Desconectado YO

  • Moderadores
  • Stratus
  • *****
  • Mensajes: 864
Aprendiendo a interpretar C18
« en: Mayo 19, 2011, 12:27:46 pm »
Hola y felicitaciones por ésta nueva iniciativa  ok!
Quería comentarles que estoy viendo algunos ejemplos de programación en C18.
Todavía no programé nada porque quiero estar seguro de entender porque hago lo que hago  ;D
Tengo un librito de programación básica en C, una colección de revistas que hablan del tema dedicado  al C para micros y un tutorial con algunos ejemplos en C18.

Cuando veo los ejemplos bien explicados me resulta fácil de entender, porque teniendo la base del ASM veo que guarda cierta relación, para decirlo de otra manera es como si estiviese programando directamente desde el diagrama de flujo para el ASM.

En todos los ejemplos veo que cuando se cierran más de una llave al final del programa, las colocan en forma escalonada:
                     }
               }
        }

Mi pregunta es: ¿Necesariamente debe ser así, o solo es por darle mejor interpretación?

Nunca vi cerrar algo así:
      }
      }
      }
Tampoco encontré  si existe una regla para ésto pues el manual de C explica su uso pero no su disposición, aunque dá el ejemplo escalonado.
Y como dije antes de hacer algo, me gusta saber lo que hago y por que.

Bueno por lo menos abrimos un tema  ;D

Gracias!
Sin saber que era imposible El fue y lo hizo

Desconectado Ricber

  • Moderadores
  • Stratus
  • *****
  • Mensajes: 812
    • metlp
Re: Aprendiendo a interpretar C18
« Respuesta #1 en: Mayo 19, 2011, 02:14:14 pm »
Hola YO, las llaves son obligatorias.
mira un ejemplo:
Se abren las llaves de la funcion promedio y luego se
abren otras para el for, luego se cierran las del for y despues la de
la funcion promedio.

void promedio(void){
int i;
prom=0;
inicial=0;
   
   inicial=read_3204(canal);   
   prom = (inicial+ read_3204(canal))/2;

/* Iniciamos la promediacion */

for(i=1;i<=muestras;i++){
   actual=read_3204(canal);
   prom = (actual+prom)/2;
   }
return (prom);
}

espero que lo entiendas.

Desconectado YO

  • Moderadores
  • Stratus
  • *****
  • Mensajes: 864
Re: Aprendiendo a interpretar C18
« Respuesta #2 en: Mayo 19, 2011, 04:13:28 pm »
Gracias Ricber
El concepto de las llaves lo tengo bien claro, pero a lo que yo iba era a la posición en que se colocan cuando se cierran, fijate que hasta vos mismo pusiste una más adelante que la otra, ¿no pueden ir una sobre otra (me refiero a la misma columna, y respetando la línea ej,:

  prom = (actual + prom)/2;
    }
return (prom);
    }


Ves, estan en la misma columna. ¿así el compilador lo toma igual o a medida que se van cerrando se deben ir corriendo?

De todas maneras me voy a enterar cuando compile algo y pruebe a ver que pasa, pero sabiéndolo de antemano se ahorra tiempo.
Sin saber que era imposible El fue y lo hizo

Desconectado HJ

  • Administrador
  • Stratus
  • *****
  • Mensajes: 676
  • Sexo: Masculino
Re: Aprendiendo a interpretar C18
« Respuesta #3 en: Mayo 19, 2011, 05:11:52 pm »
Hola, de C, estoy aprendiendo, pero hasta donde he probado el compilador no tira error si las colocas todas a la misma altura de tabulación. Solo me tira errores si falta alguna.
Es para darle un significado visual, sabes cual llave anidada has ido cerrando.

Esto lo he probado en C18 y en MikroC.

OJO, que es la opinión de un novato en "C" y puedo estar equivocado.

Saludos

Desconectado Ricber

  • Moderadores
  • Stratus
  • *****
  • Mensajes: 812
    • metlp
Re: Aprendiendo a interpretar C18
« Respuesta #4 en: Mayo 19, 2011, 07:29:02 pm »
Hola, pueden estar de las dos formas, a veces se desplazan para entender mejor el programa, lo mismo el resto del programa, que tambien pueden estar en la misma linea, pero se acostrumbra a desplazar para que se entienda mejor.

Desconectado YO

  • Moderadores
  • Stratus
  • *****
  • Mensajes: 864
Re: Aprendiendo a interpretar C18
« Respuesta #5 en: Mayo 20, 2011, 02:53:30 pm »
Gracias muchachos  ok!
Sin saber que era imposible El fue y lo hizo

 

anything