Escolar Documentos
Profissional Documentos
Cultura Documentos
Algoritmos
Linguagem natural
Linguagem Algorítmica
(expressão organizada, com sintaxe, mas foco na lógica e não na sintaxe)
A <- 3.14159 * r ** 2
fim
r
5,0
A 78,5
• 1 ou mais caracteres
• 1o caractere deverá ser letra
• sem espaços em branco entre as letras
• só letras e números
• clareza nos nomes
Problema Computacional
Dados de Processamento
Dados de
Entrada Saída
Relacionais
< menor
> maior
<= menor ou igual
>= maior ou igual
<> diferente
Lógicos
E, OU e NÃO
se condição entao V
condição
aiaiaiaiaia (condição verdadeira)
F
senão aiaiaiaiaia
ioioioioioio (condição falsa) ioioioioioio
fimse
Informática, Algoritmos e Estruturas de Dados Ifes 24
Exemplo: Algoritmo para calcular a média de alunos e informe se
o mesmo foi aprovado ou reprovado, dado que a MEDIA para
aprovação é 7
programa aprovado
var
RESULTADO: caractere
N1, N2, N3, N4: real
SOMA, MEDIA: real
inicio
leia (N1, N2, N3, N4)
SOMA <- N1+N2+N3+N4
MEDIA <- SOMA/4
se (MEDIA >= 7) entao
resultado<-“aprovado”
senão
resultado<- “reprovado”
fimse
escreva(“O resultado foi: ”, resultado)
fim
se condição1 entao
aiaiaiaiaia (condição verdadeira)
senão
se condição2 entao
oioioioioio (condição2 verdadeira)
fimse
fimse
F
aiaiaiaiaia
V
condição oioioioioio
salario
V
salario<500
F
V
salario<=1000 salario<-salario*1.15
salario<-salario*1.10 F
salario<-salario*1.05
salario
fim
Exercícios sala –
1) De um valor fornecido informar se o mesmo é divísível por 02
ou por 03
2) Crie uma nova versão do algoritmo anterior, infomando se o
valor fornecido é divisível por 02, por 03 ou por 02 e por 03
3) Ler o nome e o sexo de uma pessoa e se o sexo for masculino
escrever “Ilmo Sr. nome” (onde “nome” é o nome fornecido)
ou caso o sexo seja feminino escrever “Ilma Sra. nome” (onde
“nome” é o nome fornecido)
4) Elaborar um algoritmo que de 03 valores fornecidos informe
qual é o maior deles
F
condição
Enquanto condição faca
V
aiaiaiaiaia
aiaiaiaiaia
oioioioioio
oioioioioio
fimenquanto
cont<-1
pot<-1
x programa ``
var
x, pot: real
F cont: inteiro
cont<=5 inicio
cont<-1
V pot<-1
leia(x)
pot<- pot*x enquanto cont <= 5 faca
pot <- pot*x
cont<- cont+1
cont<-cont+1 fimenquanto
escreva(x,”**5=”,pot)
fim
pot
fim
cont<-1
contaS<-0
contaN<-0
1
F
cont<=3
V contaS, contaN
voto
fim
F F
Voto=”S” voto=“N”
V V
contaS<-contaS+1 contaN<-contaN+1
cont<-cont+1
1
Informática, Algoritmos e Estruturas de Dados Ifes 37
programa votação
var
voto: caractere
contaS, contaN, : inteiro
inicio
contaS<-0
contaN<-0
cont<-1
enquanto cont <= 3 faca
leia (voto)
se (voto= “S”) entao
contaS <- contaS +1
senão
se (voto= “N”) entao
contaN <- contaN+1
fimse
fimse
cont<-cont+1
fimenquanto
escreva(“A contagem de votos S foi ”, contaS,” e a
contagem de N foi ”, contaN)
fim12
programa votação
var
voto: caractere
cont, contaS, contaN, : inteiro
inicio
contaS<-0
contaN<-0
leia (voto)
enquanto (voto<>”x”) e (voto<>”X”) faca
se (voto= “S”) entao
contaS <- contaS +1
senão
se (voto= “N”) entao
contaN <- contaN+1
fimse
fimse
leia (voto)
fimenquanto
escreva(“A contagem de votos S foi ”, contaS,” e a
contagem de N foi ”, contaN)
fim
Exercícios casa
1) Apresentar as potencias de um número x, para os expoentes de 4 a 8
2) Informar quais os números inteiros entre 100 e 200 que são divisíveis
por 7
3) Leia repetidamente os números inteiros fornecidos até que seja
fornecido um número negativo. O algoritmo deverá informar qual é o
menor número. O número negativo não deverá ser considerado.
listageral 06, 03, 01, 02, 07, 08
cont<-inicio, fim,
incremento para cont de inicio até fim passo incremento faca
aiaiaiaiaia
aiaiaiaiaia oioioioioio
fimpara
oioioioioio
Cont<-1,5
inicio ou
programa produto
cont<-1,5,1 var
x, R: real
cont: inteiro
x inicio
para cont de 1 até 5 passo 1 faca
leia(x)
R <- x * 3
R <- x * 3
escreva(x,”*3=”,R)
fimpara
R fim
fim
Exemplo:
As notas de um aluno:
Antes: 4 variáveis: Nota1, Nota2, Nota3, Nota4 [1] 5,0
[2] 8,0
Agora: 1 variável: Nota
Nota: vetor [1..4] de real [3] 3,5
Nota[1], Nota[2], Nota[3], Nota[4], [4] 10
Soma <- 0
programa média
var
I <-1,8 Nota: vetor [1..8] de real
i: inteiro
Media, Soma: real
Nota[i] inicio
Soma<-0
Soma <- Soma + Nota[i] para i de 1 até 8 faca
leia(Nota[i])
Soma<-Soma + Nota[i]
fimpara
Media <- Soma/8
Media <- Soma / 8
escreva (Media)
fim
Media
fim
Informática, Algoritmos e Estruturas de Dados Ifes 47
Exemplo: Elabore um algoritmo que calcule a média das oito notas (fornecidas)
de um aluno. Apresente a média e em seguida as oito notas.
inicio
programa média
1 var
Soma <- 0
Nota: vetor [1..8] de real
Media i: inteiro
Media, Soma: real
I <-1,8 inicio
para i de 1 até 8 faca
I <-1,8 leia(Nota[i])
Soma<-Soma + Nota[i]
Nota[i] fimpara
Nota[i] Media <- Soma/8
Soma <- Soma + Nota[i] escreva (Media)
para i de 1 até 8 faca
escreva (Nota[i])
fimpara
fim
Media <- Soma / 8 fim
Exemplo sala
2) Faça um algoritmo que leia 50 idades e apenas após ler todas
as idades verifique qual a maior delas.
Exercícios sala
Lista ExerciciosVetores: 6, 9
3) Faça um algoritmo que leia 10 números e apresente os
números em ordem crescente
Exercícios casa:
Lista ExerciciosVetores: 2, 3, 5, 10, 14
(vetores)
Fazer um algoritmo que:
Em uma cidade do interior, sabe-se que, de janeiro a abril de 1976(121 dias),
não ocorreu temperatura inferior a 15ºC nem superior a 40ºC. As
temperaturas verificadas em cada dia serão lidas e armazenadas em um
vetor. Fazer um algoritmo que, após o armazenamento de todas as
temperaturas, verifique e imprima:
– A menor temperatura ocorrida;
– A maior temperatura ocorrida;
– A temperatura média;
– O número de dias nos quais a temperatura foi inferior à temperatura média.
2) Escrever um algoritmo para armazenar valores inteiros em uma matriz (5,6). A seguir,
calcular e escrever a média dos valores pares contidos na matriz e seu conteúdo.
3) Escrever um algoritmo que lê uma matriz M(5,5) e cria 2 vetores SL(5), SC(5) que
contenham respectivamente as somas das linhas e das colunas de M. Escrever a
matriz e os vetores criados.
//programa principal
Inicio
numero <- 1
escreva(“Antes do procedimento, número = “, numero)
incrementa(numero)
escreva(“Depois do procedimento, número = “, numero)
fimalgoritmo
inicio
escreval(“Digite um número “)
leia(numero)
Enquanto (numero <>0) faca
julgar(numero)
escreval(“Digite um número “)
leia(numero)
fimenquanto
fimalgoritmo
INICIO
Escreva ("Valor_1 : ")
LEIA (Valor_1)
Escreva ("Valor_2 : ")
LEIA (Valor_2)
soma<-FSoma(Valor_1,Valor_2)
ESCREVA ("Soma das vaiáveis é ", soma)
FIMALGORITMO
FUNCAO Delta (aa, bb, cc: Real): Real //aa, bb e cc são variáveis locais
var
valor: real
Inicio
valor<- bb*bb-4*aa*cc
retorne valor
fimfuncao
INICIO
Escreval ("Forneça a, b e c: ")
Leia (a, b, c)
Escreval
meudelta<-Delta (a,b,c)
Escreval ("O delta da equação é:", meudelta)
FIMALGORITMO
inicio
Escreva ("Entre com um numero real: ")
Leia (Num)
Escreval ("O numero ", Num, " foi arredondado para: ", Arredonda (Num))
fimalgoritmo
Escreva ("Entre com um numero inteiro a ser armazenado na variável NUM : ")
Leia (Num)
Soma5 (Num)
Escreval ("O conteúdo de NUM após a chamada do proc. Soma5 é : ", Num )
fimalgoritmo
inicio
Escreva ("Entre com um numero inteiro a ser armazenado na variável NUM : ")
Leia (Num)
SomaN (Num , 10)
Escreval ("O conteúdo de NUM após a chamada do proc. SomaN (NUM, 10) é : ", Num )
SomaN (Num , Num)
Escreval ("O conteúdo de NUM após a chamada do proc. SomaN (NUM, NUM) é : ", Num )
fimalgoritmo
Aluno:
nome, idade, nota
leia (aluno.nome)
Características da Linguagem C:
• compilada;
• “case senitive”;
• portável;
• código compacto e rápido;
• médio nível.
%d Inteiro
%f Float
%c Caractere
%s String
%% Coloca na tela um %
\b Retrocesso ("back")
\f Alimentação de formulário ("form feed")
\n Nova linha ("new line")
\t Tabulação horizontal ("tab")
\" Aspas
\' Apóstrofo
\\ Barra invertida
Operadores Lógicos:
! NÃO
|| OU
&& E