Buscar

Algoritmos2 20130301095621

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 54 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 54 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 54 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Fundamentos de Programação e

Algoritmos
Repetição com teste lógico no início do looping
Executa uma seqüência, nenhuma, uma ou várias 
vezes, dependendo de uma condição.
sintaxe:
enquanto (condição) faça
<instrução para condição verdadeira>
fim_enquanto
Fundamentos de Programação e

Algoritmos
Exemplo:
algoritmo fatorial
declare
fat,cont de inteiro
inicio
fat <- 1
cont <- 1
enquanto (cont <= 5) faca
fat <- fat * cont
cont <- cont + 1
fim_enquanto
escreva "O fatorial do número 5 é =",fat
fim
Fundamentos de Programação e

Algoritmos
Repetição com teste lógico no fim do looping
Executa uma sequência e se a condição ainda 
não for verdadeira, isto é, se for falsa, executa 
novamente até satisfazer a condição.
Sintaxe:
Repita
 <instrução para condição falsa>
Até_que (condição)
Fundamentos de Programação e

Algoritmos
 Exemplo:
algoritmo fatorial
declare
fat,cont de inteiro
inicio
fat <- 1
cont <- 1
repita
fat <- fat * cont
cont <- cont + 1
Até_que (cont > 5)
escreva "O fatorial do número 5 é =",fat
fim
Fundamentos de Programação e

Algoritmos
Repetição do tipo: variável de controle
Poderá executar um determinado conjunto de 
instruções um determinado número de vezes.
Sintaxe:
Para <variável>de<início>até<fim>passo<incremento>faça
 <instrução para condição verdadeira>
Fim_para
Fundamentos de Programação e

Algoritmos
Exemplo:
algoritmo fatorial
declare
fat,cont de inteiro
inicio
fat <- 1
Para cont de 1 até 5 passo 1 faça
fat <- fat * cont
Fim_para
escreva "O fatorial do número 5 é =",fat
fim
Fundamentos de Programação e

Algoritmos
Exemplo sem claúsula passo:
algoritmo fatorial
declare
fat,cont de inteiro
inicio
fat <- 1
Para cont de 1 até 5 faça
fat <- fat * cont
Fim_para
escreva "O fatorial do número 5 é =",fat
fim
Fundamentos de Programação e

Algoritmos
Exercícios
1)Apresentar os quadrados dos números inteiros 
de 15 a 200.
2) Apresentar o total da soma obtida dos cem 
primeiros números inteiros.
(1+2+3+4+5+6+7+...97+98+99+100)
3) Elaborar um programa que apresente no final 
o somatório dos valores pares existentes na faixa 
de 1 até 500. 
Fundamentos de Programação e

Algoritmos
Exercícios
4) Apresentar os resultados de uma tabuada de 
um número qualquer, a qual deve ser impressa 
no seguinte formato:
2 X 1 = 2
2 X 2 = 4
2 X 3 = 6
(...)
2 X 10 = 20
Fundamentos de Programação e

Algoritmos
Exercícios
5) Apresentar todos os valores numéricos inteiros 
ímpares situados na faixa de 0 a 20. 
6) Apresentar todos os números divisíveis por 4 
que sejam menores que 200.
7) Elaborar um programa que efetue a leitura de 
15 valores numéricos inteiros e no final 
apresente o total do somatório do fatorial de cada 
valor lido.
Fundamentos de Programação e

Algoritmos
Exercícios
8) Escreva um programa que apresente a série de 
Fibonacci até o décimo quinto termo. A série de 
F ibonacc i é fo rmada pe la seqüênc ia : 
1,1,2,3,5,8,13,21,34,...etc. Esta série se 
caracteriza pela soma de um termo atual com o 
seu anterior subseqüente, para que seja formado 
o próximo valor da seqüência. 
Fundamentos de Programação e

