Vous êtes sur la page 1sur 78

Programao I

Eng. Geomar Canjundo


Objectivo Geral
Instruir os conceitos bsicos de algoritmos de
programao, familiarizando os acadmicos com
os recursos computacionais na resoluo de
problemas reais. Com a utilizao de
pseudocdigos ou portugus estruturado, aplicar
tanto prtica como teoricamente, as estruturas
bsicas de programao de computadores. A
aplicao dos objectivos especficos, servir como
manual introdutrio para as demais disciplinas
que trataro de anlise e desenvolvimento de
sistemas computacionais.
Objetivos Especficos
Introduo a Algoritmos

Portugus Estruturado

Conceitos de Variveis, Operadores (Matemticos,
Relacionais e Lgicos)

Conceitos de Tipos de Dados

Definio da Estrutura de um programa de Computador
1. INTRODUO LGICA DE PROGRAMAO
I. Introduo Programao de Computadores
II. Conceito de Algoritmos
III. Importncia do Algoritmo
IV. Caractersticas do Algoritmo
V. Formas de Representao do Algoritmo
VI. Princpios de resoluo de problemas
VII. Estruturas chaves da construo de Algoritmos
Estrutura Sequencia
Estrutura Condicional (deciso ou Seleo)
2. Linguagem Algortmica
I. Conceito de Variveis
II. Operao de Atribuio
III. Operadores de Entrada e Sada
IV. Estrutura Sequencial
V. Estrutura Condicional(Deciso ou Seleo)
Programas e Programao de
Computadores
Programa de computador um conjunto de
instrues que descrevem uma tarefa que ser
executada por um computador.

Um programa de computador tambm conhecido
como software, software aplicativo, software de
sistema ou simplesmente programa.

O termo software mais utilizado quando feita
uma referncia parte no fsica do sistema
computacional, juntamente com o termo hardware,
que faz referncia ao conjunto de componentes
eletrnicos que constituem um computador.

Classificao dos Software Computacionais
Software de Sistema (Base)
Software que do suporte funcional (arranque, funcionamento
e Manuteno) aos Computadores:
Sistemas Operativos;
Drivers de Dispositivos;
Software de Aplicao(Aplicativos)
Programas que permitem ao utilizadores realizar as diversas
tarefas especficas do dia dia:
Folhas de Clculo (Ms Excel)
Editores de Texto (Ms Word)
Navegadores de Internet (Ms Internet Explorer, Mozilla)
Software no Computacionais
Software Embutidos (Embarcados)
Exemplos: Bombas Injetoras; Micro-Ondas, etc
Programao de Computadores

O acto de desenvolver programas para o computador,
mediante uma Linguagem de Programao.

A programao o processo de escrita, teste e manuteno
de um programa (ASCENIO e CAMPOS, 2002).

Assim como o Portugus, o Ingls e o Espanhol, as
linguagens de programao tm as suas regras e devemos
segui-las para escrever nossos programas corretamente.

Portanto, a programao de computadores uma cincia e,
por isso, devemos seguir uma metodologia para termos
como resultado: programas seguros e eficientes.


LINGUAGENS DE PROGRAMAO

Mtodo padronizado para a criao de programas de
computadores.

Uma linguagem de programao um conjunto de regras
sintticas e semnticas usadas para definir um programa.

O conjunto de cdigos (palavras e smbolos), compostos de
acordo com essas regras, constituem o cdigo fonte do nosso
programa. Para ser executado pelo processador, o cdigo
fonte precisa ser traduzido para cdigo de mquina.

Aprender uma linguagem de programao um pouco similar
a aprender um novo idioma. Temos que saber o
significado das palavras, as regras da estruturao das
frases, etc., para podermos nos comunicar corretamente no
novo idioma.

Formas de Classificao da Linguagens de
Programao
Paradigma de Programao
Programao estruturada ou imperativa
Programao Orientada a objectos
Programao Funcional
Estrutura do tipo
Fracamente tipada
Fortemente tipada
Dinamicamente tipada
Estaticamente tipada
Grau de Abstrao
Linguagem Mquina
Linguagem de Baixo nvel
Linguagem de Alto Nvel
Linguagem de Mquina
A linguagem de mquina a linguagem natural dos
computadores. Estas linguagens so ininteligveis para o ser
humano no treinado. As linguagens de mquina so
representadas por sequncias de bits (zeros e uns). Estas
sequncias representam instrues que sero executadas
pelo processador do computador.

