Logo Passei Direto
Buscar

Aula 06 - Implementacao_em_C_introdrucao_LP_e_estruturas_decisao_

User badge image

Enviado por Joao Vitor em

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

29/03/2011
1
Algoritmos
Aula 06
Profª Helyane B. Borges
Definições de Linguagem de 
Programação
 É um método padronizado para expressar
instruções para um computador.
 É um conjunto de regras sintáticas e
semânticas usadas para definir um
programa de computador.
 É uma ferramenta importante para os
programadores e engenheiros de
software.
Linguagem C
 Ritchie e Thompson – 1972
 Sistema Operacional UNIX
 Aplicações
 Características
◦ Nível Médio
◦ Linguagem estruturada
◦ Portabilidade
◦ Programas compilados
◦ Código eficiente
◦ Uso de bibliotecas
Sintaxe
algoritmo <nome_do_algoritmo>
<subalgoritmos>
início
<declaração_de_variáveis>
<corpo_do_algoritmo>
fim.
fim algoritmo.
//bibliotecas
<subalgoritmos>
main()
{
<declaração_de_variáveis>
<corpo_do_algoritmo>
}
Programa principal
Inicio do bloco
Final do bloco
Tipos de Dados
Algoritmo
 Inteiro
 Caracter
 Lógico
 Real
C
 int
 char
 float
 double
 void
char NOME[20]; “ANA”
char LETRA; „A‟
Variáveis
 Sintaxe em algoritmo:
<tipo_da_variável> : <nome_da_variável>;
 Sintaxe em C:
<tipo_da_variável> <nome_da_variável>;
29/03/2011
2
Constantes
 Sintaxe:
const <nome_da_constante> = <valor>;
# define <nome_da_constante> = <valor>;
Constantes de Barra Invertida - C
Código Significado
\b Retrocesso (backspace)
\f Alimentação de Formulário (form feed)
\t Tabulação Horizontal (tab)
\n Nova Linha
\” Aspas
\’ Apostrofo
\0 Nulo
\\ Barra Invertida
\a Sinal Sonoro (Beep)
\N Constante Octal (N é o valor da constante)
\xN Constante Hexadecimal (N é o valor da constante)
Operador de atribuição  =
 Algoritmo:
x  2000;
C:
x = 2000;
 A ação é executada da direita para a esquerda.
Algoritmo C Ação
+ + Soma
- - Subtração ou troca de sinal
* * Multiplicação
/ / Divisão
mod % Resto da divisão inteira
++ ++ Incremento
-- -- Decremento
Operadores Aritméticos
Operadores Relacionais
Algoritmo C Relação
> > Maior que
>= >= Maior que ou igual a
< < Menor que
<= <= Menor que ou igual a
= == Igual a
<> != Diferente de
Operadores Lógicos
Algoritmo C Função
e && conjunção
ou || disjunção
não ! negação
29/03/2011
3
Operadores de Incremento e 
Decremento - C
 Incremento: ++
◦ Soma 1 ao seu operando
◦ Exemplo : X++; // Mesmo que : x = x+1;
 Decremento: --
◦ Subtrai 1 ao seu operando
◦ Exemplo : X--; // Mesmo que : x = x-1;
Prefixo ou sufixo
Prefixo : ++x Sufixo : x++
◦ Tem diferença quando usado em expressão:
X = 10;
y = ++x; /* primeiro acrescenta 1 em x e 
depois atribui a soma a y */
◦ Porém :
x = 10;
y = x++; /* primeiro atribui x a y e depois 
acrescenta 1 em x */
Operadores aritméticos de
atribuição
 Combinam operações aritméticas com
atribuição.
 O operando da esquerda é sempre o nome
de uma variável e o da direita, uma
expressão qualquer.
 A operação consiste em atribuir um novo
valor à variável que dependerá do operador
e da expressão à direita.
 Regra geral: se x é uma variável, exp uma 
expressão e op um operador aritmético, então:
x op= exp equivale a x = x op
(exp)
 Exemplos:
i += 2; equivale a i = i+2;
x *= y+1; equivale a x = x * (y+1);
p %= 5; equivale a p = p % 5;
Operadores aritméticos de
atribuição (cont.)
Saída de Dados
 Algoritmo
◦ escreva(“teste”);
◦ escreva(“Meu nome e”,NOME”,e minha 
idade e”, IDADE);
 C
◦ printf(“teste”);
◦ printf(“Meu nome e %s e minha idade e %d”, 
NOME, IDADE);
Entrada de Dados
 Algoritmo
◦ leia(<VARIAVEL>);
◦ Exemplo: leia(NUMERO);
 C
