Algoritmia Final
Algoritmia Final
Algoritmos
Linguagem natural versus
linguagem formal
É a linguagem falada ou escrita,
Linguagem natural como o português
Linguagem formal
Tudo é um algoritmo
Resultado
BOLO DE CHOCOLATE
INGREDIENTES
1 chávena chá de óleo
2 chávena de chá de açúcar
4 ovos
DADOS
2 chávena de chá de farinha de trigo com fermento
125 g de chocolate em pó
Cobertura DE
ENTRADA
1 lata de leite condensado
3 colheres de chocolate em pó
1 lata de creme de leite
1 colher de manteiga
PREPARAÇÃO
Processamento
Misture os ingredientes e coloque-os numa forma untada
com manteiga. Leve ao forno e, por último, faça a cobertura.
Algoritmo • Conjunto ordenado de ações que
conduzem à solução de um problema.
• Formulação do
Conceção algoritmo.
• Utilização do
algoritmo numa
Implementação linguagem de
programação.
Linguagem e formas de representação das
instruções indicadas nos algoritmos
Fluxogramas
Fim Escrever(Area)
Fim
Exercício1
inicio
Algoritmo troca_valores;
Variáveis a, b, c: lógico; a <-true
Inicio
a true; b <- false
b false;
c <-a
c a;
a b; a <- b
b c;
Escrever (a, b); b <- c
Fim
Escreve (a,b)
fim
Exercício2:
Apresente sob a forma de fluxograma.
Linguagem
Pascal
Constantes – são identificadores para designar valores que não variam ao longo
da execução do programa.
Sintaxe e exemplos de
atribuição de valores a variáveis
Sintaxe Exemplo
quantidade:=10;
<id>:=<valor>;
Soma:=n1+n2+n3;
Operador Significado
NOT Negação
AND E (conjunção)
OR OU (disjunção)
XOR OU exclusivo
Resumo
Exercício
Elabore um algoritmo que permita calcular
o Índice de Massa Corporal (IMC) sabendo
que:
IMC = peso/ (altura*altura)
Funções pré definidas
ABS – Devolve o valor absoluto de um
número, um número sem sinal
SQR – quadrado de um número
SQRT – raiz quadrada de um número
Pi – número pi=3,14
ROUND(x) – Arredonda o valor x para o
inteiro mais próximo
TRUNC(x) – (elimina a parte decimal)
Estruturas de controlo
Estruturas IF
•Com base numa condição
de decisão •Com base num seletor
CASE
ou seleção
ciclos FOR…DO
Estruturas de decisão –
IF Sintaxe
Program exames;
Var Nota1:real;
IF<condição> Then
Begin
<bloco de instruções> Writeln (‘Qual a nota do 1º exame?’);
[else
<bloco de instruções>] readln (Nota1);
End.
Fluxograma
Ler nota
F
If
nota>=10
Escrever Escrever
“Aprovado” “Reprovado”
Estrutura Dados dois valores, este algoritmo determina e imprime o
maior.
de
seleção ALGORITMO maior;
composta VARIÁVEIS valor1, valor2: inteiro;
(IF) INÍCIO
Caracterizada pela LER (valor1, valor2);
avaliação de uma SE valor1 > valor2 ENTÃO
condição e se a ESCREVER (‘O maior valor é ‘, valor1);
condição é verdadeira, SENÃO
efetua uma sequência
ESCREVER (‘O maior valor é ‘, valor2);
de ações, se a condição
FIM;
é falsa efetua outra
FIM.
série de ações.
Estruturas de seleção Case…Of
Integer ou char Var Nota : Integer;
Begin
Case <variavel> of Writeln(‘Qual a nota númerica’);
<valor1> : <instrução1>; readln (Nota);
<valor2> : <instrução2>;
Case Nota of
…..
0,1,2,3,4,5,6,7,8,9 : writeln (‘Mediocre’);
<valorN> : <instruçãoN>;
10..13 : Writeln (‘Suficiente’);
[Else :<instruçãoZ>]
14..20 : Writeln (‘Bom’);
FimSelecionar
end Else Writeln (‘Nota inválida’);
end;
End.
início
LER(nota)
CASO
Nota =
Escrever
0,1,2,3,4 “Medíocre”
fim
Dado um dia da semana de 1 a 7, este algoritmo imprime o nome do dia
correspondente.
Estrutura
de ALGORITMO diasemana;
VARIÁVEL dia: inteiro;
seleção INÍCIO
múltipla ESCREVER (‘Insira um nº inteiro de 1 a 7’);
LER(dia);
(CASO) CASO dia
Caracterizada pela INÍCIO
correspondentes. FIM;
FIM.
(Pseudocódigo e
Fluxograma) que
determina o dia da
semana (escrito por
extenso) de acordo com
o valor inserido (entre 1
e 7).
Estrutura de seleção
CASE
Elabore um algoritmo que permita atribuir uma
classificação, em conformidade com nível
numérico fornecido.
[0-4] – Mau
[5-9] - Medíocre
[10-13] - suficiente
[14-17] - Bom
[18-20] – Muito Bom
Estrutura de seleção
CASE
Elabore um algoritmo que peça ao
utilizador a introdução de 2 números e
a operação que pretende fazer(+,-,*,/)
e mostre no ecrã o resultado dessa
operação.
Estruturas de repetição
ou ciclos
Processa uma sequência de instruções, tantas vezes quantas as
estabelecidas pela condição a que está sujeita.
W Re RE
hil pe PE
at TI
e… … R…
Do ENQ
For… To…
Do Un AT
UAN
… TO… til É…
FAZE
R… … .
Estruturas de repetição ou
ciclos
Ciclos controlados por uma condição Ciclos controlados por um contador
For i:=5 to 10 do
soma:=soma +i;
writeln (soma);
End.
Estruturas de repetição
Repeat Var Valor, Soma : integer;
Begin
<bloco de instruções>
Writeln (' introduza um número e Termine com 0.');
Until <condição> soma:=0;
Repeat
Writeln ('Introduza um valor');
read(valor);
Until valor = 0;
writeln (soma);
End.
while
Elabore um algoritmo que peça ao
utilizador que introduza vários
números, enquanto a soma desses
números for menor que 100.
Estruturas de repetição
While <condição> var valor, soma: integer;
Begin
Do soma:= 0;
while soma<100 do
<bloco de instruções>
begin
end;
write (' O valor do somatório é ' , soma);
End.
Program contanomes ; Program contanomes ;
Var conta: integer; Var nome: string;
nome: string;
Begin
Begin
conta:=0;
Writeln ('escreva o seu nome');
read(nome); Repeat
while nome<> 'Fim' Do Writeln ('escreva o seu nome e termine
Begin com a palavra FIM');
Conta :=conta + 1; read(nome);
Writeln ('escreva o seu nome');
read(nome); Until nome='FIM';
end;
End.
Writeln ('Foram digitados ' , conta, 'nomes');
End.
Estrutura Repeat e While.
Begin
writeln ('Digite o raio do circulo');
read (R);
A:=3.14159*sqr(R);
Writeln ('A area da circunferencia é de ' , A);
End.
Exercício 5
Utilizando a estrutura de decisão IF,
construa um algoritmo que, determine
o maior de dois números dados.
Estrutura Repeat e While.