Sei sulla pagina 1di 45

Ol mundo Este o meu primeiro programa em C++

UFCD 0782 - Programao em C/C++ - Estrutura bsica e conceitos fundamentais

Joaquim Frias

Introduo construo de Algoritmos


Algoritmo pode ser definido como um conjunto finito de regras bem determinadas para a resoluo de um problema atravs de um nmero finito de operaes

Introduo construo de Algoritmos


Por sua vez, programa (programa de computador) pode ser simplesmente definido como um conjunto de instrues destinadas a serem processadas num sistema informtico

Introduo construo de Algoritmos


A algoritmia, ou seja, a formulao de algoritmos permite-nos separar duas fases distintas na resoluo do problema:
A fase da formulao do algoritmo A fase da sua implementao numa linguagem de programao

Introduo construo de Algoritmos


Podemos considerar como algoritmos coisas to diversificadas como os seguintes exemplos:
A substituio de uma lmpada A substituio de um pneu A utilizao de determinado eletrodomstico Uma receita culinria A resoluo de um problema de matemtica

Introduo construo de Algoritmos


Muitos algoritmos surgem-nos como sequncias lineares de aes ou operaes, isto , ordenadas de uma forma simples uma aps outra:
Exemplo:
1. Preparar uma lmpada nova 2. Retirar a lmpada fundida 3. Colocar a lmpada nova

Introduo construo de Algoritmos


Sequncia linear de aes:
Ao 1

Ao 2

Ao 3

Introduo construo de Algoritmos


o Se nos limitarmos a estes passos, temos uma sequncia ordenada de forma linear o Porm podemos adicionar aes adicionais:
4. Ligar o interruptor para verificar se a nova lmpada acende ou no 5. Se a lmpada acender, podemos dar o processo por concludo, se no acender, teremos de repetir os passos 1 a 4.

Introduo construo de Algoritmos


o Com isto, passamos a ter uma sequncia que j no se mantem numa simples ordem linear o Em determinada altura surge uma condio associada palavra SE:
SE a condio se verificar (se a lmpada acender), damos o processo por concludo SE a condio no se verificar (se a lmpada no acender), teremos de repetir os passos anteriores

Algoritmo
Sequncia linear de aes:
Ao 1

Ao 2

Falso

Ao 3

Condio

Verdade
Ao 4

Algoritmo Troca de Lmpada


Preparar lmpada nova

Retirar lmpada fundida

No

Colocar lmpada nova

Acende?

Sim
Fim

Exerccio 1
Elabore um algoritmo que ilustre a substituio de um pneu de um automvel

Identificar que o pneu furou

Desapertar a meio termo os parafusos

Guardar as ferramentas e o pneu furado, limpar as mos

Travar o carro

Colocar o macaco e levantar o carro

Ligar 4 piscas

Desligar 4 piscas Seguir caminho

Desapertar os parafusos e tirar o pneu Colocar o pneu suplente e apertar os parafusos Colocar o pneu furado no arranjo

Vestir colete e colocar o tringulo

Tirar ferramentas e o pneu suplente

Exerccio 2
Elabore um algoritmo que ilustre uma receita culinria

Procurar na internet como fazer uma gelatina

J se pode comer?

Por meio litro de gua a ferver Abrir os 2 pacotes de gelatina e por no recipiente e juntar a gua fervida e mexer Preparar um recipiente com meio litro de gua fria ou gelo

Esperar que arrefea e depois por no frigorfico sim

Verificar se est bem mexida

no

Mexer mais um pouco

Exerccio 3
Elabore um algoritmo que ilustre a utilizao de um micro-ondas para aquecer um prato de comida

Aquecer comida no micro-ondas


Abrir o microondas e enfiar o prato l dentro

Tapar o prato com a proteco, ligar o microondas

no

Verificar se est quente?

sim

Comer sem queimar a lngua

Escolher a temperatura e o tempo