Linguagem de Baixo Nvel
As linguagens de baixo nvel so prximas da linguagem
de mquina. No entanto, os zeros e uns que formam uma
instruo foram substitudos por palavras que
representam tais instrues, tornando-as um pouco mais
legveis. Estas linguagens so mais voltadas para a
mquina, isto , so escritas usando as instrues do
microprocessador do computador. So chamadas de
linguagens Assembly (que significa montagem).


Linguagens de Alto Nvel
As linguagens de alto nvel so mais prximas
linguagem humana (do Ingls, por exemplo) e mais distantes
das linguagens de mquina.

Necessitam de compiladores ou interpretadores para gerar
instrues do microprocessador.

Interpretadores fazem a interpretao de cada instruo do
programa fonte executando-a dentro de um ambiente de
programao, Basic e Java so exemplos de linguagens
interpretadas.

Os compiladores fazem a traduo de todas as instrues do
programa fonte gerando um programa executvel. Estes
programas executveis (*.exe) podem ser executados fora dos
ambientes de programao.

Classificao da Linguagens de Alto Nvel

Genricas
Para o desenvolvimento de programas de propsito geral;
C, Java, Pascal Object, C# (C Sharp), VBNet

Especficas
Fortran - utilizada para execuo de clculos matemticos;

LISP - desenvolvimento de aplicaes na rea de
inteligncia artificial;

CLIPPER utilizada para aplicaes que manipulam bancos
de dados.
Criao, Compilao e Execuo de um Programa




Criao do programa fonte, que consiste no texto
formado pelo conjunto de comandos que ns desejamos que
o computador execute.

Compilao. O compilador um programa que verifica
se o programa fonte no apresenta nenhum erro de
sintaxe e gera o programa executvel. Quando o programa
fonte apresenta algum problema, dizemos que ocorreu um
erro de compilao.

Execuo do programa executvel. Neste momento, o
programador dever testar se o programa est
produzindo os resultados esperados.
Conceitos de Algoritmos

A automatizao de tarefas um aspecto marcante da
sociedade moderna. O aperfeioamento tecnolgico
alcanado, com respeito a isto, teve como elementos
fundamentais a anlise e a obteno de descries da
execuo de tarefas em termos de aes simples o
suficiente, tal que pudessem ser automatizadas por
uma mquina especialmente desenvolvida para este
fim, O COMPUTADOR.

Em cincia da computao houve um processo de
desenvolvimento simultneo e interativo de mquinas
(hardware) e dos elementos que gerenciam a execuo
automtica (software) de uma dada tarefa. E essa
descrio da execuo de uma tarefa, como
considerada acima, chamada algoritmo.
O conceito central da programao e da Cincia da
Computao o conceito de algoritmos, isto , programar
basicamente construir algoritmos

A palavra algoritmo, primeira vista, parece-nos estranha.
Embora possua designao desconhecida, fazemos uso
constantemente de algoritmos em nosso cotidiano: a
maneira como uma pessoa toma banho um algoritmo.
Outros algoritmos frequentemente encontrados so:

instrues para se utilizar um aparelho eletrodomstico;

uma receita para preparo de algum prato;

Formulrios de preenchimento de confirmao de matrcula
ou inscrio de um aluno;

a maneira como as contas de gua, luz e telefone so
calculadas mensalmente; etc


Utilizamos algoritmos (No computacionais) no nosso
cotidiano para realizar atividades corriqueiras, definindo a
sequncia de passos que deve ser executada para atingirmos
um objetivo, como, por exemplo, os passos que executamos
para tomar banho, calibrar um pneu ou fazer um bolo.
So vrios os conceitos para algoritmo:
Um conjunto finito de regras que prov uma
sequncia de operaes para resolver um tipo de
problema especfico - [KNUTH]

Sequncia ordenada, e no ambgua, de passos que
levam soluo de um dado problema - [TREMBLAY]

Processo de clculo, ou de resoluo de um grupo
de problemas semelhantes, em que se estipulam,
com generalidade e sem restries, as regras
formais para a obteno do resultado ou da
soluo do problema - [AURLIO]


Importncia do Algoritmo
A importncia do algoritmo est no facto de termos que
especificar uma sequncia de passos lgicos para que o
computador possa executar uma tarefa qualquer, pois o mesmo
por si s no tem vontade prpria, faz apenas o que mandamos.

Com uma ferramenta algortmica, podemos conceber uma
soluo para um dado problema, independendo de uma
linguagem especfica e at mesmo do prprio computador.

