Você está na página 1de 22

Aulas de Algoritmo e Programao de Computadores

Plano de Aulas

Aula 1: Introduo a Algoritmos


Definio de Algoritmo
uma seqncia de passos com uma ordem bem definida que visa atingir um objetivo. Exemplo: receita de bolo Na vida quotidiana, os algoritmos so encontrados freqentemente: instrues para se utilizar um velho eletrodomstico, uma receita para preparo de algum prato, o guia de preenchimento da declarao do imposto de renda, a regra para determinao de mximos e mnimos de funes por derivadas sucessivas, a maneira como as contas de gua, luz e telefone so calculadas mensalmente. A partir de um estado inicial, aps um perodo de tempo finito, produzem um estado final previsvel e bem definido. Programar construir algoritmos. Um programa a traduo de um algoritmo para um formato que o computador entende. Baixo nvel versus alto nvel: o computador s entende a linguagem de mquina, as linguagens de alto nvel precisam ser traduzidas para linguagem de mquina por um compilador/interpretador.

A estrutura de um computador digital


Unidade de entrada. Esta unidade traduz informao de uma grande variedade de dispositivos em um cdigo que a unidade central de processamento capaz de entender. Em outras palavras, ela capaz de traduzir letras, nmeros, imagens, marcas ou tinta magntica em padres de pulsos eltricos que so compreensveis ao computador. Memria. A memria capaz de armazenar no s os dados, mas tambm o programa que ir manipular estes dados. Unidade lgica e aritmtica. Nesta unidade so feitos todos os clculos aritmticos e qualquer manipulao de dados, sejam eles numricos ou no. Unidade de controle. a unidade responsvel pelo trfego dos dados. Ela obtm dados armazenados na memria e interpreta-os. Controla a transferncia de dados da memria para a unidade lgica e aritmtica, da entrada para a memria e da memria para a sada.

Unidade de sada. Os dados processados so convertidos, por esta unidade, de impulsos eltricos em palavras ou nmeros que podem ser escritos em impressoras ou mostrados em vdeos ou numa srie de outros dispositivos.

Formas de representao de um algoritmo


Narrativa Uso da linguagem natural. Tem a inconvenincia da m interpretao, originando ambigidades e imprecises. Exemplo: Trocar o pneu de um carro 1. 2. 3. 4. 5. 6. Afrouxar ligeiramente as porcas Suspender o carro Retirar as porcas e o pneu Colocar o Pneu reserva e as porcas Abaixar o carro Dar o aperto final nas porcas

Fluxograma Uso de formas geomtricas. Exemplo: Clculo da mdia final n1, n2 M (n1+n2)/2

m >=5

Aprovado

Reprovado

Fim

Pseudocdigo Uso de linguagem prpria aproximando-se das linguagens de alto nvel

Forma geral:
Algoritmo Incio < Instrues > Fim Exemplo: Clculo da mdia do exemplo anterior. < nome_do_algoritmo > < declarao_de_variveis >

Algoritmo Mdia_do_aluno Real: n1,n2,media Incio Escreva(Digite as duas notas:) Leia(n1,n2) media (n1+n2)/2 Se (mdia >= 5) ento Escreva (APROVADO) Seno Escreva (REPROVADO) Fim_se Fim

Exerccios de fixao 1. Construa um algoritmo para escrever os termos da seqencia de Fibonacci inferiores a um nmero L. Algoritmo Escreva os termos de Fibonacci inferiores a L. fim algoritmo

2. Um algoritmo no pode conter um comando como Escreva todos os termos da seqncia de 'Fibonacci. Por qu? Porque os nmeros da seqncia so infinitos e um algoritmo uma seqncia de passos que termina aps um perodo definido. 3. Escrever um algoritmo que produza os valores: 2 4 6 8 10 12 14 1 3 5 7 9 11 13

Aula 2: Tipos de Dados


Representao em Pseudocdigo
Diferenciar uma linguagem real da representao de pseudocdigo que ser usada no curso. Exemplo: mostrar algoritmo Media em PASCAL e C++ Algoritmo Mdia Real: n1,n2,media Incio Escreva(Digite as duas notas:) Leia(n1,n2) media (n1+n2)/2 Se (mdia >= 5) ento Escreva (APROVADO) Seno Escreva (REPROVADO) Fim_se Fim

