782 Programação em C/C++ - estrutura básica e …Modo+de...782 ‐Programação em C/C++ -...

Preview:

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

Recommended