aula 05 - algoritmos

19
INFORMÁTICA APLICADA INFORMÁTICA APLICADA INFORMÁTICA APLICADA INFORMÁTICA APLICADA AULA 05 AULA 05 AULA 05 AULA 05 ALGORITMOS ALGORITMOS ALGORITMOS ALGORITMOS UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: Bacharelado em Ciências e Tecnologia AULA 05 AULA 05 AULA 05 AULA 05 ALGORITMOS ALGORITMOS ALGORITMOS ALGORITMOS Prof Prof Prof Profª Danielle Casillo ª Danielle Casillo ª Danielle Casillo ª Danielle Casillo

Upload: denivaldo-prates

Post on 30-Jul-2015

37 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Aula 05 - Algoritmos

INFORMÁTICA APLICADAINFORMÁTICA APLICADAINFORMÁTICA APLICADAINFORMÁTICA APLICADAAULA 05 AULA 05 AULA 05 AULA 05 –––– ALGORITMOSALGORITMOSALGORITMOSALGORITMOS

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO

CURSO: Bacharelado em Ciências e Tecnologia

AULA 05 AULA 05 AULA 05 AULA 05 –––– ALGORITMOSALGORITMOSALGORITMOSALGORITMOS

ProfProfProfProfª Danielle Casilloª Danielle Casilloª Danielle Casilloª Danielle Casillo

Page 2: Aula 05 - Algoritmos

ESTRUTURA DE REPETIÇÃO

� Nos exemplos e exercícios que vimos até agorasempre foi possível resolver os problemas comuma sequência de instruções onde todas eramnecessariamente executadas uma única vez.

Aula 05 - Algoritmos

necessariamente executadas uma única vez.

� Os algoritmos que escrevemos seguiam, portanto,apenas uma sequência linear de operações.

2

Page 3: Aula 05 - Algoritmos

ESTRUTURA DE REPETIÇÃO

Aula 05 - Algoritmos

� Por exemplo, um algoritmo para ler os nomes e asnotas das provas de três alunos da UFERSA ecalcular suas médias finais. Uma possível soluçãoseria repetir o trecho de código do algoritmo três

3

seria repetir o trecho de código do algoritmo trêsvezes.

VISUALGVISUALGVISUALGVISUALG

Page 4: Aula 05 - Algoritmos

ESTRUTURA DE REPETIÇÃO

Aula 05 - Algoritmos

� A solução dada é viável apenas para uma turmade poucos alunos; para uma turma de 50 alunos,a codificação da solução seria por demaistrabalhosa.

4

trabalhosa.

� Agora, veremos um conjunto de estruturassintáticas que permitem que um trecho de umalgoritmo (lista de comandos) seja repetido umdeterminado número de vezes, sem que o códigocorrespondente tenha que ser escrito mais deuma vez.

Page 5: Aula 05 - Algoritmos

ESTRUTURA DE REPETIÇÃO

� O Algoritmo possui três estruturas de repetição:

� repitarepitarepitarepita ............ ateateateate

�enquantoenquantoenquantoenquanto ............ facafacafacafaca

�paraparaparapara ............ facafacafacafaca

Aula 05 - Algoritmos

�paraparaparapara ............ facafacafacafaca

5

Page 6: Aula 05 - Algoritmos

COMANDO REPITA ... ATEREPITA ... ATEREPITA ... ATEREPITA ... ATE

Aula 05 - Algoritmos

� Uma estrutura de repetição é utilizada quando umtrecho do algoritmo ou até mesmo o algoritmointeiro precisa ser repetido. O número derepetições pode ser fixo ou estar atrelado a uma

6

repetições pode ser fixo ou estar atrelado a umacondição.

� Sua forma geral é:

repitarepitarepitarepita

<lista de comandos>

ate ate ate ate <expressão lógica ou relacional>

Page 7: Aula 05 - Algoritmos

COMANDO REPITA ... ATEREPITA ... ATEREPITA ... ATEREPITA ... ATE

� Algoritmo para ler os nomes e as notas das provasde 50 alunos da UFERSA e calcular suas médiasfinais. Uma possível solução é utilizar o comandorepita.

Aula 05 - Algoritmos

repita.

VISUALGVISUALGVISUALGVISUALG

7

Page 8: Aula 05 - Algoritmos

COMANDO REPITA ... ATEREPITA ... ATEREPITA ... ATEREPITA ... ATE

Aula 05 - Algoritmos

� Existem diversas maneiras de implementar omesmo laço, mas todo laço com variável decontrole deve conter:

a)a)a)a) inicializaçãoinicializaçãoinicializaçãoinicialização da variável de controle;

8

a)a)a)a) inicializaçãoinicializaçãoinicializaçãoinicialização da variável de controle;

b)b)b)b) incrementoincrementoincrementoincremento (aumento do valor da variável decontrole) ouououou decrementodecrementodecrementodecremento (diminuição do valor davariável de controle) da variável de controle; e

c)c)c)c) testetestetesteteste dededede valorvalorvalorvalor dadadada variávelvariávelvariávelvariável dededede controlecontrolecontrolecontrole....

Page 9: Aula 05 - Algoritmos

COMANDO REPITA ... ATEREPITA ... ATEREPITA ... ATEREPITA ... ATE