Arquitetura de um Computador
Qualquer trabalho realizado no computador baseado na manipulao das informaes contidas em sua memria: instrues (leitura, escrita, operaes, atribuio, etc.) e dados (valores processados pelas instrues). O algoritmo criado num editor de texto deve ser traduzido em linguagem de mquina por um compilador/interpretador antes de ser executado pelo computador. Para realizar essa traduo, o compilador precisa saber como traduzir os dados (informaes) manipulados no programa. Por isso necessrio definir o tipo de cada dado utilizado. O tipo de dado est diretamente relacionado com a quantidade de memria que ele ocupa. A memria um conjunto de clulas identificadas por um endereo. 1 clula = 1 byte = 8 bits 1 bit = 2 estados (0 e 1) 1 byte possui 28 estados = 256

1 Byte
00000000 0 00000001 1 00000010 2 00000011 3 ... ... 11111111 255 1 Kilobyte (Kb) = 1024 bytes 1 Megabyte (Mb) = 1024 Kilobyte 1 Gigabyte (Gb) = 1024 Megabyte

Tipos de Dados
Dados Numricos Nmeros Inteiros: nmeros sem parte fracionria. Ex: 86 0 -15 32768 Nmeros Reais: representados com parte fracionria e ponto (ponto flutuante). Ex: 8.5 -9.43 0.0 3452.78894 Dados Literais So seqncias de caracteres contendo letras, dgitos e/ou smbolos especiais. Chamados tambm de alfanumricos, cadeia de caracteres ou strings. So representados entre aspas. Exemplo: UFRN comprimento = 4

06/03/2007 comprimento = 10 comprimento = 1 comprimento = 0

Dados Lgicos Representa dois valores lgicos: verdadeiro (V) e falso (F).

Armazenamento de dados na memria


Inteiro Ocupa uma quantidade de bits equivalente arquitetura do computador. Num computador de 16bits, ocupa 2 bytes e o inteiro longo ocupa 4 bytes. Inteiro: 16 bits = 2 bytes = [-32768,32768] Inteiro longo: 32 bits = 4 bytes = [-2147438648, 2147438647] Real Ocupa o dobro de memria do tipo Inteiro. Real: 4 bytes [1.5E-45, 3.4E+38] Dupla: 8 bytes [5.0E-234, 1.7E+308] 2.5E20 = 2.5 * 1020 Lgico Ocupa um byte na memria. Literal Um byte para cada caractere (de acordo com a tabela ASCII).

Exerccios
1. Quais informaes esto presentes na memria do computador? Instrues e dados 2. Por que necessrio definir o tipo de um dado no computador? Porque ele precisa saber quanto de memria preciso reservar para representar/armazenar este dado. 3. Qual tipo de dado usar para armazenar os valores: 12 = Inteiro 15.3 = Real 34.5 = Literal Lgico V = Hoje = Literal 4. Quais os dados e os respectivos tipos de dados envolvidos na soluo do problema: Mostrar o nome, nmero de matrcula e nota final de cada um dos alunos de algoritmos e programao de computadores. Nome = Literal Matrcula = Literal/Inteiro Nota Final = Real

Aula 3: Variveis e Expresses


Variveis
Varivel uma entidade destinada a guardar dados. Toda varivel possui: Um nome Um tipo (do dado que pode ser armazenado) Um valor (dado ou informaes)

Figura: Mostrar a fita de memria e como os dados e variveis ficam na memria. O nome de uma varivel deve obedecer a certas regras: Deve comear com uma letra No pode conter caracteres especiais, exceto o sublinha

Exemplos: Correto: PesoMaximo, hora_aula, nota1, nomeDoAluno Incorreto: _conta, 1aHoraAula, media?, Salario$Medio

Declarao de Variveis
Todas as variveis utilizadas num algoritmo devem ser declaradas. Sintaxe: <tipo> : <lista de variveis> Exemplo: Inteiro: ano, ms, idade Real: salrio, troco Lgico: Opo, Resultado Literal[30] : nome, cidade, profisso Exemplo: Clculo da mdia Algoritmo Mdia_do_aluno Real: n1,n2,media Incio Escreva(Digite as duas notas:) Leia(n1,n2) media (n1+n2)/2 Se (mdia >= 5) ento Escreva (APROVADO) Seno Escreva (REPROVADO) Fim_se Fim

