Postagens

Mostrando postagens com o rótulo Linguagem C

Linguagem C Básico Aula 13: IDEs e Compiladores

Imagem
Tela da IDE Geany no Linux com um programa em C IDE     Já explicamos no curso anterior que IDE é a sigla para I ntegrated Development Environment ou  Ambiente de Desenvolvimento Integrado. Trata-se de um programa ou plataforma que geralmente contém um editor de texto para escrita de códigos, com recursos de formação e ferramentas que facilitam o desenvolvimento de programas.     Até agora não nos preocupamos em abordar esse assunto porque utilizávamos o GDB online, uma plataforma simples que simula a compilação de um programa C sem gerar executáveis e estávamos mais preocupados que o estudante entendesse a lógica e uso das instruções em C.  No entanto para prepará-los para o que vem mais a frente não podemos mais fugir desse assunto.     Na imagem no início da página você está vendo uma tela com um exemplo de IDE. No caso se trata da IDE Geany , uma IDE bem leve e recomendada para máquinas modestas ou com poucos recursos que funciona em Linux, Wi...

Linguagem C Básico Aula 12: Funções e Bibliotecas

Imagem
Relembrando     No curso de algoritmos vimos que Funções e Procedimentos são blocos de instruções que são executados ao serem chamados. Essas estruturas são chamadas através dos seus nomes, seguidos de um abre e fecha parenteses.       Dentro desses parênteses podem ou não existir parâmetros para a execução das instruções. A diferença entre Procedimentos e Funções é que o segundo retorna algum dado para a instrução que o chamou.      A vantagem do uso de Procedimentos e Funções é que eles deixam o código mais organizado, mais legível e permitem a reutilização do código. Vimos também que existem funções criadas pelo usuário e funções nativas. Também vimos que as funções nativas ficam armazenadas em bibliotecas padrão.  Relembrou? Nomenclaturas em termos práticos      Essas diferentes nomenclaturas para as sub-rotinas classificando as de Procedimentos ou Funções é algo meramente acadêmico que desaparece no dia a dia. Na prá...

Linguagem C Básico Aula 11: Alternativas ao If

