Archive for agosto, 2010

Identação de Código Fonte

É comum em linguagem de programação termos uma maneira de organizar o código, a essa maneira denominamos Identação.

Apesar de que na maioria das linguagens de programação a identação ser algo meramente estético, ela mostra de forma mais clara a hierarquia dos elementos e por isso facilita a leitura de um código fonte de um programa.

Quando começamos a programar geralmente não compreendemos a facilidade que a identação nos dará, por exemplo:

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

main()
{
int pegavalor;
pegavalor=0;
printf("Entre com um valor ");
scanf("%i",&pegavalor);
if(pegavalor < 100)
{
printf("O valor digitado e menor que 100\n");
}
else
{
printf("O valor digitado e maior ou igual a 100\n");
}
if(pegavalor%2==0)
printf("O valor digitado e um numero par\n");
else
printf("O valor digitado e um numero impar\n");
system("pause");
}

No exemplo acima, não estamos tendo um cuidado com a organização do arquivo, o que pode gerar algumas confusões em uma revisão futura, lembrando que o exemplo tem apenas 24 linhas, porém se imaginarmos um sistema de 1000 linhas, isso irá atrapalhar a interpretação do código, abaixo uma sugestão de identação, parecida com a usada por Brian Kernighan e Dennis Ritchie (ver blog do Hélio*), veja:

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

main() {
  int pegavalor;
  pegavalor=0;
  printf("Entre com um valor ");
  scanf("%i",&pegavalor);
  if(pegavalor < 100) {
    printf("O valor digitado e menor que 100\n");
  } else {
    printf("O valor digitado e maior ou igual a 100\n");
  }
  if(pegavalor%2==0)
    printf("O valor digitado e um numero par\n");
  else
    printf("O valor digitado e um numero impar\n");
  system("pause");
}

Com o mesmo conteúdo, já é possível perceber que por mais simples que seja a “identação” ela possível uma melhor visualização, perceba que os if’s ganharam recuos, possibilitando que apenas batendo o olho você saiba que determinada fecha chaves ( } ) pertence a um determinado if.

Imaginando em um arquivo grande, isso irá facilitar MUITO a vida do programador, possibilitando até a descobrir erros de forma rápida.

A dica é, observe os exemplos, escolha uma identação e pratique-a mantenha seu código organizado, e você será “um pouco” mais feliz

*O blogueiro e programador Hélio Costa Silva fez um interessante post em se Blog, mostrando diversas maneiras de se organizar (identar) o código. CONFIRA

Quer ganhar livros de GRAÇA ? 101fb.com

Que tal ganhar um livro de graça em? Bacana né… o Site 101fb.com (101 free books) sorteia todo mês 101 pessoas, esses sorteados são agraciados com livros, os livros são da área de tecnologia, dos mais diversos assuntos, desde gerencia de projetos, até programação para celulares.

Tudo o que você precisa fazer é um cadastro no site, clique no banner e faça já o seu!

** Quer saber se o site funciona? Sim, não é enganação, abaixo a prova!

Photo on 2010-08-27 at 10.16 #2

Hierarquia dos programadores

G7WyP

Lady Java

Entendendo a assinatura de uma função em C

Aqui vai algumas pequenas dicas para aprender a visualizar as assinaturas de funções, seja em help ou em fóruns da internet.

A primeira dica é, seja curioso, ao invés de assustado. É comum encontrar algumas linhas onde muito do que ali está… não conhecemos.

Exemplo

 char * gets ( char * str );

Se você ainda não aprendeu o que os * significam, aqui entra a curiosidade, na descrição da função está descrito, os parâmetros e os retornos: Parâmetros: str – Ponteiro para um array de caracteres onde a string será armazenada

Valor de retorno: Se OK, a função retorna o mesmo valor do parâmetro.. e assim vai. Com essas informações você já tem idéia do que a função faz, agora basta olhar o exemplo, fazer alguns códigos e assim você irá saber o que acontece!


/* gets example */
#include <stdio.h>

int main()
{
char string [256];
printf ("Insert your full address: ");
gets (string);
printf ("Your address is: %s\n",string);
return 0;
}

Sites com a explicação de funções

http://www.cplusplus.com/

http://pt.wikibooks.org/wiki/Categoria:Programar_em_C

Tabela Verdade [Atualizado]

Por definição. Tabela-verdade é o conjunto de todas as possibilidades combinatórias entre valores de diversas variáveis lógicas (binários), as quais se encontram em apenas duas situações (V)erdadeiro ou (F)also, e um conjunto de operadores lógicos.

A lógica binária, ou bitwise operation é a base de todo o cálculo computacional. Na verdade, são estas operações mais básicas que constituem todo o poderio dos computadores. Qualquer operação, por mais complexa que pareça, é traduzida internamente pelo processador para estas operações.
Por isso dizemos então que o computador trabalha apenas com zeros e uns.

As operações que podemos aplicar sobre esses valores lógicos estão abaixo restritos:

Operador NOT (!)

O operador unário NOT, ou negação binária resulta no complemento do operando, i.e., será um bit ’1′ se o operando for ’0′, e será ’0′ caso contrário, conforme podemos confirmar pela tabela de verdade:

A ¬A
1 0
0 1

Implementação em C

A = 0;
B = !A;

Operador AND (&&)

O operador binário AND, ou conjunção binária devolve um bit 1 sempre que ambos operandos sejam ’1′, conforme podemos confirmar pela tabela de verdade:

A B A ∧ B
1 1 1
1 0 0
0 1 0
0 0 0

Implementação em C

 if (variavel1 &amp;&amp; variavel2) { /*código*/ } 

Operador OR (||)

O operador binário OR, ou disjunção binária devolve um bit 1 sempre que pelo menos um dos operandos seja ’1′, conforme podemos confirmar pela tabela de verdade:

A B A ∨ B
1 1 1
1 0 1
0 1 1
0 0 0

Implementação em C

if ( variavel1 || variavel2 ) {
  /* Código */
}

Existe também outros operadores, como o NAND e o XOR, para mais informações, segue alguns links:

Wikibooks: Introdução à programação/Lógica

Organização e estruturas de Computador – Lógica Digital

 

[Atualização]

Para quem quiser brincar com portas lógicas, acesse http://logic.ly/demo/

[Atualizado]

Introdução a lógica, UFSC - http://www.inf.ufsc.br/ine5365/introlog.html

Computer World comenta sobre os mitos da carreira em TI

75288275
Reportagem da revista Computer World revela vários mitos da carreira em TI, coisas como: 1) Trabalhar longas horas é sinônimo de sucesso, 2) Escolha uma especialidade e fique muito bom nela, 3) Quanto mais certificação Melhor… entre outras
Vale a leitura, tudo bem destrinchado e bem argumentado.

Deixe comentário sobre as coisas que você  concorda, ou não aqui

Reportagem: Sete mitos sobre a carreira em TI que precisam ser quebrados