Prática Dev C Parte2

Propaganda
Atividade Prática no Ambiente Dev C++
Para as nossas atividades práticas vamos utilizar o ambiente de desenvolvimento da
Linguagem C, Dev C++, ele é bastante fácil de utilizar e com muitos recursos. Segue uma
sequência com as operações básicas para escrita, compilação e execução de programas,
recomenda-se a leitura do material sobre a introdução à linguagem C postado no site do curso.
 Inicie o Dev-C++ pelo ícone ou pelo menu;
 Crie um novo arquivo, com o comando: Arquivo, Novo, Arquivo Fonte
 Edite as linhas do programa obedecente as regras da linguagem:
o Área das Bibliotecas:
 Bibliotecas são arquivos contendo informações pré-definidas da
linguagem (palavras reservadas como o “main”, “include” e outros) e
também funções de uso gerais (“printf”, “scanf e outros”). Essas
bibliotecas são inseridas no programa através da diretiva “Include”,
conforme mostra o exemplo a seguir.
o Corpo do Programa
 main() {...} Corresponde ao "corpo" do programa. É a partir dele que se
inicia a execução do programa.
o Comandos e Funções
 printf(...) Comando que indica "escreva o texto entre parêntesis através
de um dispositivo de saída (neste caso, a saída padrão).
 "Olá, Mundo\n" Cadeia de caracteres (string). A seqüência de
caracteres '\n' representa o caracter newline.
#include <stdio.h> // Biblioteca com funções de entrada e saída de dados
#include <stdlib.h> //Biblioteca com funções do sistema operacional
main() //Início do programa
{ //limitador do corpo do programa
printf ("Ola Mundo!\n"); //Função que mostra na tela uma mensagem
system("PAUSE"); //Envia comando para o sistema operacional solicitando parada de execução
do programa
} //limitador do corpo do programa




