Buscar

Apostila Resumo Programação em C

Prévia do material em texto

ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES 
– ESTRUTURA DE UM PROGRAMA – 
 
 
 
Resumo para estudos gerais feito por 
Mirla Rocha de Oliveira Ferreira. 
 
 
SUMÁRIO 
 
INTRODUÇÃO ........................................................................................................................... 1 
Objetivos ............................................................................................................................................... 1 
ESTRUTURA DE UM PROGRAMA EM C ............................................................................ 1 
Tipos de dados ...................................................................................................................................... 2 
Operadores ........................................................................................................................................... 2 
Entrada e saída de dados ...................................................................................................................... 2 
Exemplo usando Lingaguem C ............................................................................................................... 3 
Os comandos básicos em C e C++ são: .................................................................................................... 3 
Em Linguagem C, o programa ficaria da seguinte forma: ........................................................................ 4 
Condicional (if e switch) ........................................................................................................................... 4 
Loops (for, while e do while) .................................................................................................................... 6 
REFERÊNCIAS BIBLIOGRÁFICAS ........................................................................................ 9 
 
 
 
1 
 
INTRODUÇÃO 
 
Objetivos 
 Desenvolver os algoritmos na linguagem de programação C.. 
 Desenvolver no aluno / futuro engenheiro a intimidade com algoritmo e 
programação. 
 Gerar a capacidade de aprender outras soluções de programação por conta 
própria. 
 
 
ESTRUTURA DE UM PROGRAMA EM C 
 
1. Inclui-se uma biblioteca no programa para a execução do código a ser processado. 
2. Declara-se o tipo da função e o nome da função. 
3. Inicializa-se a função. 
4. Coloca-se os comandos da função a serem executados de acordo com o processo. 
5. Finaliza-se a função. 
 
#include <stdio.h> 
/* Imprime a mensagem */ 
int main() 
{ 
 printf ("Mensagem!"); 
 return (0); 
} 
 
#include <stdio.h> 
“#include” é a forma de se inserir uma biblioteca 
“<stdio.h>” é a biblioteca com funções básicas e úteis para a entrada e saída de dados. 
Outras bibliotecas: 
“math.h” com funções matemáticas; 
“stdlib.h” com funções diversas; 
“locale.h” com acentuação e localização de programas; 
E outras. 
“int main()” é a declaração da função do tipo int de nome main 
IMPORTANTE: Todos os programas em C precisam ter uma função “main” para a 
chamada de execução do programa. O conteúdo do programa estará entre as { } e será 
executado na ordem sequencial. 
“int” indica que a função retorna um número inteiro. E “return (0)” indica que o número 
retornado pela função é o 0. Ou seja, se o programa processado retornar ao número 0, o 
término foi normal. Se tiver terminado em um valor diferente de 0, o término foi anormal, ou 
seja, há erro no processo do programa. E ele retorna com erro. Caso não se queira fazer 
esse tipo de verificação, basta usar a função do tipo “void”, que é sem valor e não retorna a 
nada. 
“printf” é a função que o programa chama para a execução. Essa função está inclusa na 
biblioteca “stdio.h”. Essa função mostra na tela o conjunto de caracteres especificado dentro do (“”). 
 
http://linguagemc.com.br/localizacao-de-programas-com-locale-h/
 
2 
Tipos de dados 
Caractere, definido por char 
Exemplo: 
char nome; 
nome=a; 
 
Inteiro, definido por int 
Exemplo: 
int x; 
x=2; 
 
Número real, definido por float 
Exemplo: 
float z; 
z=2.5; 
 
Número real duplo, definido por Double 
Exemplo: 
double z, y; 
z=2.5, y=3.75; 
Operadores 
= (Atribuição de valor) 
+ (Soma: usado para tipo de dados inteiros e reais) 
- (Subtração: usado para tipo de dados inteiros e reais) 
* (Multiplicação: usado para tipo de dados inteiros e reais) 
/ (Divisão: usado para tipo de dados inteiros e reais) 
% (Resto da divisão: usado para tipo de dados inteiros) 
++ (Incremento de 1: usado para tipo de dados inteiros) 
-- (Decremento de 1: usado para tipo de dados inteiros) 
> (Maior do que) 
< (Menor do que) 
>= (Maior igual a) 
<= (Menor igual a) 
== (Igual a) 
!= (Diferente de) 
&& (E) 
|| (Ou) 
! (Não) 
 