◦ scanf (“<CODIGO>”,&<VARIAVEL>);
◦ Exemplo: scanf(“%d”,&NUMERO);
29/03/2011
4
Códigos de Formatação da Função
%c Caracter
%d Inteiro
%f Ponto flutuante – real
%e Notação científica
%s Cadeia de caracteres
%x hexadecimais
Caracteres de controle
 \n – nova linha
 \r – enter
 \t – tabulação (tab)
 \b – retrocesso
 \ “ – aspas
 \\ - barra
Bibliotecas
 As funções, como por exemplo as funções printf
e scanf pertencem a uma Biblioteca chamada
stdio.h que precisa ser incluída ao programa.
 Outras bibliotecas:
◦ conio.h
◦ math.h
◦ string.h
 Sintaxe:
#include<nome_da_biblioteca>
OBS: Devem ser inseridas 
no inicio do código.
Palavras Reservadas em C
auto, break, case, char, const, continue, 
default, do, double, else, enum, extern, float, 
for, goto, if, int, long, register, return, 
short, signed, sizeof, static, struct, switch, 
typedef, union, unsigned, void, volatile, while
Obs.: C é case sensitive
#include <stdio.h>
#include <conio.h>
main( )
{ 
printf(“Meu primeiro programa”);
getch();
}
Exemplo 1
Função que espera uma tecla
ser pressionada. Encontra-se
na biblioteca conio.h.
Exemplo 2
Escrevendo uma palavra em cada linha
#include <stdio.h>
#include <conio.h>
main( )
{ 
printf(“Meu\nprimeiro\n\tprograma”);
getch();
}
29/03/2011
5
Exemplo 3
Escrevendo 3 frases com texto e valores
#include<stdio.h>
#include<conio.h>
main ()
{
printf (“O numero valido e :%d”,2);
printf(“O valor em real e: %f”,1.5);
printf(“A letra correta e : %c”,‟a‟);
getch();
}
Exemplo 4
Tamanho para a impressão de campo
main ()
{
printf(“Os alunos são %2d”, 350);
printf(“Os alunos são %4d”, 350);
printf(“Os alunos são %5d”, 350);
getch();
}
Saída 
Os alunos são 350
Os alunos são 350
Os alunos são 350
Exemplo 5
Formatando casas decimais
main ()
{
printf(“O preço e :%.2f”, 1234.5681);
printf(“O preço e :%.3f”, 1234.5681);
getch();
}
Saída 
O preço e : 1234.56;
O preço e : 1234.568;
Exemplo 6
Formatação dos Campos 
 Os tamanhos de campos podem ser usados
para alinhamento a esquerda ou a direita. Ex:
main()
{
printf(“%.2f %.2f %.2f\n”, 8.0, 15.3, 584.13);
printf(“%.2f %.2f %.2f\n”, 834.0, 1500.55, 4890.21);
}
SAÍDA
8.00 15.30 584.13
834.00 1500.55 4890.21
Exemplo 7
Alinhamento a direita
main()
{
printf(“%10.2f %10.2f %10.2f\n”, 8.0, 15.3, 584.13);
printf(“%10.2f %10.2f %10.2f\n”, 834.0, 1500.55, 4890.21);
}
SAÍDA
8.00 15.30 584.13
834.00 1500.55 4890.21
Exemplo 8
Alinhamento a esquerda
 O sinal de “-” precedendo a especificação do tamanho do campo
justifica os campos à esquerda, como mostra o próximo programa:
main()
{
printf(“%-10.2f %-10.2f %-10.2f\n”, 8.0, 15.3, 584.13);
printf(“%-10.2f %-10.2f %-10.2f\n”, 834.0, 1500.55, 4890.21);
}
SAÍDA
8.00 15.30 584.13
834.00 1500.55 4890.21
29/03/2011
6
Exemplo 9
Mostrando várias informações em um comando
#include<stdio.h>
#include<conio.h>
main ()
{
printf(“%s esta a %d milhoes de milhas do Sol”, ”Venus” , 67);
getch();
}
Saída
Venus esta a 67 milhoes de milhas do Sol
Exemplo 10
#include<stdio.h>
#include<conio.h>
main ()
{
printf(“A letra %c”, „j‟);
printf(“pronuncia-se %s.”,”jota”);
getch();
}
Saída
A letra j pronuncia-se jota 
O caractere aspas (“) indica ao 
compilador uma cadeia de 
caracteres e o apóstrofo („) 
indica um caracter
Procedimentos/Funções
 Sintaxe:
Algoritmo C
algoritmo <nome_do_algoritmo>
procedimento<nome>(<parâmetro>)
início
<declaração_de_variáveis>;
<comandos>;
fim procedimento;
início
<declaração_de_variáveis>
<corpo_do_algoritmo>
fim.
fim algoritmo.
//bibliotecas
void <nome>(<parâmetro>)
{
<declaração_de_variáveis>;
<comandos>;
}
main()
{
<declaração_de_variáveis>
<corpo_do_algoritmo>
}
Em C não
tem-se o termo procedimento, tudo é
funções. Neste exemplo é uma função que não
recebe parâmetros e retorna vazio (não retorna
um valor) por isso é do tipo void.
Procedimentos/Funções (cont.)
 Exemplo:
