• Nenhum resultado encontrado

elt102-02-estruturaCondicionalRepeticao

N/A
N/A
Protected

Academic year: 2021

Share "elt102-02-estruturaCondicionalRepeticao"

Copied!
27
0
0

Texto

(1)

Repeti¸c˜

ao

Profa.Dra.Thatyana de Faria Piola Seraphim (ECO)

Prof.MSc.Rodrigo Maximiano Antunes de Almeida (ELT) Prof.Dr.Carlos Henrique Val´erio de Moraes (ECA)

Universidade Federal de Itajub´a

thatyana@unifei.edu.br rodrigomax@unifei.edu.br

(2)

Uma fun¸c˜ao ´e um instrumento (sub-algoritmo) que tem como objetivo retornar um valor ou uma informa¸c˜ao

A chamada de uma fun¸c˜ao ´e feita atrav´es da cita¸c˜ao de seu nome seguido de seus argumentos iniciais entre parˆenteses quando necess´ario

As fun¸c˜oes podem ser pr´e-definidas pela linguagem ou criadas pelo programador de acordo com o seu interesse

(3)

Fun¸c˜oes Pr´e-definidas

Fun¸c˜ao Descri¸c˜ao Fun¸c˜ao Descri¸c˜ao

abs() Valor Absoluto log() Logaritmo

raizq() Raiz Quadrada sen() Seno

quad() Eleva ao quadrado cos() Cosseno

rand() Retorna um n´umero randi() Retorna um n´umero

aleat´orio aleat´orio inteiro

tan() Tangente div() Resto da divis˜ao

mod() Retorna o resto

(4)
(5)

Desvio condicional

Em algumas situa¸c˜oes ´e necess´ario executar uma sequˆencia de comandos diferentes de acordo com o resultado de um teste.

Exemplo

(6)

Desvio condicional

A estrutura de decis˜ao pode ser simples ou composta.

Simples

se<CONDIC¸ ˜AO>entao

<COMANDO1>

fimse Composta

se<CONDIC¸ ˜AO>entao

<LISTA COMANDO1>

senao

<LISTA COMANDO2>

(7)

Desvio condicional - Atividade

Algoritmo que lˆe 2 n´umeros e escreve o maior algoritmo“encontraMaior”

vara, b : inteiro inicio

escreva(“Digite o valor de A = “)

leia(a)

escreva(“Digite o valor de B = “)

leia(b)

se(a>b)entao

escreval(“A eh maior”)

senao

escreval(“B eh maior”)

fimse fimalgoritmo

(8)

Desvio condicional - Atividade

Leitura de 3 notas de aluno e retorna se foi aprovado algoritmo“mediaFinal”

varnota1, nota2, nota3 : inteiro

media : real inicio

escreva(“Digite a nota 1 = “)leia(nota1)

escreva(“Digite a nota 2 = “)leia(nota2)

escreva(“Digite a nota 3 = “)leia(nota3) media <– (nota1+nota2+nota3)/3

se(media>=60)entao

escreval(“Aluno APROVADO”)

senao

escreval(“Aluno REPROVADO”)

fimse

escreval(“Media = “, media)

(9)

Desvios encadeados

Em algumas situa¸c˜oes ´e necess´ario fazer escolhas entre 3 ou mais op¸c˜oes. Nestas situa¸c˜oes podemos encadear os desvios

condicionais.

Forma de uso

se<CONDIC¸ ˜AO>entao

<LISTA COMANDO1>

senao

se<CONDIC¸ ˜AO>entao

<LISTA COMANDO1>

senao

<LISTA COMANDO2>

fimse fimse

(10)

Desvios encadeados - Atividade

Montar um algoritmo que leia 3 n´umeros e encontre o maior. Usar desvios encadeados.

(11)

Desvios encadeados - Atividade Maior elemento dentre trˆes algoritmo“encontraMaior”

vara, b, c : inteiro inicio