Entrada e saída de dados 
scanf() 
Função de entrada de dados. Dentro do () coloca-se a especificação da variável que 
receberá a entrada de dados. 
scanf(“string-formatação“, < lista de parâmetros >); 
Exemplos: 
scanf(“%d”, &num); 
lê um valor do tipo inteiro (através de %d) e armazena na variável num ( através de 
&num). 
 
printf() 
Função de saída de dados. Dentro do () coloca-se a especificação do que será impresso 
na tela de saída e códigos de formatação do dado que será exibido. 
 
3 
printf(“string-formatação“, < lista de parâmetros >); 
Exemplos: 
printf(“ Mensagem”); 
Saída: Mensagem 
printf(“Um número lido: %d”, num); 
Saída: Um número lido: 3 
 
Códigos de formato: 
 
%d Referência ao tipo de dados de números inteiro 
%f Referência ao tipo de dados de números reais 
%c Referência ao tipo de dados de caracter 
 
Exemplo usando Lingaguem C 
Vamos implementar um programa que calcule a média de 3 variáveis. 
A ideia do programa é: 
 
Início 
Declaração das variáveis que serão usadas no processo 
 Leitura das variáveis de entrada 
 Cálculo da média 
 Impressão das variáveis de saída 
Fim do programa 
 
Os comandos básicos em C e C++ são: 
 
# include <stdio.h> 
# include <stdlib.h> 
Usa os códigos de c 
# include <math.h> Usa operações matemáticas 
main (), void main(), int main() Função principal, identifica o programa. 
{} Abre/fecha estruturas de comando (main (),if, else, for, while, 
switch) 
() Abre/fecha comandos específicos para as estruturas 
; Fecha uma linha de comando. 
Int Variáveis inteiras. 
float Variáveis flutuantes 
char Caracteres 
printf( “ ”) Imprime o que está escrito entre as “ “ 
\n Quebra uma linha 
printf( “%d”, y) ou 
printf( “%f”, y) 
Imprime o valor inteiro ou flutuante da variável y 
scanf(“%d”, &y) ou 
scanf(“%f”, &y) 
Insere valor inteiro ou flutuante da variável y 
&& E 
|| Ou 
== Igual 
!= Diferente 
> Maior 
< Menor 
<= Menor ou igual 
>= Maior ou igual 
* Multiplicação 
/ Divisão 
% Resto da divisão 
 
4 
= A variável anterior recebe o valor especificado a frente 
if () Condicional “se” 
for () Loop “para” 
do --------------------- while() Loop “faça -------- enquanto” 
while () Loop “enquanto” 
switch () -------------- case Condicional “escolha ---- caso” 
system (“pause”) Impede a janela de execução fechar de imediato 
break Para alguma execução, loop ou condicional 
 
Em Linguagem C, o programa ficaria da seguinte forma: 
 
#include <stdlib.h> 
#include<stdio.h> 
int main() 
{ 
 int x, y, z; 
 float media; 
 printf("\nDigite 3 valores: \n"); 
 scanf("%d", &x); 
 scanf("%d", &y); 
 scanf("%d", &z); 
 media=(x+y+z)/3; 
 printf("\n --> A media dos 3 numeros: %f \n", media); 
 return(0); 
} 
 
Para entender melhor o código, vamos por partes: 
 