Expresses
Uma expresso uma entidade composta por operadores, dados, variveis e parnteses e que, quando avaliada, resulta em um valor. Os operadores podem ser unrios ou binrios e produzem um resultado em funo dos seus operandos. Os operadores podem ser: Aritmticos Lgicos Literais Relacionais

Expresses aritmticas Resultado do tipo numrico (inteiro ou real). Operador + ^ * / + Tipo Unrio Unrio Binrio Binrio Binrio Binrio Binrio Operao Manuteno de sinal Inverso de sinal Exponenciao Multiplicao Diviso Adio Subtrao Prioridade 1 1 2 3 3 4 4

Exemplo:

calculo media

3*4+6/2-1 (nota1 * 4 + nota2 * 5 + nota3 * 6)/15

Expresses lgicas Resultado do tipo lgico (verdadeiro ou falso) Operador No E Ou Tipo Unrio Binrio Binrio Operao Negao Conjuno Disjuno Prioridade 1 2 3

Construir tabelas verdades. Com o operador (E) para que o resultado seja verdadeiro, ambos os operandos devem ser verdadeiros. Com o operador (Ou) para que o resultado seja verdadeiro, um dos operandos deve ser verdadeiro. O operador (No) nega/inverte o valor lgico do operando. Exemplo (negao): Se (Gastos > Lucro) ento ObteveLucro falso Seno

ObjteveLucro Fimse

verdadeiro

Se (no ObteveLucro) ento Escreva (Reduza custos para obter lucro) Fimse Exemplo (conjuno): Se (ObteveLucro) e (Lucro > 50000) ento Escreva (Voc atingiu a meta anual, parabns!) Fimse Exemplo (disjuno): Se (mediaParcial > 7) ou (mediaFinal > 5) ento Escreva (APROVADO) Seno Escreva (REPROVADO) Fimse

Expresses literais Resultado do tipo literal. Operador de concatenao (+). No definido em todas as linguagens. Exemplo: apanha + dor resulta em apanhador, Nota + 1 resulta em Nota 1 Expresses relacionais Resultado do tipo lgico. Operador = <> < <= > >= Tipo Binrio Binrio Binrio Binrio Binrio Binrio Operao Igual Diferente Menor Menor ou igual Maior Maior ou igual

Avaliar as expresses observar as prioridades. Em caso de empate, avaliar da esquerda para a direita. A ordem de avaliao entre os diferentes operadores : 1. 2. 3. 4. Aritmticos Literais Relacionais Lgicos Resultado (2^2-4 > 0) Aprovado (media >= 5)

Exemplos:

Aula 4
Exerccios de Variveis e Expresses
1. A seqncia de Fibonacci se define como tendo os dois primeiros termos iguais a 1 e cada termo seguinte igual soma dos dois termos imediatamente anteriores. Construa um algoritmo em forma narrativa para escrever os termos da seqencia de Fibonacci inferiores a um nmero L. a. Se L igual a zero, imprima uma mensagem de aviso: a srie vazia b. Se L maior ou igual a 1, imprima o primeiro termo da srie (o nmero 1) c. Se L maior ou igual a 2, imprima o segundo termos da srie (o nmero 1) d. Enquanto a quantidade de elementos da srie for menor que L faa: i. Escreva o prximo termo da srie como sendo a soma dos ltimos dois termos 2. Um algoritmo no pode conter um comando como Escreva todos os termos da seqncia de 'Fibonacci. Por qu? Porque um algoritmo deve terminar aps um perodo de tempo finito, e a seqncia de Fibonacci infinita. 3. Escrever um algoritmo em forma de fluxograma que produza o resultado APROVADO ou REPROVADO a partir das notas de um aluno (n1, n2, n3, n4) durante um perodo letivo.

n1, n2, n3, n4 MP (n1*4+n2*5+n3*6)/15

MP >=7

Aprovado

MF

(MP+n4)/2 Aprovado

MF >=5

Reprovado

Fim

4. Identificar o tipo de cada uma das constantes abaixo: Inteiro a. 21 b. BOLA Literal c. VERDADEIRO Literal d. 0.21 Real e. Falso Lgico

5. Assinalar com um X os identificadores de variveis vlidos: (x) VALOR (x) X2 ( ) 3X4 (x) XYZ ( ) NOTA ( ) Complexo() ( ) 5a_feira (x) A5 ( ) Imaginrio ( ) Real ( ) Ro+ta