Aula 05 - Algoritmos

Algoritmo que escreve os números de 1 a 10.

algoritmo "algoritmo "algoritmo "algoritmo "RepeticaoRepeticaoRepeticaoRepeticao""""varvarvarvari: inteiroi: inteiroi: inteiroi: inteiro

9

i: inteiroi: inteiroi: inteiroi: inteiroinicioinicioinicioinicioi <i <i <i <---- 1111repitarepitarepitarepitaescreva (i)escreva (i)escreva (i)escreva (i)i <i <i <i <---- i + 1i + 1i + 1i + 1ate i > 10ate i > 10ate i > 10ate i > 10fimalgoritmofimalgoritmofimalgoritmofimalgoritmo

Page 10: Aula 05 - Algoritmos

COMANDO REPITA ... ATEREPITA ... ATEREPITA ... ATEREPITA ... ATE

Aula 05 - Algoritmos

� No exemplo anterior, a variável iiii controlacontrolacontrolacontrola oooonúmeronúmeronúmeronúmero dededede repetiçõesrepetiçõesrepetiçõesrepetições dodododo laçolaçolaçolaço.... Normalmente, avariável de controle do laço receberecebereceberecebe umumumum valorvalorvalorvalorinicialinicialinicialinicial, é incrementadaincrementadaincrementadaincrementada (ou decrementadadecrementadadecrementadadecrementada) de umvalor constante no laço e tem seu valor testado

10

valor constante no laço e tem seu valor testadono final do laço.

� Ao chegar a um determinado valor, o laço éinterrompido. A inicialização da variávelcontadora deve acontecer fora do laço, antes doseu início.

Page 11: Aula 05 - Algoritmos

COMANDO REPITA ... ATEREPITA ... ATEREPITA ... ATEREPITA ... ATE

Aula 05 - Algoritmos

algoritmo "DecrementoNumerosPares"vari: inteiro

Algoritmo que escreve os números pares de 10 a 2.

11

i: inteiroinicioi <- 10repitaescreva (i)i <- i - 2ate i = 0fimalgoritmo

Page 12: Aula 05 - Algoritmos

COMANDO REPITA ... ATEREPITA ... ATEREPITA ... ATEREPITA ... ATE

� Um cuidado fundamental que o construtor doalgoritmo deve ter é o de certificar-se que acondição para que sejam mantidas as iteraçõestorne-se, em algum momento, falsa, para que o

Aula 05 - Algoritmos

torne-se, em algum momento, falsa, para que oalgoritmo não entre em um laço infinito.

12

Page 13: Aula 05 - Algoritmos

COMANDO REPITA ... ATEREPITA ... ATEREPITA ... ATEREPITA ... ATE

� Exemplo: laço infinito

Aula 05 - Algoritmos

algoritmo "laçoInfinito"varcontador: inteiro

13

contador: inteiroiniciorepitacontador <- 1escreva (contador)contador <- contador + 1ate contador = 10fimalgoritmo

Page 14: Aula 05 - Algoritmos

EXERCÍCIOS

Aula 05 - Algoritmos

1. Faça um algoritmo (fluxograma e portuguêsestruturado) para calcular a área de umtriângulo, que não permita a entrada de dadosinválidos, ou seja, medidas menores ou iguais a0 (zero).

14

0 (zero).

area_triângulo = (base * altura)/2

Page 15: Aula 05 - Algoritmos

FLUXOGRAMA

Aula 05 - Algoritmos

base

base, altura, area

base >= 0

inicio

não

15

area

area <- (base * altura) / 2

base >= 0

fim

altura

altura >= 0

sim

sim

não

Page 16: Aula 05 - Algoritmos

PORTUGUÊS ESTRUTURADO

Aula 05 - Algoritmos

algoritmo "Área_triângulo"varbase, altura, area: realiniciorepitaescreva ("Digite a base do triângulo: ")

16

escreva ("Digite a base do triângulo: ")leia (base)ate base >= 0repitaescreva ("Digite a altura do triângulo: ")leia (altura)ate altura >= 0area <- (base * altura)/2escreva ("A área do triângulo é: ", area)fimalgoritmo

Page 17: Aula 05 - Algoritmos

EXERCÍCIOS

2. Faça um algoritmo (fluxograma e portuguêsestruturado) que peça a leitura para uma variávelXXXX, multiplicar este valor por 3333, e mostrar oresultado na variável RRRR, este algoritmo deve

Aula 05 - Algoritmos

resultado na variável RRRR, este algoritmo deverepetir esta sequência por 5555 vezes.

17

Page 18: Aula 05 - Algoritmos

EXERCÍCIOS

� Faça um algoritmo (fluxograma e portuguêsestruturado) que peça a leitura para uma variávelXXXX, multiplicar este valor por 3333, e mostrar oresultado na variável RRRR, este algoritmo deve agora

Aula 05 - Algoritmos

resultado na variável RRRR, este algoritmo deve agoraconsiderar que o usuário deverá encerrar oprocessamento quando desejar.

18

Page 19: Aula 05 - Algoritmos

FLUXOGRAMA

Aula 05 - Algoritmos

resp<- “sim”

X, R, resp

X

inicio

19

X

R <- X * 3

R

resp <> “sim”

fim

“Deseja continuar?”

sim

não