Upload
buithuy
View
246
Download
6
Embed Size (px)
Citation preview
782 ‐ Programação em C/C++ - estruturabásica e conceitos fundamentais
Formador: Henrique Fidalgo 1
Algoritmos
Algoritmo pode ser definido como umconjunto finito de regras bemdeterminadas para a resolução de umproblema através de um número finitode operações.
Formador: Henrique Fidalgo 2
Por sua vez, programa (programa decomputador) pode ser simplesmentedefinido como um conjunto deinstruções destinadas a seremprocessadas num sistema informático.
Formador: Henrique Fidalgo 3
A algoritmia, ou seja, a formulação dealgoritmos permite-nos separar duasfases distintas na resolução doproblema: A fase da formulação do algoritmo; A fase da sua implementação numa
linguagem de programação-
Formador: Henrique Fidalgo 4
Podemos considerar como algoritmos coisastão diversificadas como os seguintesexemplos:
A substituição de uma lâmpada A substituição de um pneu A utilização de determinado electrodoméstico Uma receita culinária A resolução de um problema de matemática
Formador: Henrique Fidalgo 5
Muitos algoritmos surgem-nos comosequências lineares de acções ouoperações, isto é, ordenadas de uma formasimples uma após outra:
Exemplo:1. Preparar uma lâmpada nova2. Retirar a lâmpada fundida3. Colocar a lâmpada nova
Formador: Henrique Fidalgo 6
Sequência linear de acções:
Formador: Henrique Fidalgo 7
Acção 1
Acção 2
Acção 3
Se nos limitar-mos a estes passos, temos umasequência ordenada de forma linear
Porém podemos adicionar acções adicionais:
4. Ligar o interruptor para verificar se a nova lâmpada acende ounão.
5. Se a lâmapada acender, podemos dar o processo por concluído;se não acender, teremos de repetir os passos 1 a 4.
Formador: Henrique Fidalgo 8
Com isto, passamos a ter uma sequência que jánão se mantêm numa simples ordem linear.
Em determinada altura surge uma condiçãoassociada à palavra “SE”:
SE a condição se verificar (se a lâmpada acender),damos o processo por concluído.
SE a condição não se verificar (se a lâmpada nãoacender), teremos de repetir os passos anteriores.
Formador: Henrique Fidalgo 9
Algoritmo
Formador: Henrique Fidalgo 10
Acção 1
Acção 2
Acção 3 Condição
Acção 4
Verdade
Falso
Algoritmo
Formador: Henrique Fidalgo 11
Preparar lâmpada nova
Retirar lâmpada fundida
Colocar lâmpada nova
Acende?
Fim
Sim
Não
Exercício 1: Elabore um algoritmo que ilustre a
substituição de um pneu de um automóvel
Formador: Henrique Fidalgo 12
Exercício 2: Elabore um algoritmo que ilustre uma
receita culinária
Formador: Henrique Fidalgo 13
Exercício 3: Elabore um algoritmo que ilustre a utilização
de um microondas para aquecer um prato de comida.
Formador: Henrique Fidalgo 14
Quando se trata de formular algoritmospara programas de computador, temos deter em conta quais são os principais tiposde operações que um sistema podeefectuar:
Input Processamento Output
Formador: Henrique Fidalgo 15
Operações de processamento – Operadores aritméticos
Estas operações são essencialmente operações decálculo aritmético e lógico. Utilizando para issooperadores aritméticos:
Formador: Henrique Fidalgo 16
Operador Operação+ Adição
- Subtracção
* Multiplicação
/ Divisão
Consideremos assim o exemplo de um algoritmo para calcular a área de um rectângulo:
Área do rectângulo: A = C * L
A – ÁreaC – ComprimentoL - Largura
Formador: Henrique Fidalgo 17
AlgoritmoAlgoritmo para calcular
a área de um rectângulo:
Formador: Henrique Fidalgo 18
Obter L
Obter C
A = C*L
Mostrar A
Início
FIM
Exercício 4:
Elabore um algoritmo para obter a área de um triângulo:
A = b*h/2
Formador: Henrique Fidalgo 19
Exercício 5:
Elabore um algoritmo que permita calcular a soma de dois números.
Formador: Henrique Fidalgo 20
Exercício 6:
Elabore um algoritmo para obter o volume de um tanque paralelepipédico.
(Volume = altura * largura * comprimento)
Formador: Henrique Fidalgo 21
Exercício 7:
Faça um algoritmo para calcular quantas ferraduras são necessárias para equipar todos os cavalos comprados para um príncipe árabe.
Formador: Henrique Fidalgo 22
Exercício 8:
Escreva um algoritmo para ler o nome e a idade de uma pessoa, e exibir quantos dias de vida ela possui.
Considere sempre anos completos, e que um ano possui 365 dias.
Ex: uma pessoa com 19 anos possui 6935 dias.
Formador: Henrique Fidalgo 23
Exercício 9:
Alguns países medem temperaturas em grausCelsius, e outros em graus Fahrenheit. Faça umalgoritmo para ler uma temperatura Celsius eimprimi-la em Fahrenheit (pesquise como fazereste tipo de conversão).
Formador: Henrique Fidalgo 24
Operações de processamento – Operadores relacionais
Estes operadores são essencialmente utilizadosem operações de comparação:
Formador: Henrique Fidalgo 25
Operador Operação= Igualdade
> Maior que
< Menor que
>= Maior ou igual a
<= Menor ou igual a
<> Diferente
Consideremos assim o exemplo de um algoritmopara calcular se uma temperatura é negativa,positiva ou nula
Formador: Henrique Fidalgo 26
Ler T T>0?
Mostrar: Temperatura é
Positiva
SIM
T=0?NÃO
SIM
Mostrar: Temperatura é
Nula
NÃO
Mostrar: Temperatura é
NegativaInício
FIM
Exercício 7:
Elabore um algoritmo que ao ler dois números informe se estes são iguais ou diferentes.
Formador: Henrique Fidalgo 27
Exercício 8:
Elabore um algoritmo que ao ler dois números os coloque por ordem crescente (não se esqueça de informar se são iguais)
Formador: Henrique Fidalgo 28
Exercício 9:Elabore um algoritmo que permita ler o seu peso na terra, escolher umplaneta, e calcular o seu peso nesse planeta. A relação de planetas é:
A fórmula de cálculo da gravidade é:PesoNoPlaneta = PesoNaTerra / 10 * GravidadeRelativa
Formador: Henrique Fidalgo 29