Algoritmos
Exercícios
9) Elaborar um programa que efetue a leitura de 10 
valores numéricos e apresente no final o total do 
somatório e a média dos valores lidos.
10) Elaborar um programa que apresente como 
resultado o valor do fatorial dos valores ímpares 
situados na faixa numérica de 1 a 10.
11) Elaborar um programa que apresente os 
resultados da soma e da média dos valores pares 
situados na faixa numérica de 50 a 70.
Fundamentos de Programação e

Algoritmos
Exercícios – DESAFIO
1) Fazer um algoritmo para calcular o fatorial de 
qualquer número, até que o usuário não deseje 
mais utilizar o programa.
2) Elaborar um programa que efetue a leitura de 
valores positivos inteiros até que um valor negativo 
seja informado. Ao final devem ser apresentados o 
maior e o menor valores informado pelo usuário.
Fundamentos de Programação e

Algoritmos
Caso (escolha, condicional generalizada)
Executa seqüências caso as condições relacionadas 
sejam atendidas. Exemplo:
Leia n
Caso n > 99
 escreva “centenas”
Caso n > 9
 escreva “dezenas”
Caso n > 0
 escreva”unidades”
Senao
 escreva”vazio”
Fim_caso
Fundamentos de Programação e

Algoritmos
Exercícios (caso)
1) Leia o salário bruto de um cidadão 
assalariado. Calcule o imposto de renda e o 
salário líquido e os imprima. A tabela de imposto 
é:
Até 70.000 Isento
De 70.000 a 150.000 10%
Acima de 150.000 25%
Fundamentos de Programação e

Algoritmos
Exercícios (caso)
2) Leia um número N e imprima:
“F3” se N <= 10
“F2” se N > 10 e N <=100
“F4” se N > 100
3) Definidas cinco faixas:
Faixa 1 – até 100 inclusive
Faixa 2 – de 101 até 200
Faixa 3 – de 201 até 300
Faixa 4 – de 301 até 400
Faixa 5 – de 401 até 500
Leia um número N e imprima que faixa ele atua. 
Fundamentos de Programação e

Algoritmos
Matriz de uma Dimensão ou Vetores
Caracteriza-se por ser definida uma única 
variável dimensionada com um determinado 
tamanho. A dimensão de uma matriz é 
constituída por constantes inteiras e positivas. 
Os nomes dados as matrizes seguem as 
mesmas regras de nomes utilizados para 
indicar as variáveis simples.
Fundamentos de Programação e

Algoritmos
Para se ter uma idéia de como utilizar matrizes em uma 
determinada situação, considere o seguinte problema:
algoritmo media
declare
m1,m2,m3,m4,m5,m6,m7,m8,m,soma de real
início
soma<-0
escreva ("Digite oito valores")
leia m1,m2,m3,m4,m5,m6,m7,m8
soma<-m1+m2+m3+m4+m5+m6+m7+m8
m<-soma/8
escreva ("A média é =",m)
fim
Fundamentos de Programação e

Algoritmos
Algoritmo media
declare
md:vetor[1..8] de real
soma,m de real
i de inteiro
inicio
soma<-0
para i de 1 ate 8 faça
leia md[i]
soma <- soma + md[i]
fim_para
m<-soma/8
para i de 1 ate 8 faça
 escreva md[i]
fim_para
escreva ("A média é =",m)
fim
Fundamentos de Programação e

Algoritmos
Exercícios
1) Ler 10 elementos de uma matriz tipo vetor e 
apresentá-los.
 
2) Desenvolver um algoritmo que efetue a leitura 
de 10 elementos de uma matriz A tipo vetor. 
Construir uma matriz B de mesmo tipo, 
observando o seguinte: se o valor do índice for 
par, o valor deverá ser multiplicado por 5, sendo 
ímpar, deverá ser somado com 5. Ao final 
mostrar o conteúdo da matriz B.
Fundamentos de Programação e