a forma pela qual descrevemos solues de problemas do
nosso mundo, afim de, serem implementadas utilizando os
recursos do mundo computacional.

Como este possu severas limitaes em relao ao nosso
mundo, exige que, sejam impostas algumas regras bsicas na
forma de solucionar os problemas, para que, possamos utilizar
os recursos de hardware e software disponveis.

Pois, os algoritmos, apesar de servirem para representar a
soluo de qualquer problema, no caso do Processamento de
Dados, eles devem seguir as regras bsicas de programao para
que sejam compatveis com as linguagens de programao.

Caractersticas do Algoritmos
Incio o Fim

No dar margem dupla interpretao (no
ambguo);

Capacidade de receber dado(s) de entrada do
mundo exterior;

Poder gerar informaes de sada para o mundo
externo ao do ambiente do algoritmo;

Ser efetivo (todas as etapas especificadas no
algoritmo devem ser alcanveis em um tempo
finito).

Forma de Representao do Algoritmo
DESCRIO NARRAVATIVA
Faz-se uso do portugus para descrever
algoritmos.

EXEMPLO:
Receita de Bolo:
Providencie manteiga, ovos, 2 Kg de massa, etc.
Misture os ingredientes
Despeje a mistura na forma de bolo
Leve a forma ao forno
Espere 20 minutos
Retire a forma do forno
Deixe esfriar
Prove

DESCRIO NARRATIVA

VANTAGENS
O Portugus bastante conhecido por ns

DESVANTAGENS
Impreciso;
Pouca confiabilidade (a impreciso acarreta
desconfiana)
Extenso (normalmente escreve-se muito para dizer uma
coisa)

FLUXOGRAMA


Terminal: indica o incio e o fim de um programa
Conexo: serve para unio dos fluxos de informao
Entrada de Dados: Indica a entrada de informao
passada pelo utilizador
Processamento: Utilizado para fazer clculos e
atribuio de valores
Sada: indica a sada de informaes processadas
para o usurio por qualquer dispositivo de sada como
monitor, impressora, etc.
Condio: Indica a diviso do fluxo por uma
determinada condio
Seta de Fluxo de Informaes: indica o caminho que
o processamento pode tomar
FLUXOGRAMA
Exemplo



Incio
Leia NUM
DOBRO <-NUM*2
Escreve DOBRO
Fim
Incio
Leia N1
Media =N1+N2/2
Fim
Leia N2
Se
Media>=10
Apto
N/
Apto
FLUXOGRAMA
Vantagens
Uma das mais conhecidas ferramentas
Figuras dizem muito mais que palavras
Padro mundial

Desvantagens
Faz com que a soluo do problema esteja amarrada a
dispositivos fsicos;
Pouca ateno aos dados, no oferecendo recursos ara
descreve-los ou representa-los;
Complica-se medida que o algoritmo cresce;


PSEUDO-CDIGO (LINGUAGEM ALGORITMICA)
Exemplo



Algoritmo CALCULA_DOBRO
inicio
LEIA NUM
DOBRO <- 2 * NUM
Escreva DROBRO
fim

Algoritmo MEDIA
inicio
Resultado: caractere
N1, N2, soma, Med:real
Leia(N1, N2)
soma <- N1+N2
Med <- soma/2
Se(med > = 10)
Resultado <- APROVADO
Seno
Resultado <- REPROVADO
Escreva(Resultado)
fim

PSEUDO-CDIGO (LINGUAGEM ALGORITMICA)
VANTAGENS
Independncia fsica da soluo(soluo lgica apenas)
Usa o portugus como base;
Pode-se definir quais e como os dados vo estar
estruturados;
Passagem quase imediata para uma linguagem de
programao qualquer.
DESVANTAGENS
Exige a definio de uma linguagem no real para
trabalho;
No existem padres




ESTRUTURA DE CONSTRUO DE
ALGORITMO SEQUENCIAL
CONCEITO DE VARIVEIS E IDENTIFICADORES

TIPOS DE DADOS

OPERADORES DE ATRIBUIO

OPERADORES DE ENTRADA E SADA DE DADOS

OPERADORES MATEMTICOS

CONSTRUO DE ALGORITMOS COM ESTRUTURA
SEQUENCIAL
Conceito de Variveis
Sabe-se da Matemtica que uma varivel a representao
simblica dos elementos de um certo conjunto.

Nos algoritmos destinados a resolver um problema no computador,
a cada varivel corresponde uma posio de memria, cujo
contedo pode variar ao longo do tempo durante a execuo de um
algoritmo. Embora a varivel possa assumir diferentes valores, ela
s pode armazenar um valor a cada instante.