*Quando se trata de formular algoritmos para

programas de computador, temos de ter em conta


quais so os principais tipos de operaes que um

sistema pode efetuar:


Input Processamento Output

Operaes de processamento Operadores aritmticos Estas operaes so essencialmente operaes de clculo aritmtico e lgico. Utilizando para isso operadores aritmticos:

Operador
+ -

Operao
Soma Subtrao

* /

Multiplicao Diviso

Consideremos assim o exemplo de um algoritmo para calcular a rea de um retngulo: rea do retngulo: A = C * L
A rea C Comprimento L - Largura

Algoritmo para calcular a rea de um retngulo:


Obter C

Obter L

A=C*L

Mostrar A

Exerccio 4
Elabore um algoritmo para obter a rea de um tringulo: A = b*h/2

A rea b Base h - Altura

Clculo da rea de um tringulo


Obter b imput 5 Obter h 10

A=b*h/2

processamento

rea = b*h/2

A = 10*5/2 Mostrar A output A= 25

Exerccio 5
Elabore um algoritmo para obter que permita obter a soma de dois nmeros

Algoritmo para calcular a soma de 2 nmeros:


Obter A

Obter B

C=A+B

Mostrar C

Operadores relacionais
Operador
= > < >= <= <>

Operao
Igualdade Maior que Menor que Maior ou igual a Menor ou igual a Diferente

Consideramos assim o exemplo de um algoritmo para calcular se uma temperatura negativa, positiva ou nula
Mostrar: Temperatura Negativa No Ler T T>0 ? No T = 0?

Incio

Sim Mostrar: Temperatura Positiva

Sim Mostrar: Temperatura nula

Temperatura mdia = temperatura mxima + temperatura mnima 2 Tm = 30+10 = 20 2


Ver qual a temperatura mxima
input

E encontramos o resultado

output

Encontrar a temperatura mnima

Soma-se a temperatura mxima com a mnima e com a soma divide-se por 2

processamento

Disciplinas D1+ D2+D3

OBTER A NOTA DO D1 + D2+ D3

SOMA-SE TUDO E DIVIDE-SE POR 3

E TM-SE O RESULTADO

Valor pago por andar de autocarro por ms


Obter o valor do autocarro por viagem

Obter no ms quantas viagens fiz

N Viagens * valor por viagem

Mostrar resultado

Algoritmo para obter o volume de um tanque paraleleppedo

Volume = altura * largura * comprimento

Obter altura

MOSTRAR V

Obter largura

Obter comprimento

V =A* L* C

Elabore um algoritmo que ao ler dois nmeros informe se estes so iguais ou diferentes

OBTER N1, N2

N1=N2 ?

No

Mostrar : porque so diferentes

Sim

Mostrar: porque so iguais

Soma

LER A E B

Input

C=A+B

ESCREVER C

Output

Processamento

Smbolos Utilizados
Smbolo de Inicio ou de Fim Entrada ou sada de dados

Processamento Interno

Smbolo da Deciso

Linha de Fluxo

Conector

Algoritmo
Inicio

Ler (Comp, Larg)

rea <- Comp*Larg

Escrever (rea)

Fim

Fluxograma de um tringulo

PSEUDOCDIGO LINGUAGEM FORMAL

Inicio

Varivel a,b,h: INTEIRO inicio

Ler (b,h)

LER(B,H); A<- B*H/2 ESCREVER (A)

A<-b*h/2

FIM

Escrever (a)

H
Fim B

Inicio

Ler (Preco_c)

Escrever ( Quantos Kms tem a viagem?)

Cg<- ck*km_v Vg<-cg* preco_c

Ler(kms) Escrever (Quanto consome o carro num km?) Ler (ck)

Escrever ( os litros de combustveis necessrios para a viagem so: cg)

(Valor gasto com a viagem :vg)

Escrever (Qual o preco do litro do combustvel)

Fim

CONTINUA