Algoritmos
Exercícios
3) Desenvolver um algoritmo que efetue a leitura de cinco 
elementos de uma matriz A tipo vetor. No final, apresente 
o total da soma de todos os elementos que sejam ímpares.
4) Ler 8 elementos em uma matriz A tipo vetor. Construir 
uma matriz B de mesma dimensão com os elementos de A 
multiplicados por 3.
5) Ler duas matrizes A e B do tipo vetor com 20 
elementos. Construir uma matriz C, onde cada elemento 
de C é a subtração do elemento correspondente de A com 
B. Apresentar a matriz C.
Fundamentos de Programação e

Algoritmos
Exercícios
6) Ler 15 elementos de uma matriz A tipo vetor. 
Construir uma matriz B de mesmo tipo, onde todo 
elemento de B deverá ser o quadrado do elemento de 
A correspondente. Apresentar as matrizes A e B.
7) Ler uma matriz A tipo vetor com 15 elementos. 
Construir uma matriz B de mesmo tipo, sendo que 
cada elemento da matriz B seja o fatorial do 
elemento da matriz A. Apresentar as matrizes A e B.
 
Fundamentos de Programação e

Algoritmos
Classificação dos elementos de uma matriz
Algoritmo lista_nome_ordenada
declare
nome:vetor[1..10] de caractere
i,j:inteiro
x:caractere
inicio
escreva "Digite os nomes"
Fundamentos de Programação e

Algoritmos
Classificação dos elementos de uma matriz
para i de 1 ate 10 faca
 leia nome[i]
fim_parapara i de 1 ate 9 faca
 para j de i+1 ate 10 faca
 se (nome[i] > nome[j]) entao
 x<-nome[i]
 nome[i]<-nome[j]
 nome[j]<-x
 fim_se
 fim_para
fim_para
Fundamentos de Programação e

Algoritmos
Classificação dos elementos de uma matriz
para i de 1 ate 10 faca
 escreva nome[i]
fim_para
fim
Fundamentos de Programação e

Algoritmos
Exercícios
1) Ler 10 elementos de uma matriz tipo vetor, 
colocá-los em ordem crescente e apresentar os 
elementos ordenados.
2) Ler uma matriz A do tipo vetor com 10 
elementos. Construir uma matriz B de mesmo 
tipo, sendo que cada elemento de B seja o fatorial 
de A. Apresentar os elementos de B ordenados de 
forma decrescente.
Fundamentos de Programação e

Algoritmos
Exercícios
3) Ler uma matriz A tipo vetor com 15 elementos. 
Construir uma matriz B de mesmo tipo, sendo que cada 
elemento de B deverá ser a metade de A. Apresentar os 
elementos da matriz B em ordem crescente.
4) Ler duas matrizes do tipo vetor A com 20 elementos e B 
com 30 elementos. Construir uma matriz C, sendo esta a 
junção das duas outras matrizes. Desta forma, C deverá 
ter a capacidade de armazenar 50 elementos. Apresentar 
os elementos da matriz C em ordem decrescente.
Fundamentos de Programação e

Algoritmos
Métodos de Pesquisas em uma Matriz
Método de Pesquisa Seqüencial
O primeiro método consiste em efetuar a 
busca da informação desejada a partir do 
primeiro elemento seqüencialmente até o 
último. Localizando a informação no 
caminho, ela é apresentada. 
 
Fundamentos de Programação e

Algoritmos
Métodos de Pesquisas em uma Matriz
Algoritmo pesquisa_sequencial
declare
nome:vetor[1..10] de caractere
i:inteiro
pesq,resp:caractere
acha:logico
inicio
escreva "Digite os nomes"
Fundamentos de Programação e

Algoritmos
Métodos de Pesquisas em uma Matriz
para i de 1 ate 10 faca
 leia nome[i]