Toda varivel identificada por um nome ou identificador. Assim,
por exemplo, num algoritmo para calcular a rea de um tringulo
retngulo pelo teorema de Pitgoras (a2 = b2 + c2), os
identificadores A, B e C podem representar as posies de memria
que armazenam o valor da hipotenusa e dos catetos. importante
que nunca usemos uma palavra reservada, isto , que faa parte
da linguagem algortmica, como um identificador, pois poder
causar ambiguidade no entendimento do algoritmo.

Na nossa linguagem algortmica, vamos admitir que nossas
variveis podero armazenar valores numricos ou alfanumricos
(strings).
Regra para nomenclatura das variveis

O Nome das variveis no pode coincidir com o nome do
programa ou algoritmo

O nome das variveis no pode coincidir com as palavras
reservadas da linguagem.

O primeiro caractere do nome de uma varivel no poder ser
em hiptese alguma, um algarismo, sempre dever ser uma
letra;

O nome de uma varivel no poder possuir espaos nem poder
conter;

O nome das variveis no dever conter caracteres especiais,
tais como: (@, #, $, %, &, *, _, , ., :, etc...)

Obs.: o caracter _ Under-line ou sublinhado considerado uma
letra
Assinale com X os nomes vlidos para
identificadores de variveis:

( ) Endereo ( ) 21Angola ( ) Tele&Come ( ) NomeUsuario
( ) Salario Base ( ) _Num1 ( ) Imposto ( ) Nome_Usuario
( ) N_Matrcula ( ) Idade ( ) Num2345 ( ) Salrio Liquido
Tipos de Dados
As variveis e as constantes podem ser basicamente de
quatro tipos: Numricas, caracteres, Alfanumricas ou
lgicas.
Numericos Inteiros(int):
So tipos inteiros, os dados numricos positivos ou
negativos, excluindo-se, destes qualquer fracionrio. Como
exemplo deste tipo de dado, tm-se os valores : 35,0,-56;
Numricos Reais(decimal):
So tipos reais, os dados numricos positivos, negativos e
nmeros fracionrios. Ex. : 35,0,-56,1.2,-45.897
Caracter (String):
So caracteres, as sequncias contendo letras, nmeros e
smbolos especiais. Uma sequncia de caractere deve ser
indicada entre aspas(). Ex.:PROGRAMAO,Rua Alfa,
,98.
Lgicos (Boolean):
So tipos lgicos ou boleanos, os dados com valores
verdadeiro ou falso, e deve ser escrito entre pontos. Ex.:
.Falso.,.Verdadeiro. (True/False)


Indique o tipo de varivel que podero armazenar
os valores abaixo:
Int Inteiro;
Decimal Real;
String Alfanumerico;
Bool Logico

( ) 1000 ( ) -456 ( ) -1.46 ( ) 0
( ) -900 ( ) True ( ) -456 ( ) 34
( ) Casa 8 ( ) 0 ( ) 1.56 ( ) false
( ) 34+12 ( ) Salrio
Operador de Atribuio
A atribuio uma notao utilizada para atribuir um
valor a uma varivel, ou seja, para armazenar um
determinado contedo em uma varivel. A operao de
atribuio, normalmente, representada por uma seta
apontando para a esquerda, mas existem outros
smbolos para representar a atribuio, depende da
forma de representao do algoritmo.
Sintaxe da atribuio em
Algorito
Sintaxe da atribuio em C#,
C, C++ e Java
varivel<- expresso varivel=expresso
Exemplos
A <- 2
B <- A
NOTA <-10
NOME <-Joo
SENHA <- ABC
A<-B+C
A=2
B = A
NOTA=10
NOME = Joo
Senha = XPTO
A = B+C
C<-1/3 NOTA <-NOTA -1 C = 1/3 NOTA = NOTA +1
Operadores de Entrada e Sada
Existem basicamente duas instrues principais em
algoritmos (e em programao em geral) que so:
Escrever e Ler. Veremos inicialmente como
funciona a instruo Escrever.

A instruo Escrever utilizada quando deseja-se
mostrar informaes na tela do computador, ou seja,
um comando de sada de dados. Para simplificar, usa-se
a instruo Escrever, quando necessita-se mostrar ou
solicitar algum dado para o usurio do algoritmo (e
posteriormente do programa).

Em C# a Sintaxe utilizada para usar o comando de sada
de dados o Console.WriteLine();
Dispositivos de Sada

A instruo Ler utilizada quando deseja-se obter
informaes do teclado do computador, ou seja,
um comando de entrada de dados. Para
simplificar, usa-se a instruo Ler, quando
necessita-se que o usurio do algoritmo digite
algum dado (e posteriormente do programa).

Em C# a Sintaxe utilizada para usar a comanda de
sada de dados o Console.ReadLine();
Dispositivos de Entrada
Operadores Matemticos
Os operadores so meios pelo qual incrementamos,
decrementamos, comparamos e avaliamos dados
dentro do computador. Temos trs tipos de
operadores:

ARITMTICOS

RELACIONAIS

LGICOS
Os operadores aritmticos so os utilizados para
obter resultados numricos. Alm da adio,
subtrao, multiplicao e diviso, podem utilizar
tambm o operador para exponenciao.

Os smbolos para os operadores aritmticos so:
Operador(smbolo) Descrio
+ Adio
- Subtrao
* Multiplicao
/ Diviso
% Resto da Diviso
Operadores Aritmticos de Atribuio Reduzida
Esses operadores so usados para compor uma operao
aritmtica e uma atribuio, conforme descrito seguir:



Operador Usabilidade Descrio Significado
+= A+=expresso Mais igual A = A + expresso
-= A-=expresso Menos igual A = A expresso
*= A*=expresso Vezes igual A = A * expresso
/= A/=expresso Dividido igual A = A / expresso
%= A%=expresso Resto igual A = A % expresso
Exemplo:

Int x = 5;

X+=5 a mesma coisa que x=x+5
Os operadores relacionais comparam dois valores e
retornam um valor lgico(booleano) que pode ser
verdadeiro ou falso (true/false). Os smbolos para os
operadores relacionais so:
Operador(smbolo) Descrio
== Igual a
!= Diferente de
> Maior que
< Menor que
>= Maior ou igual
<= Menor ou igual
Os operadores lgicos trabalham como operadores booleanos e o seu resultado
tambm ser booleano(true/false). Eles so usados somente para expresses
lgicas. Os smbolos para os operadores relacionais so:
Operador(smbolo) Descrio
&& AND = E
|| OR = Ou
! NOT = No
Assim, em um teste lgico usando o operador && (AND), o resultado somente
ser verdadeiro (true) se todas as expresses lgicas forem avaliadas como
verdadeiras.

J, se o operador usado for o || (OR), basta que apenas uma das expresses
lgicas seja verdadeira para que o resultado tambm seja verdadeiro.

Completando, o operador lgico ! (NOT) usado para gerar uma negao. Desta
forma, invertida toda a lgica da expresso.




Exerccios de Algoritmos com estrutura
Sequencial (Visualg & C Sharp)
Resoluo de Exerccios baseados nas Listas
enviadas por E-mail usando:

Linguagem Algortmica VisualG

Linguagem de Programao C#


Estrutura Condicional ou Seleo
1. Estruturas de Seleco ou Deciso
o Estruturas de Controlo
o Estruturas IfElse(se seno)
o If simples
o If Composto
o If Aninhado
o Switch(Escolha Caso)
o Identao de um programa


Nos programas que desenvolvemos at este momento,
todos os comandos que aparecem no programa so
executados, ou seja, o processador vai passando e
executando cada um dos comandos do programa.
Existem situaes em que no queremos que todos os
comandos sejam executados. Nestes casos, devemos
utilizar alguma estrutura de seleo, que nos permite
desviar de uma sequncia de comandos do programa.
Neste captulo, iremos aprender a utilizar as estruturas
de seleo disponveis na linguagem C#, que so: if e
switch.

Estas estruturas correspondem ao se e escolha do
Portugol. As estruturas de seleo tambm podem ser
chamadas de: estruturas de deciso ou estruturas de
desvio. Vamos avanar, um pouco mais, nossos
conhecimentos em C#?

De um modo geral, os comandos de um programa
so executados um aps o outro, na ordem em
que foram escritos de cima para baixo e da
esquerda para a direita. Este o fluxo de
execuo de um programa. Mas, atravs do uso
de estruturas de controlo, podemos controlar o
fluxo de execuo dos nossos programas.


Existem trs tipos de estruturas de controlo:

Sequncia: nesta estrutura, todos os comandos so
executados uma nica vez, de forma linear, um aps o outro.
At ento, nossos programas foram desenvolvidos desta
forma.

Seleo: esta estrutura permite que um grupo de comandos
seja executado ou no, dependendo do resultado de uma
condio (representada por expresses relacionais ou
lgicas). Dessa forma, poderemos ter um conjunto de
comandos do nosso programa que no vai ser executado.

Repetio: com estas estruturas, poderemos fazer com
que uma sequncia de comandos seja executada vrias
vezes.
A estrutura de seleo if a estrutura de seleo
mais simples. No entanto, esta estrutura resolve
todo e qualquer problema de seleo.
Esta estrutura permite executar um entre vrios
blocos de comandos. A escolha de qual bloco ser
executado depende do resultado de uma condio
(expresso relacional ou lgica). A sintaxe geral
para o comando if apresentada abaixo:
Sintaxe
if(condicao)
{
bloco_de_comando1
}else
{
bloco_de_comando2
}
Neste comando, a condio verificada e,
caso o resultado seja verdade, o
bloco_de_comandos1 ser executado. Caso
contrrio, o bloco_de_comandos2
executado. Note que somente um dos blocos
ser executado. Apesar de possuir uma forma
geral, esta estrutura pode se apresentar de
modos ligeiramente diferentes: if simples,
composto ou aninhado.
If Simples
O if simples o if sem o else. O if simples
utilizado quando se deseja executar uma sequncia
de comandos, apenas se a condio for verdade.
Dessa forma, no existe uma sequncia de
comandos para ser executada quando a condio
falsa. A figura apresenta o fluxograma do if
simples..

Sintaxe para o If Simples






Exemplo do uso do If Simples
O programa 1.1 solicita o saldo atual do cliente e o
valor que ele deseja retirar no banco. O programa
vai calcular e apresentar o valor do saldo do
cliente, aps o saque. Caso o saldo fique
negativo, deve ser escrito uma mensagem
informando esta situao ao cliente.


Sintaxe
if (condicao) if (condicao)
{
comando1;
comando2;
}
Exerccios com IF Simples
If Composto
O if composto o if com o else, dessa forma, teremos
uma sequncia de comandos que executada quando a
condio resulta em verdade e uma outra sequncia que
executada quando a condio falsa.
SINTAXE
Caso 1 Caso 2
if (condicao)
Comando1

else
Comando 2
if (condicao)
{
comando1;
comando2;
}else
{
comando3;
}
Caso 3 Caso 4
if (condio)
comando1;

else
{ comando2;
comando3;
}
if (condio)
{ comando1;
comando2;
}
else
{ comando3;
comando4;
}
Exemplo de If Composto

Este programa l o nome do aluno e as suas duas notas.
Em seguida, calcula a mdia do aluno e apresenta uma
mensagem informando se o aluno foi aprovado ou
reprovado (considerar que a mdia para ser aprovado
igual ou maior que 14.0)
If Aninhado
O if aninhado ocorre quando temos mais de duas
possibilidades de respostas (ou situao). Por
exemplo, ao comparar dois nmeros (x e y), temos
trs possibilidades de resposta: x menor que y, x
maior que y, ou ainda, x e y so iguais. Assim, a
primeira possibilidade ser testada na condio do
if (verificando se x menor que y). Se a condio
for falsa, ainda temos duas possibilidades de
resposta. Para fazer esta verificao, necessitamos
de um outro if. Este novo if ser colocado dentro da
sequncia de comandos do else. Assim, teremos um
if dentro do outro, por isso chamado de if
aninhado.
Caso1: 3 Possibilidade de Respostas Caso2: Quatro possibilidade de
Respostas
if (condio1)

comando1;

else
{
if (condicao2)

comando2;

else

comando3;
}
if (condio1)

comando1;

else
{
if (condicao2)
comando2;
else
{
if (condicao3)

comando3;

else
comando4;
}
}
Exemplo do If Aninhado
Neste programa, sero lidos dois nmeros
inteiros(x e y) e seus valores sero comparados.
O programa ir escrever uma das trs
mensagens: x maior que y, x menor que y ou
x e y so iguais. Na sequncia, as linhas do
programa sero comentadas.

Exerccios com IF Composto e IF Aninhado
Switch uma estrutura de deciso que permite a
execuo de uma sequncia de comandos a partir
da anlise do valor de uma varivel inteira ou de
uma varivel com um nico caractere.

Normalmente, o switch usado quando sabemos os
provveis valores que uma varivel pode
armazenar, e para cada valor, temos que executar
uma sequncia de comandos diferente.

A grande restrio do switch que ele no funciona
para variveis reais, nem cadeia de caracteres.
Alm disso, o switch testa se a varivel igual a
um valor.