6. Escreva as expresses abaixo em forma algortmica a. (x1-x2)(y1-y2) (x1-x2)*(y1-y2) b. x0 + v0t 1 gt2 2 x0 + v0*t-(g*t^2)/2

7. Sendo P, Q, R e S variveis do tipo numrico, cujos contedos so iguais a 2, 3, 12 e 4.5, respectivamente, quais os valores fornecidos por cada uma das expresses aritmticas abaixo? P = 2, Q = 3, R = 12, S= 4.5 a. b. c. d. e. f. g. h. 100 * Q/P + R P * R/5 -(S - R) + (Q^2 - R - 3) R+P+5 (S/P+1) - Q*R 1-(S-1) 1+R+S/Q P + (2.9 + 0.3 + S * 2) 162 4.8 3.5 19 -32.75 -2.5 14.5 14.2

8. Assuma que todas as variveis (x, y, z e w) so de tipo Inteiro. Ache o valor de cada varivel. a. b. c. d. x y z w (2 + 3) * 6 (12 + 6)/2*3 (2 + 3)/4 3 + 2*(7/2) 30 3 1 10

9. Quais os valores armazenados em SOMA, NOME e TUDO, supondo-se que NUM, X, COR, DIA, TESTE e COD valem, respectivamente 5, 2.5, AZUL, TERA, falso e verdadeiro. a. NOME b. SOMA c. TUDO DIA NUM + (X + 1) no TESTE ou COD e SOMA < X TERA 8.5 Falso

10. Faa um algoritmo que contenha a declarao das variveis e a expresso necessria para calcular a hipotenusa de um tringulo retngulo, dado o valor dos catetos. Algoritmo Hipotenusa Real: hipotenusa, cateto_a, cateto_b Inicio Escreva(Digite o valor dos catetos) Leia(cateto_a, cateto_b) hipotenusa (cateto_a^2+catetob^2)^0.5 Escreva(O valor da hipotenusa , hipotenusa) Fim

Aula 5: Instrues Primitivas


So as instrues bsicas para o funcionamento do computador: Entrada de dados (teclado, fitas, discos magnticos, mouse, scanner, etc.) Sada de dados (vdeo, impressora, fitas, discos magnticos, etc.) Atribuio de dados (movimentao/armazenamento de dados na memria)

Instruo de Atribuio
Armazena uma informao (dados) em uma varivel. Sintaxe: <nome da varivel> Semntica: 1. Avaliao da expresso 2. Armazenamento do valor resultante na varivel Obs.: Deve haver compatibilidade entre o tipo da varivel e o da expresso resultante. Exemplos: aprovado delta (MP >= 7) ou (MF >= 5) <expresso>

b^2 4*a*c

Instruo de Entrada
Sintaxe: Leia (<lista de variveis>) Semntica: Os dados so lidos de um dispositivo de entrada e armazenados nas variveis listadas. Exemplos: Leia (gastos) Leia (nota1, nota2, nota3, nota4)

Instruo de Sada
Sintaxe: Escreva (<lista de expresses>) Semntica: A lista de expresses enviada ao dispositivo de sada. Envio ao dispositivo de sada:

Variveis: valor recuperado na memria e enviado. Constantes: valores enviados diretamente. Expresso: so avaliadas e em seguida o valor resultante enviado.

Interface com o usurio


Informar o que o usurio deve digitar antes de usar a instruo leia() Informar ao usurio o que significa o resultado apresentado na instruo escreva()

Exemplos de algoritmos
1. 2. 3. 4. Calcule a sua idade em meses e em dias a partir da sua idade em anos. Dado o preo unitrio e a quantidade de um produto, imprimir o valor da compra. Calcular a rea e o permetro de um retngulo, sendo dadas as medidas dos lados. Calcular o valor da funo f(x) = (3x-1)/5 nos extremos do intervalo [a, b] (dados os valores de a e b), e em mais dois valores do seu interior, igualmente espaados.

Rastreamento de algoritmos
Consiste na execuo manual do algoritmo, seguindo os passos que o computador seguiria para a sua execuo automtica. utilizado para verificar se um algoritmo est correto.