Código Explicação 
#include <stdlib.h> 
#include<stdio.h> 
Chamada das bibliotecas que contem os códigos usados no 
programa. 
int main() 
{ 
Inicia o programa principal, “main”, que retorna a um valor inteiro, 
indicado pelo “int”. 
int x, y, z; 
float media; 
Declaração das variáveis de entrada e saída que serão usadas 
no do programa. “Int” e “float” correspondem ao tipo de variável 
(número inteiro e real, respectivamente) 
printf("\nDigite 3 valores: \n"); Comando de saída, ou seja, queimprime na tela de execução do 
programa a mensagem ou a variável descrita em seu processo. 
scanf("%d", &x); 
scanf("%d", &y); 
scanf("%d", &z); 
Comando de entrada, ou seja, de entrada de valor para a variável. 
O valor é digitado pelo usuário. 
media=(x+y+z)/3; 
printf("\n --> A media dos 3 
numeros: %f \n", media); 
Processo de execução da operação do programa. Ou seja, há a 
a conta aritmética da média e a impressão do resultado na tela. 
return(0); 
} 
Finaliza o programa principal, indicando o valor 0 como valor de 
retorno, caso tudo ocorra bem na execução do código. 
 
Condicional (if e switch) 
 
A condicional trata-se de uma verificação lógica de uma expressão ou de uma variável. 
Assim, o programa determinando se a expressão é verdadeira ou falsa, segue o caminho indicado 
no código para a opção verificada. 
 
No exemplo anterior de cálculo da meia, se considerarmos os 3 valores incluídos como 
notas de uma matéria, podemos usar o if para verificar se o resultado da média é maior ou menor 
do que 60, ou seja, se a média das provas gerou a aprovação ou reprovação do aluno. 
 
5 
 
#include <stdlib.h> 
#include<stdio.h> 
int main() 
{ 
 int x, y, z; 
 float media; 
 printf("\nDigite as 3 notas: \n"); 
 scanf("%d", &x); 
 scanf("%d", &y); 
 scanf("%d", &z); 
 media=(x+y+z)/3; 
 printf("\n --> A media e: %f \n", media); 
 if(media<60) 
 { 
 printf(“REPROVADO\n”); 
 } 
 else 
 { 
 printf(“APROVADO\n”); 
 } 
 return(0); 
} 
 
Código Explicação 
if(media<60) Verifica o valor da media e compara se ela é realmente menor do 
que 60 
{ 
printf(“REPROVADO\n”); 
} 
Sendo verdadeira a verificação, ou seja, se media for menor do 
que 60, será impresso na tela a palavra “REPROVADO” 
Else Indica o caminho a ser seguido caso a verificação da expressão 
em if for falsa. 
{ 
printf(“APROVADO\n”); 
} 
Sendo falsa a verificação, ou seja, se media não for menor do que 
60, será impresso na tela a palavra “APROVADO” 
 
No caso do switch, podemos usar para verificar o valor exato de uma variável. É muito 
utilizado para programas que precisam de menus de execução, escolha de opções. Uma 
calculadora simples, por exemplo. 
 
#include <stdlib.h> 
#include<stdio.h> 
int main() 
{ 
 int opcao; 
 float x, y, resultado; 
 printf("Digite os 2 numeros que serao usados na operacao matematica: \n"); 
 scanf("%f%f", &x, &y); 
 printf("Escolha a operacao matematica: \n 1 para SOMA \n 2 para SUBTRACAO \n 
"); 
 scanf("%d", &opcao); 
 switch(opcao) 
 { 
 case 1: 
 resultado=x+y; 
 printf("\nRESULTADO da soma: %f\n", resultado); 
 break; 
 
6 
 case 2: 
 resultado=x-y; 
 printf("\nRESULTADO da subtracao: %f\n", resultado); 
 break; 
 default: 
 printf("\nOpcao invalida. \nImpossivel realizar a conta."); 
 break; 
 } 
 return(0); 
} 
 
Código Explicação 
switch(opcao) Verifica qual o valor lido na variável ‘opcao’ 
case 1: Se o valor lido na variável ‘opcao’ for o número 1, o programa irá 
executar o código descrito nessa situação. 
case 2: Se o valor lido na variável ‘opcao’ for o número 2, o programa irá 
executar o código descrito nessa situação. 
default: Se o valor lido na variável ‘opcao’ for qualquer outro número, 
diferente dos números nas opções anteriores, o programa irá 
executar o código descrito nessa situação. 
break; Importante colocar o ‘break’ após cada opção, para que o 
programa não execute as opções seguintes dentro do switch. 
 
 
Loops (for, while e do while) 
 
Os loops são as estruturas de repetição do código, ou seja, permitem que um mesmo 
código seja executado várias vezes sem ter que digitar sua estrutura novamente. O loop de 
repetição dura o tempo limitado pela variável e expressão aritmética declarada para ele. 
Por exemplo: No código da média das notas, podemos usar um loop para que o mesmo 
código seja executado para vários alunos ao mesmo tempo. Supondo que se trata de uma turma 
de 15 alunos, ficaria da seguinte forma: 
 
Usando o for: 
 
#include <stdlib.h> 
#include<stdio.h> 
int main() 
{ 
 int x, y, z, a; 
 float media; 
 for(a=1;a<=15;a++) 
 { 
 printf("\nDigite as 3 notas: \n"); 
 scanf("%d", &x); 
 scanf("%d", &y); 
 scanf("%d", &z); 
 media=(x+y+z)/3; 
 printf("\n --> A media e: %f \n", media); 
 if(media<60) 
 { 
 printf(“REPROVADO\n”); 
 } 
 else 
 { 
 printf(“APROVADO\n”); 
 } 
 
7 
 } 
 return(0); 
} 
 
Código Explicação 
for(a=1;a<=15;a++) 
 
Significa: para uma variável a começando no valor 1, finalizando 
no valor 15, onde cada volta no código a é acrescido com +1, faça 
o código abaixo. 
a=1; a pode ser qualquer variável. Aqui, indica que o valor inicial dela 
é 1. 
a<=15; a pode ser qualquer variável. Aqui indica que a repetição 
acontecerá enquanto a for menor ou igual a 15. 
a++ a pode ser qualquer variável. Aqui indica que a aumentará de 
valor somando 1 a cada volta de repetição do código. 
 
Usando while: 
 
#include <stdlib.h> 
#include<stdio.h> 
int main() 
{ 
 int x, y, z, a; 
 float media; 
 a=1; 
 while(a<=15) 
 { 
 printf("\nDigite as 3 notas: \n"); 
 scanf("%d", &x); 
 scanf("%d", &y); 
 scanf("%d", &z); 
 media=(x+y+z)/3; 
 printf("\n --> A media e: %f \n", media); 
 if(media<60) 
 { 
 printf(“REPROVADO\n”); 
 } 
 else 
 { 
 printf(“APROVADO\n”); 
 } 
 a++; 
 } 
 return(0); 
} 
 
Código Explicação 
while(a<=15) Significa: enquanto uma variável a for menor ou igual a 1, faça o 
código abaixo. 
a=1; Aqui indica que a variável a recebe o valor de 1. 
a++; Aqui indica que a aumentará de valor somando 1. 
 
 
 
 
Usando do while: 
 
#include <stdlib.h> 
 
8 
#include<stdio.h> 
int main() 
{ 
 int x, y, z, a; 
 float media; 
 a=1; 
 do 
 { 
 printf("\nDigite as 3 notas: \n"); 
 scanf("%d", &x); 
 scanf("%d", &y); 
 scanf("%d", &z); 
 media=(x+y+z)/3; 
 printf("\n --> A media e: %f \n", media); 
 if(media<60) 
 { 
 printf(“REPROVADO\n”); 
 } 
 else 
 { 
 printf(“APROVADO\n”); 
 } 
 a++; 
 } while(a<=15); 
 return(0); 
} 
 
Código Explicação 
do Significa: faça o código abaixo, enquanto uma variável a for menor 
ou igual a 15. 
while(a<=15); Aqui indica a condição final da estrutura de repetição, ou seja, o 
programa irá fazer o código anterior a essa estrutura até o valor 
de a for 15. 
 
 
 
9 
 
REFERÊNCIAS BIBLIOGRÁFICAS 
 
FARRER, Harry et al. Algoritmos Estruturados. 3. ed. Rio de Janeiro: Livros Técnicos 
e Científicos, c1999. 
SANTOS, Henrique José. Linguagem C. UFMG. Disponível em: 
http://www.ead.eee.ufmg.br/cursos/C. 
Sistemas industriais inteligentes. Curso de Linguagem Computacional C/C++. 
Universidade de Santa Catarina. Disponível em: http://s2i.das.ufsc.br. 
 
http://www.ead.eee.ufmg.br/cursos/C
http://s2i.das.ufsc.br/

Continue navegando