Salve o programa com o nome primeiro_programa
Compile o programa com o comando: Executar, Compilar ou com a tecla Ctrl-F9
Se houver algum erro de sintaxe, aparece uma ou mais mensagens no rodapé da
janela. Neste caso, corrija o programa e repita.
Se não houver erros, execute o programa com o comando: Executar, Executar ou
com a tecla Ctrl-F10
Dicas:
•
•
•
•
•
•
Termine todas as linhas com ;
Sempre salve o programa antes de compilar
Sempre compile o programa antes de executar
Quando ocorrer um erro de compilação, dê um duplo clique sobre a mensagem
de erro para destacar o comando errado no programa
Verifique também a linha anterior, que pode ser a responsável pelo erro,
especialmente se faltar o ;
Use comentários, iniciados por //
1
Fig.1 -Tela principal do Dev C++
Fig.2 –Tela mostrando como criar um novo programa
2
Fig.3 –Tela mostrando como salvar um programa editado
Fig.4 -Tela mostrando como compilar e executar um programa editado
3
Fig.5 -Tela mostrando a compilação em progresso
Fig.6 -Tela mostrando o resultado da execução do programa
Quando é necessário imprimir na tela um dado, um valor, uma string ou mesmo um
endereço de memória, usa-se a função printf(). Quando o programa usa a função printf(), as
informações que instrui printf() a imprimir são chamadas parâmetros ou argumentos de printf().
A estrutura básica da função printf() é dada a seguir:
printf ("string de controle", lista de argumentos);
A seguir, uma tabela com os especificadores de formato:
Código
%c
%d
%i
%e
%E
%f
%g
%G
Significado
Exibe um caractere
Exibe um inteiro em formato decimal
Exibe um inteiro
Exibe um número em notação científica (com e minúsculo)
Exibe um número em notação científica (com E maiúsculo)
Exibe um ponto flutuante em formato decimal
Usa %e ou %f, o que for menor
O mesmo que %g, só que um E maiúsculo é usado se o formato %e
4
%o
%s
%u
%x
%X
%%
%p
for escolhido
Exibe um número em notação octal
Exibe uma string
Exibe um decimal sem sinal
Exibe um número em hexadecimal com letras minúsculas
Exibe um número em hexadecimal com letras maiúsculas
Exibe um sinal de %
Exibe um ponteiro
A função scanf( ) é uma das funções de entrada de dados da Linguagem C, que pode
ser usada para ler virtualmente qualquer tipo de dado inserido por meio do teclado,
freqüentemente ela é usada para a entrada de números inteiros ou de ponto flutuante. A forma
geral da função scanf( ) é:
scanf (“string de controle”, lista de argumentos);
Os especificadores de formato de entrada são precedidos por um sinal % e dizem à
função scanf( ) qual tipo de dado deve ser lido em seguida. Esses códigos são listados na
tabela a seguir.
Código
%c
%d
%i
%u
%e
%f
%g
%o
%s
%x
%p
Significado
Lê um único caractere
Lê um decimal inteiro
Lê um decimal inteiro (não pode ser octal ou hexadecimal)
Lê um decimal sem sinal
Lê um número em ponto flutuante com sinal opcional
Lê um número em ponto flutuante com ponto opcional
Lê um número em ponto flutuante com expoente opcional (double)
Lê um número em base octal
Lê uma string
Lê um número em base hexadecimal
Lê um ponteiro
A função getch() lê o caracter do teclado mas não imprime o caracter lido na tela. Esta
função não aceita argumentos e devolve o caracter lido para a função que a chamou.
Exercícios – Copiar estes programas para o ambiente Dev C++, analisar a sua sequência
lógica e analisar o seu funcionamento, compilando e executando.
11) Cálculo do Peso Ideal – Exemplo de expressão aritmética
//Este programa determina o "peso ideal" de uma pessoa a partir da sua altura.
//Trata-se apenas de um exemplo de programação - não segue nenhuma orientação médica.
#include <stdio.h> //biblioteca com funções de Entrada e Saída
#include <stdlib.h> // biblioteca com funções de sistema Operacional
main( ) //Início do programa em C
{
int altura; //Declara uma variável para altura */
int peso; //Declara uma variável para peso
printf("Altura em centimetros (entre 120 e 200):"); //Mostra na tela a mensagem para entrar
com um valor de "altura"
5
scanf("%d",&altura); //Função que espera um valor pelo teclado
peso = (altura-119)*5/8+45; //Calcula o peso considerando a altura proposta
printf("Peso ideal: %d \n",peso); //Mostra na tela o Peso Ideal da pessoa
system("PAUSE"); //Função de Pausa do sistema operacional
} //Fim do programa em C
12) Entrada de Dados
//Este Programa mostra como entrar com dados pelo teclado
#include <stdio.h> //biblioteca com funções de Entrada e Saída
#include <stdlib.h> // biblioteca com funções de sistema Operacional
main( ) //Início do programa em C
{
char n1, n2, n3; //Declarar variáveis do tipo caracter
scanf ("%c", &n1); //Aguarda da entrada de um valor pelo teclado
scanf ("%c", &n2); //Aguarda da entrada de um valor pelo teclado
scanf ("%c", &n3); //Aguarda da entrada de um valor pelo teclado
printf ("%c %c %c\n", n1, n2, n3); //Mostra na tela os velores das variáveis
system("PAUSE"); //Função de Pausa do sistema operacional
} //Fim do programa em C
13) A ação do comando incremento e a sua exibição
//Este programa mostra a ação do comando incremento e exibe na tela o resultado
#include <stdio.h> //biblioteca com funções de Entrada e Saída
#include <stdlib.h> // biblioteca com funções de sistema Operacional
main( ) //Início do programa em C
{
int x=0; //Declaração de uma variável e atribuição de valor
printf("Comando (x++) incrementa a variavel depois de mostrar na tela: x= %d\n",x++); //Mostra
o valor da variável e executa o incremento
printf("Proximo valor da variavel: x= %d\n",x); //Mostra o valor da variável
printf("Comando (++x) incrementa antes de mostrar na tela: x= %d\n",++x); //Incrementa o valor
da variável e mostra o valor
printf("Proximo valor da variavel: x= %d\n",x); //Mostra o valor da variável
system("PAUSE");
}
14) Controle de Fluxo - Laço FOR – Exemplo 1
//Este programa mostra a ação do laço "FOR"
#include <stdio.h> //biblioteca com funções de Entrada e Saída
#include <stdlib.h> // biblioteca com funções de sistema Operacional
# define N 10 //Declaração de uma constante
main( ) //Início do programa em C
{
6
int s,i; //Declaração de uma variável
s = 0; //Atribui um valor a uma variável
for(i=1; i <= N; ++i) s+=i; //Declaração de um laço "FOR
//(incia a variavel "i" de controle do laço; verifica a condição final do laço "i>N" ; dá a sequência
do laço "++i")
// A a expressão (s+=i) é igual a (s=s+i)
printf("A soma de 1 a %d eh %d\n",N,s); //Mostra o resultado do laço
system("PAUSE"); //Função de Pausa do sistema operacional
} //Fim do programa em C
11) Controle de Fluxo - Laço FOR – Exemplo2
//Este programa mostra a ação do laço "FOR"
#include <stdio.h> //biblioteca com funções de Entrada e Saída
#include <stdlib.h> // biblioteca com funções de sistema Operacional
main( ) //Início do programa em C
{
int x,y; //Declaração de Variáveis
for (x=0,y=0;x+y<100;++x,++y) //Declaração de um laço "FOR
//(incia as variaveis "i" e "y" de controle do laço; verifica a condição final do laço "(x+y)>100" ;
//da a sequência do laço "++i" e ++y)
printf("%d ",x+y); //Mostra o resultado do laço
system("PAUSE"); //Função de Pausa do sistema operacional
} //Fim do programa em C
12) Controle de Fluxo “SE”
//Este programa mostra a ação do Controle de Fluxo "SE"
#include <stdio.h> //biblioteca com funções de Entrada e Saída
#include <stdlib.h> // biblioteca com funções de sistema Operacional
main( ) //Início do programa em C
{
int a,b; //Declaração de Variávies
printf("digite dois Numeros:"); //Mostra na tela a mensagem
scanf("%d %d",&a,&b); //Aguarda entrada de dado pelo teclado
if (b) printf("%d\n",a/b); //SE o valor da variável "b" for diferente de "ZERO", ENTÂO mostra na
tela
//o valor do resultado da divisão entre "a" e "b".
else printf("divisao por zero\n"); //SE NÂO Mostra na tela a mensagem
system("PAUSE"); //Função de Pausa do sistema operacional
} //Fim do programa em C
13) Controle de Fluxo “SE” – “SENÂO” – “SE”
//Este programa mostra a ação do Controle de Fluxo "SE" - "SENÃO" - "SE"
#include <stdio.h> //biblioteca com funções de Entrada e Saída
#include <stdlib.h> // biblioteca com funções de sistema Operacional
#include <time.h> // biblioteca com funções de marcação de tempo
main( ) //Início do programa em C
7
{
int num,segredo; //Declaração de variáveis
srand(time(NULL)); //Configura o tempo de Pesquisa de um número aleatório
segredo=rand()/100; //Guardo em uma variável o resultado da pesquisa de um número
aleatório
printf("Qual e o numero: "); //Mostra na tela a mensagem
scanf("%d",&num); //Entra com um dado pelo teclado
if (segredo==num) //Laço "SE"
printf("Acertou!"); //"ENTÂO" Mostra na tela "SE" o númro teclado for igual ao número
alaatório
else if (segredo<num) //"SENÂO" "SE" o número aleatório for menor que o número teclado
printf("Errado, muito alto!\n"); //"ENTÂO" mostra a mensagem: "Errado, muito alto"
else printf("Errado, muito baixo!\n"); //"SENÂO" mostra a mesnagem: "Errado, muito baixo"
printf("O numero eh %d\n",segredo); //Mostra na tela o número aleatório
system("PAUSE"); //Função de Pausa do sistema operacional
} //Fim do programa em C
14) Controle de Fluxo “ENQUANTO”
//Este programa mostra a ação do Controle de Fluxo "ENQUANTO"
#include <stdio.h> //biblioteca com funções de Entrada e Saída
#include <stdlib.h> // biblioteca com funções de sistema Operacional
main( ) //Início do programa em C
{
char ch; //Declaração de variável
while(ch!='a') ch=getchar(); //Fica no laço "ENQUANTO" a variável "ch" diferente da letra 'a', lê
tecla
system("PAUSE"); //Função de Pausa do sistema operacional
} //Fim do programa em C
11) Controle de Fluxo “ FAZ ENQUANTO”
//Este programa mostra a ação do Controle de Fluxo "FAZ" "ENQUANTO"
#include <stdio.h> //biblioteca com funções de Entrada e Saída
#include <stdlib.h> // biblioteca com funções de sistema Operacional
main( ) //Início do programa em C
{
char ch; //Declaração de variável
printf("1. inclusao\n"); //Mostra na tela a mensagem
printf("2. alteracao\n"); //Mostra na tela a mensagem
printf("3. exclusao\n"); //Mostra na tela a mensagem
printf(" Digite sua opção:"); //Mostra na tela a mensagem
do //"FAZ" a seguinte operação
{
ch=getchar(); //Lê um valor no taclado
switch(ch) //Seleciona o valor da variável "ch"
{
case '1': //caso a variável "ch" for '1'
printf("escolheu inclusao\n"); //Mostra na tela amensagem
break; //quebra o fluxo
case '2': //caso a variável "ch" for '2'
8
printf("escolheu alteracao\n"); //Mostra na tela amensagem
break; //quebra o fluxo
case '3': //caso a variável "ch" for '3'
printf("escolheu exclusao\n"); //Mostra na tela amensagem
break; //quebra o fluxo
case '4': //caso a variável "ch" for '4'
printf("sair\n"); //Mostra na tela amensagem
}
}
while(ch!='1' && ch!='2' && ch!='3' && ch!='4'); //"ENQUANTO" as condições entre parenteses
não forem verdadeiros
//Fica no laço enquanto a variável "ch" for diferente de ´1' ou
//´2´ ou ´3´ ou ´4
system("PAUSE"); //Função de Pausa do sistema operacional
} //Fim do programa em C
12) Controle de Fluxo “SELEÇÃO”
//Este programa mostra a ação do Controle de Fluxo "SELEÇÂO"
#include <stdio.h> //biblioteca com funções de Entrada e Saída
#include <stdlib.h> // biblioteca com funções de sistema Operacional
main( ) //Início do programa em C
{
char x; //Declaração de variável
printf("1. inclusao\n"); //Mostra na tela a mensagem
printf("2. alteracao\n"); //Mostra na tela a mensagem
printf("3. exclusao\n"); //Mostra na tela a mensagem
printf(" Digite sua opcao:"); //Mostra na tela a mensagem
x=getchar(); //Lê um valor no taclado
switch(x) //Seleciona o valor da variável "x"
{
case '1': //caso a variável "x" for '1'
printf("escolheu inclusao\n"); //Mostra na tela a mensagem
break; //quebra o fluxo
case '2': //caso a variável "x" for '2'
printf("escolheu alteracao\n"); //Mostra na tela a mensagem
break; //quebra o fluxo
case '3': //caso a variável "x" for '3'
printf("escolheu exclusao\n"); //Mostra na tela a mensagem
break; //quebra o fluxo
default: //caso a variável "x" for qualquer outro
printf("opcao invalida\n"); //Mostra na tela a mensagem
}
system("PAUSE"); //Função de Pausa do sistema operacional
} //Fim do programa em C
9
Download