Exerccios de fixao
1. Encontrar o consumo mdio de um veculo, conhecidos a distncia total e o volume de combustvel consumido para percorrer tal distncia. Algoritmo Consumo Real: consumo, distancia, volume Inicio escreva ("Calcula o consumo mdio de combustvel") escreva ("------- - ------- ----- -- -----------") escreva (" ") escreva ("Qual a distancia (Km) percorrida pelo veiculo? ") leia(distancia) escreva ("Quantos litros de combustvel foram gastos no trajeto? ") leia(volume) consumo <- volume/distancia escreva("O consumo medio de combustvel foi de ", consumo, " litros/km") escreva("O carro fez ", distancia/volume, "km com 1 litro") Fim 2. Calcular a mdia parcial de um aluno da UFRN, dadas as suas trs primeiras notas. Algoritmo MediaParcial Real : media, nota1, nota2, nota3 Inicio escreva ("------- -- ----- -------") escreva ("Calculo da mdia Parcial") escreva ("------- -- ----- -------") escreva (" ") escreva ("Digite as suas trs primeiras notas: ")

leia(nota1, nota2, nota3) media <- (nota1*4 + nota2*5 + nota3*6)/15 escreva("A sua mdia na disciplina ", media) Fim 3. Calcular o valor da funo f(x,y) = 3x2 + 2y2 - xy em um ponto qualquer do plano cartesiano. Algoritmo PontoNoPlano Real: fxy, x, y Inicio escreva ("===========================================") escreva ("Calculo da funo f(x,y) = 3x^2 + 2y^2 - xy") escreva ("===========================================") escreva (" ") escreva ("Digite as cordenadas x e y de um ponto: ") leia(x,y) fxy <- (3*x^2) + (2*y^2) - (x*y) escreva ("O valor da funo f(x,y) ") escreva ("para x = ", x, " e y = ", y, " igual a ", fxy) Fim 4. Leia uma temperatura em graus centgrados e imprima a equivalente em graus farheneit ( F = 9C/5 + 32). Algoritmo CelsiusFarheneit Real: tempCel, tempFar Inicio escreva ("++++++++++++++++++++++++++++++++++++++++++++") escreva ("| Converso Celsius - Farheneit |") escreva ("++++++++++++++++++++++++++++++++++++++++++++") escreva ("") escreva ("Qual a temperatura em graus Celsius? ") leia(tempCel) tempFar <- 9 * tempCel/5 + 32 escreva ("A temperatura digitada equivalente a", tempFar, "F") Fim 5. Leia uma quantidade de chuva dada em polegadas e imprima a equivalente em milmetros ( 1 polegada = 25,4 milmetros ). Algoritmo PolegadaMilimetro Real: polegadas, milimetros Inicio escreva ("---> Converso de Polegadas em Milimetros <---") escreva ("") escreva ("Qual a medida em polegadas? ") leia(polegadas) milimetros <- polegadas * 25.4 escreva ("A medida equivale a", milimetros, "mm") Fim

