LINGUAGEM C – UMA INTRODUÇÃO
AULA 2 – Conceitos básicos
1 – Identação
Um ponto fundamental organização de escrita de códigos fonte é a identação.
Identar é organizar horizontalmente de forma hierárquica as linhas de código, de acordo
com o escopo onde elas se encontram. O pseudo programa abaixo exemplifica isto.
Variavel A = 0
SE (Variavel A < 1) ENTÃO
ESCREVA "Variável A é menor que 1."
FIM SE
Observe que o comando ESCREVA está adiantado em relação aos outros
comandos, que fazem parte do escopo principal do algoritmo e estão alinhados à
margem. Isto ocorre porque o comando ESCREVA não pertence diretamente ao escopo
do principal do programa, e sim ao escopo condicional SE..ENTÃO...FIM SE.
A identação independe da linguagem de programação que usamos. Mas ela varia
um pouco de acordo com a linguagem e tem comportamentos que são convencionados
de acordo com o uso dessas linguagens. Não existe uma regra definida para identação.
Um exemplo prático pode ser dado se quisermos implementar o pseudo programa acima
em Linguagem C:
Exemplo 7
#include <stdio.h>
int main() {
int A=0;
if ( A < 1 ) {
printf(“Variável A é menor que 1.”);
}
getchar();
return 0;
}
(OBS: Esse “if” será explicado em aulas posteriores… aqui você só deve observar a identação)
Observe o mesmo exemplo sem o uso de identação ficaria muito mais difícil de
ser lido e analisado:
Exemplo 8
#include <stdio.h>
int main() {
int A=0;
if ( A < 1 ) {
drSolutions – Diego Mendes Rodrigues
Página 1 / 9
printf(“Variável A é menor que 1.”);
}
getchar();
return 0;
}
2. Comentários
Comentários são blocos de programa que servem apenas para ajudar o
programador e seus colaboradores no processo de documentação do código fonte. Em
programas de poucas linhas a inclusão de comentários pode parecer irrelevante, mas
quando trabalhamos com programas de centenas ou milhares de linhas, a falta de
comentários pode prejudicar muito o entendimento do programa alguns dias depois que
ele foi escrito.
2.1 - Usando a barra dupla //
A primeira forma de incluirmos comentários em um código fonte é através de
duas barras //. Esse tipo de comentário serve apenas quando formos incluir um
comentário de uma única linha. Observe as linhas em negrito do exemplo abaixo:
Exemplo 9
#include <stdio.h>
int main() {
//Mensagem de saudação
printf(“Bem vindo!”);
printf(“\nEstou aprendendo Linguagem C!”);
printf(“\nBye, bye...”);
//Esperando o usuário pressionar <ENTER> para sair do programa
printf(“\n\nPressione <ENTER> para sair do programa.”);
getchar();
return 0;
}
O comentário com barra dupla pode também vir no final de uma linha que
contenha um comando, como no exemplo abaixo:
Exemplo 10
#include <stdio.h>
int main() {
printf(“Bem vindo!”);
printf(“\nEstou aprendendo Linguagem C!”);
printf(“\nBye, bye...”);
printf(“\n\nPressione <ENTER> para sair do programa.”);
getchar(); //Esperando o <ENTER>
return 0;
}
drSolutions – Diego Mendes Rodrigues
Página 2 / 9
2.2 – Comentários com /* */
Qualquer trecho de programa entre /* e */ é considerado um comentário. A
grande diferença entre esse método e o método das duas barras é que dessa forma
podemos criar comentários de várias linhas. Um grande uso desse tipo de comentário
está nos “cabeçalhos de programa”, que normalmente são colocados no início do código
fonte para identificarmos o programa, conforme o exemplo abaixo:
Exemplo 11
/*
Programa exemplo
Linguagem C – Uma Introdução
-Diego M. Rodrigues
*/
#include <stdio.h>
int main() {
printf(“Bem vindo!”);
printf(“\nEstou aprendendo Linguagem C!”);
printf(“\nBye, bye...”);
printf(“\n\nPressione <ENTER> para sair do programa.”);
getchar();
return 0;
}
Normalmente usamos os dois tipos de comentários para uma melhor organização
dos códigos fonte:
Exemplo 12
/*
Programa exemplo
Linguagem C – Uma Introdução
-Diego M. Rodrigues
*/
#include <stdio.h>
int main() {
//Mensagem de saudação
printf(“Bem vindo!”);
printf(“\nEstou aprendendo Linguagem C!”);
printf(“\nBye, bye...”);
//Esperando o usuário pressionar <ENTER> para sair do programa
printf(“\n\nPressione <ENTER> para sair do programa.”);
getchar();
return 0;
}
drSolutions – Diego Mendes Rodrigues
Página 3 / 9
2.3 – Comentários no DEV-C++
Dentro do DEV-C++ todos os comentários ficam em cor cinza, conforme pode
ser visto na tela abaixo:
Conforme já foi dito, comentários servem apenas para ajudar o programador e
seus colaboradores no processo de documentação do código fonte e não produzem
nenhuma alteração no programa compilado. Observe a tela gerada na compilação do
exemplo anterior:
drSolutions – Diego Mendes Rodrigues
Página 4 / 9
3. Código fonte X programa executável
Quando salvamos um código fonte no DEV-C++ com o tipo “C source files
(*.c)” um arquivo com extensão .c é armazenado no nosso computador. Quando
compilamos o nosso programa, um arquivo com extensão .exe é gerado na mesma pasta
em que o arquivo .c foi salvo, este arquivo .exe é o nosso “programa executável”, em
outras palavras, ele é o resultado do processo de compilação do código fonte com
extensão .c.
O arquivo .exe depois de gerado é completamente independente do código fonte.
Apenas um duplo clique nesse arquivo já executa o programa.
Essa independência do programa gerado implica que quando quisermos enviar
nosso programa para outra pessoa ou copiarmos o nosso programa em outro
computador, basta enviarmos (ou copiarmos) o arquivo .exe, ou seja, não existe a
necessidade de copiarmos o código fonte.
Dessa forma a pessoa que recebe o programa pronto pode apenas executá-lo,
sem poder alterá-lo. Para que essa outra pessoa pudesse alterar o programa ela precisaria
possuir o código fonte (arquivo .c), alterar o código fonte e depois recompilar o
programa.
drSolutions – Diego Mendes Rodrigues
Página 5 / 9
4. O que são Algoritmos?
“Um Algoritmo é uma seqüência de instruções ordenadas de forma lógica
para a resolução de uma determinada tarefa ou problema.”
Um algoritmo é formalmente uma seqüência finita de passos que levam a
execução de uma tarefa. Podemos pensar em algoritmo como uma receita, uma
seqüência de instruções que dão cabo de uma meta específica. Estas tarefas não podem
ser redundantes nem subjetivas na sua definição, devem ser claras e precisas.
Como exemplos de algoritmos podemos citar os algoritmos das operações
básicas (adição, multiplicação, divisão e subtração) de números reais decimais. Outros
exemplos seriam os manuais de aparelhos eletrônicos, como um videocassete, que
explicam passo-a-passo como, por exemplo, gravar um evento.
Até mesmo as coisas mais simples, podem ser descritas por seqüências lógicas.
Por exemplo, podemos descrever o algoritmo de como chupar uma bala:
“Chupar uma bala”
• Pegar a bala
• Retirar o papel
• Chupar a bala
• Jogar o papel no lixo
O algoritmo acima não pode ser implementado computacionalmente através de
uma linguagem de programação. Vamos então partir para um problema real, que
podemos implementar com Linguagem C. Um exemplo de algoritmo implementável é o
cálculo da média de um aluno.
“Calcular média”
• Receba a nota da prova mensal
• Receba a nota da prova bimestral
• Calcule a média com a fórmula media=(mensal+bimestral)/2
• Exiba a média na tela
O programa que realiza a tarefa acima poderia ser escrito em uma pseudo
linguagem da seguinte forma:
Variavel mensal=0
Variavel bimestral=0
Variavel media=0
ESCREVA “Digite a nota mensal:”
RECEBA mensal
ESCREVA “Digite a nota bimestral:”
RECEBA bimestral
CALCULE media=(mensal+bimestral)/2
ESCREVA “A média do aluno é:”
ESCREVA media
drSolutions – Diego Mendes Rodrigues
Página 6 / 9
Podemos agora escrever o nosso programa em Linguagem C baseado no
algoritmo acima (esse programa será explicado detalhadamente durante as aulas 3 e
4):
Exemplo 13
/*
Exemplo de algoritmo para cálculo de média
Linguagem C - Uma introdução
-Diego M. Rodrigues
*/
#include <stdio.h>
int main() {
//Declarando as variáveis
float mensal=0;
float bimestral=0;
float media=0;
//Recebendo a nota mensal
printf("\nDigite a nota mensal: ");
scanf("%f",&mensal);
//Recebendo a nota bimestral
printf("\nDigite a nota bimestral: ");
scanf("%f",&bimestral);
//Calculando a média
media = (mensal+bimestral)/2;
//Mostrando a média
printf("\n\nA média do aluno é %f",media);
//Esperando o <ENTER> para sair com getch() ao invés de getchar()
getch();
return 0;
}
Exemplo de execução do programa acima:
Vale ressaltar que um algoritmo é uma definição formal, completamente
independente de qualquer linguagem de programação específica. Apenas como
ilustração segue a implementação desse mesmo algoritmo “Calcular média” na
linguagem de programação COBOL:
drSolutions – Diego Mendes Rodrigues
Página 7 / 9
exemplomedia.cob
* Exemplo do algoritmo CALCULAR MEDIA em COBOL
* Liguagem C - Uma Introducao
* Diego M. Rodrigues
IDENTIFICATION DIVISION.
PROGRAM-ID.
exemplomedia.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
77 mensal PIC 99V9 VALUE ZERO .
77 bimestral PIC 99V9
VALUE ZERO .
77 media PIC 99v9
VALUE ZERO .
PROCEDURE DIVISION.
DISPLAY "Digite a nota mensal:"
ACCEPT mensal
DISPLAY "Digite a nota bimestral:"
ACCEPT bimestral
COMPUTE media = (mensal+bimestral)/2.
DISPLAY "A media do aluno e: ", media
STOP RUN.
(Não tente digitar esse código no DEV-C++ que ele não sabe compilar programas na
Linguagem COBOL!)
A execução desse programa compilado em COBOL apresenta a seguinte saída:
Apenas como um exemplo final, vamos implementar o mesmo algoritmo
“Calcular média” em um website utilizando HTML e JavaScript. Abaixo o código
fonte:
<!--
media.htm
Exemplo de algoritmo para cálculo de média em um website
Linguagem C - Uma introdução
-Diego M. Rodrigues
-->
<html>
<head>
<title>Exemplo de Média</title>
<script language="JavaScript">
function calcular() {
var xMensal = parseFloat(document.aluno.mensal.value);
var xBimentral = parseFloat(document.aluno.bimestral.value);
document.aluno.media.value = (xMensal+xBimentral)/2;
}
</script>
drSolutions – Diego Mendes Rodrigues
Página 8 / 9
</head>
<body>
<form name="aluno" id="aluno">
Digite a nota mensal:
<input name="mensal" type="text" id="mensal" value="0"><br>
Digite a nota bimestral:
<input name="bimestral" type="text" id="bimestral" value="0"><br>
<input type="button" name="Submit" value="Calcular"
onClick="javascript:calcular();">
<br><br>
A média do aluno é:
<input name="media" type="text" id="media" value="0" disabled>
</form>
</body>
</html>
(Não tente digitar esse código no DEV-C++ por que HTML não tem nada a ver com
Linguagem C!)
A execução desse arquivo HTML em um Navegador resulta na seguinte tela:
drSolutions – Diego Mendes Rodrigues
Página 9 / 9
Download

LINGUAGEM C – UMA INTRODUÇÃO