fim_para
resp<-"sim"
enquanto (resp="sim") faca
escreva ("Entre com o nome a ser 
pesquisado")
leia pesq
Fundamentos de Programação e

Algoritmos
Métodos de Pesquisas em uma Matriz
i<-1
acha<-falso
enquanto (i<=10) e (acha=falso) faca
 se (pesq = nome[i]) entao
 acha<-verdadeiro
 senao
 i<-i+1
 fim_se
fim_enquanto
Fundamentos de Programação e

Algoritmos
Métodos de Pesquisas em uma Matriz
se (acha = verdadeiro) entao
 escreva pesq,"foi localizado na posição",i
senao
 escreva pesq,"não foi localizado"
fim_se
escreva "Deseja continuar?"
leia resp
fim_enquanto
fim
Fundamentos de Programação e

Algoritmos
Matrizes com mais de uma dimensão
Uma matriz de duas dimensões está sempre 
fazendo menção a linhas e colunas e é 
r e p r e s e n t a d a p o r s e u n o m e e s e u 
tamanho(dimensão) entre colchetes.
sintaxe:
variável: matriz[dimensão1,dimensão2] de 
<tipo de dados>
Ex: md:matriz[1..3,1..5] de inteiro 
Fundamentos de Programação e

Algoritmos
Matrizes com mais de uma dimensão
algoritmo elementos
declare
notas:matriz[1..8,1..4] de real
i,j de inteiro
inicio
para i de 1 ate 8 faca
 para j de 1 ate 4 faca
leia notas[i,j]
fim_para
fim_para
fim
Fundamentos de Programação e

Algoritmos
Matrizes com mais de uma dimensão
Escrita dos dados de uma matriz
algoritmo elementos
declare
notas:matriz[1..8,1..4] de real
i,j de inteiro
inicio
para i de 1 ate 8 faça
 para j de 1 ate 4 faça
 leia notas[i,j]
 fim_para
fim_para
para i de 1 ate 8 faça
 para j de 1 ate 4 faça
 escreva notas[i,j]
 fim_para
fim_para
Fundamentos de Programação e

Algoritmos
Exercícios
1) Ler duas matrizes A e B, cada uma de duas 
dimensões com 5 linhas e 3 colunas. Construir uma 
matriz C de mesma dimensão, que é formada pela soma 
dos elementos de A com B. Apresentar a matriz C.
2) Ler duas matrizes A e B, cada uma com uma 
dimensão para 7 elementos. Construir uma matriz C de 
duas dimensões, em que a primeira coluna deverá ser 
formada pelos elementos da matriz A e a segunda 
coluna deverá ser formada pelos elementos da matriz B. 
Apresentar a matriz C.
Fundamentos de Programação e

Algoritmos
Sub-rotinas
Problemas complexos exigem algoritmos 
complexos. Mas sempre é possível dividir um 
problema grande em problemas menores. 
Desta forma, cada parte menor tem um 
algoritmo mais simples, e é esse trecho menor 
que é chamado de sub-rotina.
Fundamentos de Programação e

Algoritmos
Sub-rotina
Existem dois tipos de sub-rotinas, sendo:
• Procedimento
• Função
Fundamentos de Programação e

Algoritmos
Sub-rotinas - Procedimento
sintaxe:
procedimento <nome do procedimento>
var
<variáveis>
inicio
<instruções>
fim
Fundamentos de Programação e

Algoritmos
Sub-rotinas - Procedimento
Exemplo:
algoritmo "calculadora"
var
opcao:caractere
procedimento rotsoma
var
r,a,b:real
Fundamentos de Programação e

Algoritmos
Sub-rotinas - Procedimento
Exemplo:
inicio
escreval ("Rotina de soma")
escreval ("Entre com um valor para A:")
leia (a)
escreval ("Entre com um valor para B:")
leia (b)
Fundamentos de Programação e

Algoritmos
Sub-rotinas - Procedimento
Exemplo:
r<- a + b
escreval ("A soma de A com B é = ",r)
fimprocedimento
procedimento rotsubtracao
var
r,a,b:real
Fundamentos de Programação e