escreva(“Digite o valor de A = ”)leia(a) escreva(“Digite o valor de B = ”)leia(b) escreva(“Digite o valor de C = ”)leia(c) se(a>b)e(b>c)entao

escreval(“A eh o maior”) senao se(b>c)ent˜ao escreval(“B eh o maior”) senao escreval(“C eh o maior”) fimse fimse fimalgoritmo

(12)

Estrutura de decis˜ao

Quando ´e necess´ario escolher entre uma quantidade muito grande de op¸c˜oes ´e interessante utilizar uma estrutura de decis˜ao.

A estrutura de decis˜ao permite selecionar uma vari´avel e tomar a¸c˜oes para cada caso particular.

Esta estrutura permite ainda definir uma saida padr˜ao para todos os outros casos que n˜ao forem encontrados.

(13)

Estrutura de decis˜ao

Forma de uso

escolha<VARI´AVEL>

caso<VALOR1> <LISTA COMANDO1> caso<VALOR2> <LISTA COMANDO2> outrocaso <LISTA COMANDO3> fimescolha

(14)

Estrutura de decis˜ao - Atividade 1 Impress˜ao do sexo algoritmo“imprimeSexo” varsexo : inteiro

inicio

escreva(“Digite 1 p/ masculino e 2 p/ feminino: “)

leia(sexo) escolhasexo caso1 escreval(“Homem”) caso2 escreval(“Mulher”) outrocaso

escreval(“Op¸c˜ao inv´alida!”)

fimescolha fimalgoritmo

(15)
(16)

Introdu¸c˜ao

Existem ocasi˜oes onde ´e necess´ario efetuar a repeti¸c˜ao de um

trecho de programa um determinado n´umero de vezes.

Neste caso, poder´a ser criado uma estrutura de repeti¸c˜ao que efetue o processamento de um determinado trecho, tantas vezes quantas forem necess´arios.

Estas estruturas s˜ao chamados de: la¸cos de repeti¸c˜ao, malhas de repeti¸c˜ao ou loopings.

(17)

Introdu¸c˜ao

Todo looping deve possuir uma condi¸c˜ao que indique quando deve terminar. Uma condi¸c˜ao mal feita pode prender o programa dentro do loop

Esta ´e uma das causas mais comuns para o “travamento” dos

aplicativos, comumente chamada de loop infinito

La¸cos de repeti¸c˜ao

Estruturas computacionais que permitem a repeti¸c˜ao de um trecho de c´odigo N vezes ou enquanto uma condi¸c˜ao for verdadeira.

(18)

Repeti¸c˜ao com teste no inicio do loop

A repeti¸c˜ao com teste no inicio do loop ´e usada para repetir N vezes uma ou mais instru¸c˜oes.

N˜ao ´e necess´ario conhecer com antecedencia o n´umero de repeti¸c˜oes.

Forma de uso

enquanto<CONDIC¸ ˜AO>faca

<LISTA COMANDO1>

fimenquanto

O controle do loop ´e feito atrav´es de uma condi¸c˜ao. Para que o sistema N ˜AO entre em “loop infinito” esta

condi¸c˜ao TEM que ser alterada em algum momento

(19)

Repeti¸c˜ao com teste no inicio do loop - Atividade 1

Fazer um algoritimo que:

Leia o valor do sal´ario dos funcionarios de uma empresa. Ao terminar de ler os valores, deve imprimir a soma dos sal´arios.

(20)

Repeti¸c˜ao com teste no inicio do loop - Atividade 1

Soma dos sal´arios dos funcion´arios algoritmo“somaSalarios”

varsoma, salario : inteiro inicio

soma <– 0 salario <– 1

enquanto(salario >= 0) faca

escreva(“Digite o valor de salario = “)

leia(salario)

soma <– soma + salario

fimenquanto

escreval(“Soma dos salarios = “,soma)

(21)

Repeti¸c˜ao com teste no final do loop