Imagem
Múltiplas escolhas     Até momento a única estrutura de controle de fluxo que vimos foi o if/else. Ele é muito útil diante da necessidade de se fazer um teste e tomar uma decisão escolhendo um de dois caminhos possíveis. Vimos também que é possível encadear vários ifs abrindo o leque de opções quando um caminho é escolhido.     No entanto, haverá situações onde teremos múltiplas escolhas possíveis e não apenas duas opções. Para isso podemos fazer uso de uma série de  ifs  tratando cada uma das possibilidades, mas existe uma estrutura de controle mais apropriada para esses casos chamada de switch case . Entendendo o Switch Case     A forma genérica dessa estrutura geralmente tem essa aparência: int variável ; switch ( variável ) {   case 0:     // instruções caso a variável seja 0     break ;    case  1:     // instruções caso a variável seja 1      break ;    case  ...

Linguagem C Básico Aula 10: Manipulação básica de Strings

Imagem
  Relembrando     Diferente de outras linguagens como o Java e o C++, vimos que a linguagem C não possui um tipo de dados conhecido como String ou cadeia de caracteres. Quando desejamos armazenar Strings em variáveis precisamos criar um array unidimensional do tipo char. Também vimos que cadeia de caracteres passadas entre "aspas" para funções como o printf() são chamadas de literal string.  Exemplo: #include<stdio.h> int main () {     char nome[]="Julio";   printf("Vou imprimir seu nome:");     printf("%s",nome); }     No exemplo acima estamos criando um array unidimensional do tipo char chamado nome, iniciando seu conteúdo com o literal "Julio" e imprimindo ele na tela com a função printf( ) e o especificador de formato "%s" . Relembrou? Aprofundando os conhecimentos     Uma confusão muito comum do estudante é confundir uma informação char 'x' e com uma literal string "x" de caractere único. Aparent...

Linguagem C Básico Aula 09: Arrays Multidimensionais

Imagem
  Continuando     Vimos até agora que os arrays é o mesmo que matrizes, que os vetores do Portugol agora são chamados de matrizes ou arrays unidimensionais, que essas matrizes são como variáveis compostas porque armazenam mais de uma informação e que esses dados precisam ser do mesmo tipo.      Também vimos que a linguagem C não possui o tipo de dado string ou cadeia de caracteres, mas podemos caracteres em um array unidimensional do tipo char. Relembrou?  Pois bem, agora esta na hora de ver que as matrizes podem ter mais de uma dimensão.  Arrays ou Matrizes Multidimensionais     Se o array unidimensional é um bloco contínuo de memória para armazenamento, uma matriz multidimensional são vários blocos contínuos de memória armazenando uma mesma variável composta. Você pode imaginá-la como uma tabela como apresentamos no curso de algoritmos, mas essa alegoria é apenas para fins didáticos.     Para termos uma visualização, podemos ...

Linguagem C Básico Aula 08: Arrays Unidimensionais e Strings

Imagem
  Relembrando No curso de algoritmos eu apresentei ao estudante os conceitos de Arrays quando falei em vetores e matrizes. Alias, se você buscar uma tradução para Arrays encontrará no Google Tradutor a palavra Matrizes. Em programação Matrizes são estruturas para o armazenamento de múltiplos dados. São como variáveis, mas armazenam mais de uma informação. Por isso também são chamadas de variáveis complexas. Para facilitar o entendimento do estudante no curso passado eu comecei apresentando os vetores que é um exemplo de matriz mais simples, por isso são chamadas de matrizes unidimensionais.   Uma forma de visualizar um vetor seria imaginá-lo como uma tabela de uma única coluna, mas com muitas linhas. Já as matrizes eu representei como tabelas de múltiplas colunas. Relembrou? Arrays unidimensionais na Linguagem C Aquela representação de tabelas no Portugol era apenas uma alegoria para facilitar o seu entendimento. Na realidade os Arrays unidimensionais são blo...

Linguagem C Básico Aula 07: Laços com número de repetições Indeterminado

Imagem
  O Símbolo de infinito também é um laço sem fim Recapitulando     No curso de algoritmos vimos que existem estruturas de controle de fluxo conhecidas como laços de repetição que permitem que o programa execute as mesmas instruções por mais de uma vez. Já na aula passada vimos dois comandos na linguagem C que permitem a criação de laços repetição.     No entanto os exemplos que foram mostrados abordavam os chamados laços de repetição com número de repetições determinado, isto é, o programa executa as mesma instruções por um determinado número de vezes e depois sai do laço seguindo o fluxo normal.  Para isso vimos o comando for() e o while() com o uso de contadores.      Na aula passada também expliquei que o for() era mais utilizado para essa situação, pois foi criado exatamente para isso. Hoje veremos as situações onde o while() é mais utilizado e para isso vamos retomar o problema que coloquei na aula passada:     Como fazer o...

Linguagem C Básico Aula 06: Laços com número de repetições determinado

Imagem
  Problema     Você acabou de desenvolver um programa para calcular a média de um aluno e verificar se ele foi aprovado ou não, certo? Ok. E se você precisasse calcular a média de vários alunos de uma sala?       Bom, você pode rodar novamente o programa clicando em RUN, mas ficar clicando no botão toda hora não parece uma solução muito prática. D eve ter algum jeito mais prático de mandar o programa repetir as operações que ele já fez. Laços de Repetição     No curso de algoritmos vimos que a solução para esse problema que eu te apresentei é usar uma estrutura de controle de fluxo de dados conhecida como Laço.   Também vimos nesse curso dois tipos de laços diferentes: Um com número de repetições indeterminado e outro onde o número de repetições é previamente determinado.       Se o que distingui esses diferentes tipos de laço é o número de repetições, então provavelmente eu vou ter algum mecanismo para contar as...