Noticias:

Grupo en telegram, del foro de meteorología fácil: https://t.me/meteorologiafacil

Para mas detalles, puedes visitar el siguiente tema http://www.meteorologiafacil.com.ar/foros/index.php?topic=1608.0

Espero que les sea de mucha utilidad.

Menú Principal

Aprendiendo a interpretar C18

Iniciado por YO, Mayo 19, 2011, 12:27:46 PM

Tema anterior - Siguiente tema

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

YO

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

Ricber

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.

YO

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

HJ

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

Ricber

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.

YO

Sin saber que era imposible El fue y lo hizo