Assim como a instru¸c˜ao enquanto. . .faca a instru¸c˜ao repita. . .ate ´e utilizada para repetirmos um bloco do algoritmo diversas vezes.

A diferen¸ca entre as duas ´e que na segunda a verifica¸c˜ao da condi¸c˜ao s´o ´e realizada ao final do bloco, ou seja, mesmo que a condi¸c˜ao seja falsa logo de inicio, ainda sim o bloco ser´a executado pelo menos uma vez.

Forma de uso repita

<LISTA COMANDO1>

(22)

Repeti¸c˜ao com teste no final do loop

ATENC¸ ˜AO NOVAMENTE

O controle do loop TAMB´EM ´e feito atrav´es de uma condi¸c˜ao. Portanto, ´e necess´ario que essa condi¸c˜ao seja alterada dentro do loop.

(23)

Repeti¸c˜ao com teste no final do loop - Atividade 1

Fazer um algoritimo que:

Leia o valor do sal´ario dos funcionarios de uma empresa. Ao terminar de ler os valores deve imprimir a soma dos sal´arios.

(24)

Repeti¸c˜ao com teste no inicio do loop - Atividade 1

Soma dos sal´arios dos funcion´arios algoritmo“somaSalarios”

varsoma, salario : inteiro inicio

soma <– 0

repita

escreva(“Digite o valor de salario = “)

leia(salario)

soma <– soma + salario

ate(salario <= 0)

escreval(“A soma dos salarios eh = “, soma)

(25)

Repeti¸c˜ao com vari´avel de controle

Diferentemente das duas formas de loop apresentadas anteriormente a repeti¸c˜ao com vari´avel de controle ´e utilizada para repetirmos um bloco de instru¸c˜oes mas com uma quantidade de repeti¸c˜oes pr´e-estabelecida.

Para atingir este objetivo utilizamos dentro desta estrutura um contador. Este contador indicar´a a quantidade de vezes que devemos passar pelo bloco de instru¸c˜oes.

Forma de uso

para<V>de <X>ate<Y>passo<Z> faca <LISTA COMANDO>

(26)

Repeti¸c˜ao com vari´avel de controle - Atividade 1

Fazer um algoritimo que:

Leia cinco valores dados pelo usu´ario

(27)

Repeti¸c˜ao com vari´avel de controle - Atividade 1

C´alculo do triplo algoritmo“triplo”

varsoma, valor, contador : inteiro inicio

soma <– 0

para contadorde 1ate 5passo 1 faca escreva(“Digite um valor = ”)

leia(valor)

soma <– soma + 3 * valor

fimpara

escreval(“A soma do triplo eh = “, soma)

Referências

Documentos relacionados

Local de realização da avaliação: Centro de Aperfeiçoamento dos Profissionais da Educação - EAPE , endereço : SGAS 907 - Brasília/DF. Estamos à disposição

O desenvolvimento das interações entre os próprios alunos e entre estes e as professoras, juntamente com o reconhecimento da singularidade dos conhecimentos

Lista revis˜ ao limites e derivadas de Fun¸ c˜ oes de uma Vari´ avel. Ad´

• Fazer um programa para receber dois números do usuário e calcular MDC entre eles utilizando o método de Euclides (não-recursivo) (Pesquise sobre o método de Euclides – DICA:

MINED enquanto provedor de educação (acesso ao preservativo nas escolas, testes e serviços, manutenção das raparigas grávidas, abuso sexual e violência na escola, condutas

O administrador CMSW poderá utilizar o relacionamento global de licenças de software para agilizar a manutenção das informações por software, usuário ou equipamento.. Clique

rela c~ ao causal entre duas vari aveis quando concebeu. que uma vari avel mudou devido  a a c~ ao

A Sizmek MDX Analytics é projetada para fornecer acesso fácil aos dados de campanha, necessários para o monitoramento, otimização e análise de métricas para ajudar os