conceitos e técnicas de programação aula 4
Post on 27-Jun-2015
2.069 Views
Preview:
TRANSCRIPT
1
Conceitos e Técnicas de Programação
Profº Ms. Tarcísio Júnior
Gestão de Tecnologia da Informação
2
Representação de Algoritmos
Conceitos e Técnicas de Programação
3
Estrutura Condicional
• Simples• Composta• Múltipla escolha
4
Estrutura Condicional Simples
início
olhar o céu
fim
acenderluz
escuro?
V
F
5
se <condição> então<ação>fim se
se <condição> então<ação>fim se
Estrutura Condicional Simples
• Utilizada quando precisamos testar uma certa condição antes de executar uma ação.
6
Estrutura Condicional Simples•
Exe
mpl
o:algoritmo media;
variáveisN1, N2, NF, media: real;fim-variáveis
inícioescreva("Entre com a primeira nota");leia (N1);escreva("Entre com a segunda nota");leia ( N2 );escreva("Entre com a nota final");leia (NF );media := (N1 + N2 + NF)/3;se media >= 5.0 então
escreva("o aluno passou!");fim-sefimalgoritmo
algoritmo media;
variáveisN1, N2, NF, media: real;fim-variáveis
inícioescreva("Entre com a primeira nota");leia (N1);escreva("Entre com a segunda nota");leia ( N2 );escreva("Entre com a nota final");leia (NF );media := (N1 + N2 + NF)/3;se media >= 5.0 então
escreva("o aluno passou!");fim-sefimalgoritmo
77
Exercício: Escreva um algoritmo que leia 2 valoresinteiros e calcule o resultado da divisão do primeiro pelosegundo. Não esqueça de verificar em que condição aoperação pode ser realizada.
Verificar se o segundo número é diferente de zero (não existe divisão por zero).
Caso o segundo número seja diferente de zero, calcule a divisão e imprima o resultado do cálculo na tela.
Exibir uma mensagem de erro no caso da condição não ser satisfeita.
Estrutura Condicional Simples
8
•S
oluç
ão:
algoritmo qualquer_nome;variáveisdenominador, numerador: inteiro;divisao: real;fim-variáveisinícioescreva ("Entre com o numerador (n1)");leia (numerador);escreva ("Entre com o denominador (n2)");leia (denominador);
se denominador = 0 entãoescreva ("Denominador inválido!");
senãodivisao := numerador/denominador;escreva ("O resultado da divisao é: ", divisao);
fim-sefimalgoritmo
algoritmo qualquer_nome;variáveisdenominador, numerador: inteiro;divisao: real;fim-variáveisinícioescreva ("Entre com o numerador (n1)");leia (numerador);escreva ("Entre com o denominador (n2)");leia (denominador);
se denominador = 0 entãoescreva ("Denominador inválido!");
senãodivisao := numerador/denominador;escreva ("O resultado da divisao é: ", divisao);
fim-sefimalgoritmo
Estrutura Condicional Simples
9
Estrutura Condicional Composta
início
Calcular a Média
fim
Aluno aprovado
Nota >= 5?
V
Fazer recuperação
F
10
se <condição> então<ação1>senão<ação2>fim se
se <condição> então<ação1>senão<ação2>fim se
Estrutura Condicional Composta
• Utilizada em situações em que duas alternativas dependem da mesma condição, uma da condição verdadeira (então) e a outra da condição falsa (senão).
11
Estrutura Condicional Composta•
Exe
mpl
o:algoritmo media;
variáveisN1, N2, NF, media: real;fim-variáveis
inícioescreva("Entre com a primeira nota");leia (N1);escreva("Entre com a segunda nota");leia (N2);escreva("Entre com a nota final");leia (NF);media := (N1 + N2 + NF)/3;se media >= 5.0 então
escreva ("aluno aprovado");senão
escreva (“aluno não aprovado”);fim-sefim
algoritmo media;
variáveisN1, N2, NF, media: real;fim-variáveis
inícioescreva("Entre com a primeira nota");leia (N1);escreva("Entre com a segunda nota");leia (N2);escreva("Entre com a nota final");leia (NF);media := (N1 + N2 + NF)/3;se media >= 5.0 então
escreva ("aluno aprovado");senão
escreva (“aluno não aprovado”);fim-sefim
12
Quando existe uma ou mais seleções dentro deoutra seleção.
Chamada Seleção Encadeada ou SeleçãoAninhada.
Ex 1: Lê uma idade e informa se a pessoa já alcançoua maioridade ou não. Não se deve aceitar valores deidade inválidos.
Estrutura Condicional Encadeada
13
•E
xem
plo:
algoritmo Maioridade;
variáveisidade: inteiro;fim-variáveis
inícioescreva("Informe a idade do individuo:");leia (idade);se (idade >=0) e (idade < 18) então
escreva ("Individuo Menor de Idade");senão
se (idade >= 18) e (idade <= 130) entãoescreva ("Individuo Maior de Idade");
senãoescreva ("Erro: Idade invalida!");
fim-sefim-se
fimalgoritmo
algoritmo Maioridade;
variáveisidade: inteiro;fim-variáveis
inícioescreva("Informe a idade do individuo:");leia (idade);se (idade >=0) e (idade < 18) então
escreva ("Individuo Menor de Idade");senão
se (idade >= 18) e (idade <= 130) entãoescreva ("Individuo Maior de Idade");
senãoescreva ("Erro: Idade invalida!");
fim-sefim-se
fimalgoritmo
Estrutura Condicional Encadeada
14
início
Ler estado
fim
São Paulo?V
Alíquota 12%F
Alagoas?
Paraíba?
Alíquota 15%
Alíquota 17%
F
F
V
V
Estrutura Condicional de Múltipla Escolha
15
se <cond_01> então<ação1>senão se <cond_02> então<ação2>senão se <cond_03> então<ação3>....senão<ação default>fim se
se <cond_01> então<ação1>senão se <cond_02> então<ação2>senão se <cond_03> então<ação3>....senão<ação default>fim se
• Utilizada quando um conjunto de valores discretos e ações diferentes são associadas a cada um desses valores.
Estrutura Condicional de Múltipla Escolha
16
• O IMC (Índice de Massa Corporal) é um critério da Organização Mundial da saúde para dar uma indicação sobre a condição de peso de uma pessoa adulta.
• A fórmula é
• Elabore um algoritmo que leia o peso e a altura de um adulto e mostre sua condição.
2)(alturapesoIMC
IMC em adultos Condição
abaixo de 18,5 abaixo do peso
entre 18,5 e 25 peso normal
entre 25 e 30 acima do peso
acima de 30 obeso
Estrutura Condicional de Múltipla Escolha
se <cond_01> então<ação1>
senão se <cond_02> então
<ação2>senão
se <cond_03> então<ação3>
....senão<ação default>
fimsefimse
fimse
se <cond_01> então<ação1>
senão se <cond_02> então
<ação2>senão
se <cond_03> então<ação3>
....senão<ação default>
fimsefimse
fimse
17
Solução – Esboço• Variáveis:
– Entrada: peso, altura• Tipo: real (float)• Intervalo: maior que zero
– Saída: IMC• Tipo: real
• Comandos:– Ler variáveis de entrada– Checar validade das variáveis de entrada– Calcular IMC– Determinar condição
Solução – Esboço
Estrutura Condicional de Múltipla Escolha
18
Solução do algoritmoAlgoritmo “IMC”Início das variaveispeso,altura,imc:REAL;
fim das variáveisInícioescreva(“Qual a sua altura?”)leia(altura)escreva(“Qual o seu peso?)leia(peso)imc <- peso/(altura*altura) ou pode ser imc <- peso/(altura^2)se imc < 18.5 entao
escreva("abaixo do peso")senao
se imc < 25 entaoescreva("peso normal")senao
se imc < 30 entaoescreva ("acima do peso")senao
escreval ("você está obeso!")fimse
fimsefimse
fimalgoritmo
19
Solução com o VisuAlg
algoritm "calculaIMC"// Função : Calcular o ICM// Autor : Tarcísio// Data : 08/03/2012// Seção de Declarações varaltura, peso, imc: realinicio// Seção de Comandos escreval("Qual a sua altura")leia(altura)
escreval("Qual o seu peso")leia(peso)
Continuação...
imc <- peso/(altura*altura)
se imc < 18.5 entaoescreval("você está abaixo do peso")
senaose imc < 25 entao
escreval("peso normal")senao
se imc < 30 entaoescreval ("acima do peso")
senaoescreval ("você está obeso!")
fimsefimse
fimsefimalgoritmo
20
Leia uma idade e informe se a pessoa é um eleitorobrigatório (entre 18 e 69 anos), facultativo (entre16 e 17 anos ou acima de 70) ou não é eleitor(menos de 16 anos)
Exercício
21
Solução do algoritmo
Programa EleitorInício das variáveis
idade: inteiro;fim das variáveisInícioescreva("Informe a sua idade:")leia(idade)se idade < 16 entao
escreva("Você não é eleitor")senao
se (idade < 18) ou (idade > 70) entaoescreva("eleitor facultativo")senao
se idade <= 70 entaoescreva ("você é eleitor")
fimsefimse
fimsefimalgoritmo
Leia uma idade e informe se a pessoa é um eleitor obrigatório (entre 18 e 69 anos), facultativo (entre 16 e 17anos ou acima de 70) ou não é eleitor (menos de 16 anos)
22
Solução com o VisuAlg
algoritmo "Eleitor"// Função : Verificar se de acordo com a idade a pessoa é ou não eleitor// Autor : Tarcísio// Data : 08/03/2012// Seção de Declarações varidade: inteiro
Continuação...
inicio// Seção de Comandos
escreval("Informe a sua idade:")leia(idade)se idade < 16 entao
escreva("Você não é eleitor")senao
se (idade < 18) ou (idade > 70) entaoescreva("eleitor facultativo")senao
se idade <= 70 entaoescreva ("você é eleitor")
fimsefimse
fimsefimalgoritmo
23
caso <variável>seja <opção1> faça <ação1>seja <opção2> faça <ação2>seja <opção3> faça <ação3>
senão<ação para nenhuma condição satisfeita>
fim_caso
caso <variável>seja <opção1> faça <ação1>seja <opção2> faça <ação2>seja <opção3> faça <ação3>
senão<ação para nenhuma condição satisfeita>
fim_caso
• Utilizada em situações em que possui um grande número deverificações lógicas a serem realizadas, tanto de formasequencial ou encadeada.
Tomada de decisão por seleção
24
• Exemplo: efetuar a leitura de um número inteiro entre 1 e 12e apresentar o nome do mês correspondente por extenso.Caso o valor informado for diferente deste intervalo deve serapresentada a mensagem “valor inválido”.
Tomada de decisão por seleção
25
Solução do Algoritmo
Algoritmo Mês_por_ExtensoInício das variáveis
mes: inteiro;fim das variáveisInício
escreva("Informe o mês (1 a 12):")leia(mes)caso mês
seja 1 façaescreva “Janeiro”
seja 2 façaescreva “Fevereiro”
seja 3 façaescreva “Março”
seja 4 façaescreva “Abril”
seja 5 façaescreva “Maio”
Continiação...seja 6 faça
escreva “Junho”seja 7 faça
escreva “Julho”seja 8 faça
escreva “Agosto”seja 9 faça
escreva “Setembro”seja 10 faça
escreva “Outubro”seja 11 faça
escreva “Novembro”seja 12 faça
escreva “Dezembro”senão
escreva(“valor inválido”)fim_caso
fimalgoritmo
26
Solução no VisuAlg
algoritmo "mes_por_extenso"// Função : Escreve o mês por extenso// Autor : Tarcísio// Data : 08/03/2012// Seção de Declarações varmes: inteiroinicio// Seção de Comandos escreval("Informe o mês (1 a 12):")leia(mes)escolha mescaso 1
escreval("Janeiro")caso 2
escreval("Fevereiro")caso 3
escreval("Março")caso 4
escreval("Abril")
Continiação...
caso 5escreval("Maio")
caso 6escreval("Junho")
caso 7escreval("Julho")
caso 8escreval("Agosto")
caso 9escreval("Setembro")
caso 10escreval("Outubro")
caso 11escreval("Novembro")
caso 12escreval("Dezembro")
outrocasoescreval("valor inválido")
fimescolhafimalgoritmo
27
VETOR:estrutura formada por um conjuntounidimensional de dados de mesmo tipo(homogêneo) e possuindo número fixo deelementos (Estático). Na declaração dos vetoresdevemos informar o seu nome, seu tipo (inteiro,real, caracter, ...), e seu tamanho (número deelementos). Cada elemento do vetor éidentificado por um índice (unidimensional), oqual indica a sua posição no vetor.
Vetor e Matriz
28
Declaração de um VETOR:NomeDoVetor : vetor[nº de elementos] de Tipo do Vetor Exemplo: IDADE: VETOR [1..5] DE INTEIRO
Referência:NomeDoVetor[índice]
Exemplo:IDADE[1] <- 35escreval(IDADE[1])
Vetor e Matriz
29
MATRIZ:estrutura semelhante ao vetor, sendo que, podepossuir n dimensões.Desta forma para fazer referência aos elementosde uma matriz, precisaremos de tantos índicesquanto for suas dimensões.
Vetor e Matriz
30
Declaração de uma MATRIZ:NomeDaMatriz : matriz[dimensões] de Tipo da Matriz
Exemplo:PESSOAS: VETOR [1..2,1..3] DE CARACTERE
Referência:NomeDaMatriz[índices]
Exemplo:PESSOAS[1,3]<- “Maria”escreval(PESSOAS[1,3])
Vetor e Matriz
31
Exercício
31
1) Sabendo-se que José tem direito a15% de reajuste de salário, completeo diagrama ao lado:
top related