Algoritmos
Sub-rotinas - Procedimento
Exemplo:
inicio
escreval ("Rotina de subtração")
escreval ("Entre com um valor para A:")
leia (a)
escreval ("Entre com um valor para B:")
leia (b)
Fundamentos de Programação e

Algoritmos
Sub-rotinas - Procedimento
Exemplo:
r<- a - b
escreval ("A subtração de A com B é = ",r)
fimprocedimento
procedimento rotmultiplicacao
var
r,a,b:real
Fundamentos de Programação e

Algoritmos
Sub-rotinas - Procedimento
Exemplo:
inicio
escreval ("Rotina de multiplicação")
escreval ("Entre com um valor para A:")
leia (a)
escreval ("Entre com um valor para B:")
leia (b)
Fundamentos de Programação e

Algoritmos
Sub-rotinas - Procedimento
Exemplo:
r<- a * b
escreval ("A multiplicação de A com B é = ",r)
fimprocedimento
procedimento rotdivisao
var
r,a,b:real
Fundamentos de Programação e

Algoritmos
Sub-rotinas - Procedimento
Exemplo:
inicio
escreval ("Rotina de divisão")
escreval ("Entre com um valor para A:")
leia (a)
escreval ("Entre com um valor para B:")
leia (b)
Fundamentos de Programação e

Algoritmos
Sub-rotinas - Procedimento
Exemplo:
r<- a / b
escreval ("A divisão de A com B é = ",r)
fimprocedimento
Fundamentos de Programação e

Algoritmos
Sub-rotinas - Procedimento
Exemplo:
inicio
opcao<-"0"
enquanto (opcao <> "5") faca
escreval ("1 - Adição")
escreval ("2 - Subtração")
escreval ("3 - Multiplicação")
escreval ("4 - Divisão")
escreval ("5 - Fim do programa")
escreval ("Escolha uma opção:")
leia (opcao)
Fundamentos de Programação e

Algoritmos
Sub-rotinas - Procedimento
Exemplo:
se (opcao = "1") entao
rotsoma
fimse
se (opcao = "2") entao
rotsubtracao
fimse
Fundamentos de Programação e

Algoritmos
Sub-rotinas - Procedimento
Exemplo:
se (opcao = "3") entao
rotmultiplicacao
fimse
se (opcao = "4") entao
rotdivisao
fimse
fimenquanto
fimalgoritmo
Fundamentos de Programação e

Algoritmos
Sub-rotinas - Procedimento
Exercícios
1) Apresentar os quadrados dos números inteiros de 
15 a 200.
2) Faça um programa para calcular o fatorial de um 
número qualquer.
3) Elaborar um programa que efetue a leitura de três 
valores e apresente como resultado final o quadrado 
da soma dos três valores lidos.
Fundamentos de Programação e

Algoritmos
Sub-rotinas - Procedimento
Exercícios
4) Num frigorífico existem 90 bois. Cada boi traz preso 
em seu pescoço um cartãocontendo seu número de 
identificação e seu peso. Fazer um programa que 
escreva o peso do boi mais gordo e do boi mais magro.
5) Efetuar a leitura de cinco números inteiros e 
identificar o maior e o menor valores.
6) Apresentar a soma de todos os valores numéricos 
inteiros ímpares situados na faixa de 0 a 20. 
Fundamentos de Programação e

Algoritmos
Sub-rotinas - Procedimento
Exercícios
7) Tem-se um conjunto de dados contendo a altura e o sexo (M, 
F) de 20 pessoas. Fazer um programa que calcule e escreva:
A maior e a menor altura do grupo;
A média de altura das mulheres;
O número de homens.
8) Efetuar a leitura de um valor inteiro positivo ou negativo e 
apresentar o número lido como sendo um valor positivo.
9) Efetuar a leitura de três valores e apresentá-los dispostos em 
ordem crescente.

Outros materiais