Algoritmo C
algoritmo imprime_nome
procedimento imprimir(caracter: NOME1)
início
escreva(“Meu nome e”, NOME1);
fim procedimento;
início
caracter: NOME;
escreva(“Digite seu nome”);
leia(NOME);
imprimir(NOME);
fim;
fim algoritmo.
#include <conio.h>
#include <stdio.h>
void imprimir(char NOME1[40])
{
printf(“Meu nome e %s”, NOME1);
}
main()
{
char NOME[40];
printf(“Digite seu nome”); 
scanf(“%s”, &NOME);
imprimir(NOME);
getch();
}
Neste exemplo (em C) é uma função
que recebe parâmetros e retorna
vazio (não retorna um valor).
Estrutura de Decisão
 Estrutura de Decisão Simples 
◦ se ... então
◦ if
 Estrutura de Decisão Composta
◦ se ... então ... Senão
◦ if....else
 Estrutura de Decisão Múltipla Escolha
◦ escolha ... caso ... caso-contrario
◦ switch ... case
Estrutura de Decisão Simples
 Sintaxe:
Algoritmo C
se (<condição>) 
então <comando_único>;
fim se;
ou
se (<condição>) 
então 
início
<comando_composto>;
fim;
fim se;
if (<condição>) 
<comando_único>;
ou
if (<condição>) 
{
<comando_composto>;
}
29/03/2011
7
Estrutura de Decisão Simples 
(cont.)
algoritmo decisão_simples
inicio
real: MEDIA;
escreva(“Digite a média”);
leia (MEDIA);
se (MEDIA>=7.0)
então escreva(“Aprovado”);
fim-se;
fim;
fim algoritmo.
#include <conio.h>
#include <stdio.h>
main()
{
float MEDIA;
printf(“Digite a média”);
scanf(“%f”,&MEDIA);
if (MEDIA>=7.0)
printf(“Aprovado”);
getch();
}
 Exemplo:
Algoritmo C
Estrutura de Decisão Composta
se (<condição>)
então <comando_único_1>
senão <comando_único_2>;
fim se;
ou
se (<condição>) 
então 
início
<comando_composto_1>; 
fim;
senão
início
<comando_composto_2>;
fim;
fim se;
if (<condição>) 
<comando_único>;
else
<comando_único>;
ou
if (<condição>) 
{
<comando_composto>;
}
else
{
< comando_composto >;
}
 Sintaxe:
Algoritmo C
Estrutura de Decisão Composta 
(cont.)
algoritmo decisão_composta
inicio
real: MEDIA;
escreva(“Digite a média”);
leia (MEDIA);
se (MEDIA>=7.0)
então escreva(“Aprovado”);
senão escreva(“Reprovado”);
fim-se;
fim;
fim algoritmo.
#include <conio.h>
#include <stdio.h>
main()
{
float MEDIA;
printf(“Digite a média”);
scanf(“%f”,&MEDIA);
if (MEDIA>=7.0)
printf(“Aprovado”);
else
printf(“Reprovado”);
getch();
}
 Exemplo:
Algoritmo C
Estrutura de Decisão de Múltipla Escolha
escolha (<variável>)
início
caso <condição_1> :
<comando_composto_1>;
caso <condição_2> :
<comando_composto_2>;
...
caso <condição_n> :
<comando_composto_n>;
caso contrário:
<comando_composto_s>;
fim escolha;
switch(<variável>)
{
case <condição_1> :
<comando_composto_1>;
case <condição_2> :
<comando_composto_2>;
...
case <condição_n> :
<comando_composto_n>;
default:
<comando_composto_s>;
}
 Sintaxe:
Algoritmo C
Estrutura de Decisão de Múltipla Escolha 
(cont.)
algoritmo decisão_mulltipla_escolha
inicio
inteiro: OPCAO;
escreva(“Escolha sua opção:
1-Técnico ou 2-Gerente”);
leia (OPCAO);
escolha (OPCAO)
inicio
caso 1: 
escreva (“Você terá aumento de 
10%”);
caso 2: 
escreva (“Você terá aumento de 
5%”);
caso contrario: 
escreva (“Opção inválida”);
fim-escolha;
fim;
fim algoritmo.
#include <conio.h>
#include <stdio.h>
main()
{
int OPCAO;
printf(“Escolha sua opção: 
1-Técnico ou 2-Gerente”);
scanf(“%d”,&OPCAO);
switch (OPCAO)
{
case 1: 
printf (“Você terá aumento de 10%”);
break;
case 2: 
printf (“Você terá aumento de 5%”);
break;
default: 
printf (“Opção inválida”);
} 
getch();
}
 Exemplo:
Algoritmo C

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?