Aula 6
Exerccios de Instrues Primitivas
1. O que vai ser impresso na tela para cada uma das instrues abaixo e qual a diferena entre cada uma delas? O que o nome trs na letra c? Existe mais de uma sada possvel? a. Escreva (A resposta , 3) b. Escreva (A resposta 3) c. Escreva (A resposta , tres) d. Escreva (A resposta trs) 2. Qual o a sada do algoritmo abaixo? Algoritmo ServidorPublico Logico: funcionario Inteiro: anosDeServico Inicio funcionario <-V anosDeServico <- 4 escreva (Recebe benefcio: , AnosdeServico > 5 e funcionario) Fim 3. Identifique os erros e corrija o algoritmo abaixo: Alg. Lucro Inicio escreva Qual a arrecadao da sua empresa? leia (arrecadacao) escreva ("Qual o gasto da sua empresa? ") leia gastos lucro <- arrecadacao - gastos escreva ("O lucro da sua empresa foi de, lucro) Fim 4. Identifique os erros e corrija o algoritmo abaixo: Algoritmo Consumo Real: consumo medio, distancia total, volume Inicio escreva ("Qual a distancia percorrida pelo veiculo? ") leia(distancia total) escreva ("Quantos litros de combustvel foram gastos no trajeto? ") leia(volume) consumo medio = volume/distancia total escreva("O consumo mdio de combustvel foi de ", consumo, " litros/km") Fim 5. Quais os valores das variveis a e b nas linhas 6, 8 e 9 do algoritmo abaixo: Algoritmo Estado

Inteiro: a, b Inicio a <- 5 b <- 2 escreva (a, b) // linha 6 b <- a; escreva (a, b) // linha 8 a <- b; escreva (a, b) // linha 9 Fim 6. Construa a seo de declarao de variveis do algoritmo abaixo: Algoritmo Estado Inicio a <- 5.5 b <- 2 total <- a * b Fim 7. O algoritmo abaixo foi escrito para a ferramenta VisuAlg. Identifique as diferenas entre a linguagem utilizada no VisuAlg e a linguagem de pseudocdigo utilizada na disciplina de algoritmos e programao de computadores. algoritmo "CelsiusFarheneit" // Funo : Converte um temperatura de graus Celsius para Farheneit // Autor : Judson Santiago // Data : 21/03/2007 var tempCel, tempFar : real inicio escreval ("Converso Celsius - Farheneit") escreval ("") escreva ("Qual a temperatura em graus Celsius? ") leia(tempCel) tempFar <- 9 * tempCel/5 + 32 escreval ("A temperatura digitada equivalente a", tempFar, "F") Fimalgoritmo 8. Crie um algoritmo para pedir o nome e senha de um usurio. O algoritmo deve imprimir verdadeiro se o nome e senha forem respectivamente iguais a aluno e algoritmos, e falso caso contrrio. No utilize a instruo SE. 9. Faa um algoritmo para construir uma mensagem de boas vindas aos novos hospedes de um hotel. O algoritmo deve pedir o nome, sobrenome e cidade de origem do hospede e imprimir uma mensagem seguindo este padro: Bem vindo NOME SOBRENOME. Esperamos que a sua viagem de CIDADE at Natal tenha sido agradvel.

Aula 7: Controle de Fluxo de Execuo


At agora todos os algoritmos seguiam uma estrutura de execuo linear, em que cada instruo executada aps a instruo anterior. Certas estruturas de controle permitem mudar o fluxo de execuo de um algoritmo. As estruturas de controle se classificadas em: Estruturas de deciso Se Escolha Estrutura de repetio Para Enquanto Repita

Estrutura de Deciso SE
Sintaxe: Se ( <condio> ) ento <instrues1> Seno <instrues2> Fimse Se ( <condio> ) ento <instrues> Fimse

Semntica: Apenas um bloco de instrues executado. Qual deles executado depende da avaliao da expresso <condio>. Se a condio verdadeira, ento o bloco <instrues1> executado; se a condio falsa o bloco <instrues2> executado. Exemplo: Determinar se a senha do usurio igual a algoritmos As instrues dentro do SE podem conter outras estruturas de deciso SE, formando SEs aninhados ou encaixados. Exemplo: Determinar o maior (max) e o menor (min) valor entre 3 numeros (a, b, c).

Estrutura de Deciso ESCOLHA


Sintaxe: Escolha ( <expresso de seleo>) Caso (<exp1>) faa <instrues1> ... Caso (<expn>) faa <instruesn> Seno <instrues> Fimescolha

Semntica: a expresso de seleo deve ser um nome de varivel. A expresso <exp> de cada caso deve listar os possveis valores que a varivel deve ter para a execuo do caso. Exemplo: Decidir de qual cidade o time de um torcedor de futebol. Algoritmo Torcedor Literal: time Inicio Escreva ("Entre com o nome de um time de futebol: ") Leia (time) Escolha (time) Caso ("Flamengo", "Fluminense", "Vasco", "Botafogo") Escreva (" um time carioca.") Caso ("So Paulo", "Palmeiras", "Santos", "Cornthians") Escreva (" um time paulista.") Seno Escreva (" de outro estado.") Fimescolha Fim

Estrutura de Repetio PARA


Sintaxe: Para <varivel> de <valor inicial> at <valor final> faa <instrues> Fimpara Semntica: A varivel inicialmente recebe <valor inicial>; se o valor da varivel menor ou igual ao valor final, o bloco de instrues executado e o valor da varivel incrementado de uma unidade; o processo continua enquanto o valor da varivel for menor ou igual a valor final. Exemplo: Calculo do fatorial de um nmero Algoritmo Fatorial Inteiro: num, k, fat Inicio Leia (num) fat 1 Para k de 2 at num faa fat fat * k Fimpara Escreva(Fatorial de,num, igual a , fat) Fim

Explicar como se acompanha a execuo de um algoritmo.

Estrutura de Repetio ENQUANTO


Sintaxe: Enquanto (<condio>) faa <instrues> Fimenquanto Semntica: enquanto a condio for verdadeira o bloco de instrues ser executado. Para que a repetio no seja infinita a condio deve se tornar falsa em algum momento. Exemplo: Imprimir nmeros em ordem decrescente Algoritmo Decrescente Inteiro: num Inicio Escreva (Digite um nmero inteiro positivo:) Leia (num) Enquanto (num>=0) faa Escreva(num) num num - 1 Fimenquanto Fim

Estrutura de Repetio REPITA


Sintaxe: Repita <instrues> At (<condio>) Semntica: Repete o bloco de instrues at que a condio seja verdadeira. O bloco de instrues sempre executado pelo menos uma vez. Exemplo: Entrada de login e senha Algoritmo LoginSenha Literal: login, senha Inicio Repita Escreva(Digite seu login:) Leia(login) Escreva(Digite sua senha:) Leia(senha) At (login=alunos e senha=algoritmos) Escreva (Login feito com sucesso) Fim

Aula 8
Exerccios de Controle de Fluxo de Execuo
1. Dado o trecho de algoritmo abaixo: Se (A > B e C < B) ento D 5 Fimse Em D estar armazenado o valor 5 se: a) A < B < C b) A > B > C c) A < B > C d) B < C < A e) nenhuma das respostas acima. 2. Dados trs valores, X, Y, Z, verificar se eles podem ser os comprimentos dos lados de um triangulo. Verificar se um tringulo eqiltero, issceles ou escaleno. Se eles no formarem um tringulo, escrever uma mensagem. Antes de comear a elaborao do algoritmo, toma-se necessria a reviso de algumas propriedades e definies. O comprimento de cada lado de um tringulo menor do que a soma dos comprimentos dos outros dois lados. Chama-se tringulo eqiltero ao tringulo que tem os comprimentos dos trs lados iguais. Chama-se tringulo issceles ao tringulo que tem os comprimentos de dois lados iguais. Portanto, todo tringulo eqiltero tambm issceles. Chama-se tringulo escaleno ao tringulo que tem os comprimentos de seus trs lados diferentes. 3. Dados trs valores inteiros distintos (a,b, c), escreva-os em ordem crescente. 4. Um restaurante da cidade construiu um cardpio eletrnico e atribuiu um nmero para cada prato disponvel. Construa um algoritmo que apresente o cardpio de opes na tela (considere 4 pratos numerados de 1 a 4), leia a escolha do usurio e escreva qual a opo escolhida. 5. Calcular a soma entre todos os valores inteiros compreendidos entre dois nmeros dados (no inclua os nmeros dados na soma). 6. Construa uma calculadora que receba um operador OP e dois valores X e Y. A calculadora deve executar a operao OP (+, -, *, /) sobre os operandos e apresentar o resultado do clculo. A calculadora deve executar indefinidamente at que o operador utilizado pelo usurio seja igual a letra F de Fim.

7. Executando o seguinte algoritmo N 0 Repita Quadrado N + 1 Se (N > 5) ento Escreva (Quadrado) Fimse N N+1 At (N = 10) Que valores sero escritos? 8. Uma pesquisa sobre algumas caractersticas fsicas da populao de uma determinada regio coletou os seguintes dados, referentes a cada habitante, para serem analisados: Sexo (masculino, feminino); Cor dos olhos (azuis, verdes, castanhos); Cor dos cabelos (louros, castanhos, pretos); Idade em anos. Para cada habitante, foi digitada uma linha com esses dados e a ltima linha, que no corresponde a ningum, conter o valor de idade igual a -1. Fazer um algoritmo que determine e escreva: a) A maior idade dos habitantes; b) A porcentagem de indivduos do sexo feminino cuja idade est entre 18 e 35 anos e que tenham olhos verdes e cabelos louros. 9. Leia um nmero indeterminado de linhas contendo cada uma: Cmodo de uma residncia; Potncia necessria para a iluminao deste cmodo; As duas dimenses do cmodo. Calcule e escreva: a) Para cada cmodo: A rea do cmodo; Nmero de lmpadas de 75W necessrias; b) Para toda a residncia: Total de lmpadas; Total de potncia.

Você também pode gostar