Pseudocdigo
Variveis : CG, CK, KMS_V, VG, PRECO_C: REAIS; INICIO

ESCREVER(QUANTOS KMS TEM A VIAGEM?);


LER(KMS_V); ESCREVER(QUANTO CONSOME NUM KM?);

LER(CK);
ESCREVER ( PRECO DO LITRO DE COMBUSTIVEL?); LER (PRECO_C); CG<-CK*KMS_V; VG<- CG*PRECO_C; ESCREVER ( LITROS DE COMBUSTIVEL GASTOS NA VIAGEM :,CG); ESCREVER ( O DINHEIRO GASTO NA VIAGEM :, VG); FIM

Fluxograma

Pseudocdigo

Falso SE
Condio

SENO
Bloco de Instrues

Verdade ENTO Bloco de Instrues

SE <Condio> Ento <bloco de instrues> Seno <bloco de instrues> FimSe

1- Elabore o fluxograma e o pseudocdigo de um software que ao introduzir a nota de uma disciplina informe se o aluno esta aprovado ou reprovado na disciplina. 2- Considere uma escala de 0 a 20 em que de 9,5 a 20 o aluno dever transitar. Inicio

Escrever (Qual a nota)


Ler (nota) SE a nota for < 9,5
falso verdadeiro

Passou

Reprovou

fim

Pseudocdigo

Variveis nota: real Inicio Escrever(Qual a nota); Ler (nota) SE (a nota for <9,4) Escrever ( o aluno transitou de ano com,nota, valores); SENO Escrever(o aluno no transitou de ano porque a nota foi de, nota , valores); FimSE Fim

1- ELABORE O FLUXOGRAMA E O PSEUDOCODIGO DE UM SOFTWARE QUE AO INTRODUZIR AS NOTAS DAS DISCIPLINAS DE MATEMATICA, DE PORTUGUES E DE INGLES DE DETERMINADO ALUNO INFORME QUAL A SUA MEDIA E SE A SUA MEDIA E POSITIVA OU NEGATIVA. 2- CONSIDERE UMA ESCALA DE 0 A20 EM QUe DE 10 A 20 A MEDIA POSITIVA

INICIO ESCREVER ( NOTA DE MATEMATICA) LER (NOTA DE MATEMATICA)

Escrever (Mdia positiva)


verdadeiro SE media >10

fim

ESCREVER (NOTA DE PORTUGUS) LER(NOTA DE PORTUGS) ESCREVER (NOTA DE INGLS) LER (NOTA DE INGLS)

falso

Escrever( Mdia e negativa )

media <-(nota de matemtica+nota de portugus + nota de ingls)/3

Pseudocdigo
Variveis N_MAT N_PORT, N_ING, M: REAIS: reais; Inicio Escrever ( introduzir N_MAT); LER(N_MAT); ESCREVER ( IMTRODUZIR N_PORT); LER (N_PORT); ESCREVER ( INTRODUZIR N_ING); LER (N_ING); M<-(N_MAT+ N_PORT+N_INGL)/3; SE (M>,10) ENTO ESCREVER ( A MDIA POSITIVA); SE NO ESCREVER ( A MDIA NEGATIVA); FIMSE

Converso de euros em dlares


Inicio Ler(Valor em dlar) Escrever(Introduzir valor em Euros) Cambio(Valor_em_e uros*valor_cmbio_e m_dolares) Ler( Valor em Euros) Escrever(O valor do cambio , cambio)

Escrever(Valor converso para dlares) Fim

Exerccio Converso moeda de euro para dlar

Variaveis valor_euros, valor_conv_dolar, cambio; Inicio escrever(valor em euros); ler(valor em euros); escrever(valor converso em dolares); ler(valor_conv_dolar); cambio<-valor_euros*valor_conv_dolar; Escrever(cambio); fim

1 Euro = 1,3511 Dlares norte-americanos

Potrebbero piacerti anche