2 Fluxogramas e Pseudocódigo 18 Programação em C/C++ estrutura básica e conceitos fundamentais 1
Algoritmos em linguagem informal e em linguagens formais Voltemos a considerar alguns algoritmos que traduzem formas de resolução de problemas da vida quotidiana: A.Substituir uma lâmpada fundida a) Preparar uma lâmpada nova b) Retirar a lâmpada fundida c) Colocar a lâmpada nova d) Ligar o interruptor 2
Algoritmos em linguagem informal e em linguagens formais Sequências de operações como estas podem ser consideradas algoritmos formulados em linguagem informal. Dizemos linguagem informal porque utilizamos a nossa linguagem natural e não uma linguagem convencional com maior rigor. 3
Algoritmos em linguagem informal e em linguagens formais Os algoritmos pensados para programas de computador exigem uma formulação com maior rigor e para isso existem linguagens formais. As linguagens de programação, tal como as formas de escrita convencionais utilizadas na matemática ou em outras ciências, podem considerar-se linguagens formais. 4
Algoritmos em linguagem informal e em linguagens formais Em algoritmia, para além das linguagens de programação, são usadas outras linguagens e formas de representação das instruções ou operações que indicamos nos algoritmos, designadamente: Pseudocódigo; Fluxogramas. 5
Algoritmos em linguagem informal e em linguagens formais Consideremos o seguinte algoritmo (em linguagem informal): A.Calcular a área de um rectângulo 1. Obter valores do comprimento e da largura 2. Calcular: área = comprimento * largura 3. Apresentar o valor da área 6
Algoritmos em linguagem informal e em linguagens formais Como já vimos em secções anteriores, e pensando em termos de um sistema informático, o algoritmo anterior coloca-nos perante exemplos de operações elementares, nomeadamente: 1.Input (entrada de dados) 2.Processamento interno (cálculos) 3.Output (saída de dados) 7
Algoritmos em linguagem informal e em linguagens formais Em linguagem formal: Variáveis Area, Comp, Larg: inteiros Início Fim Ler (Comp, Larg) Area <- Comp*Larg Escrever (Area) Este tipo de linguagem formal (que se assemelha a uma linguagem de programação) costuma designar-se por pseudocódigo. 8
Algoritmos em linguagem informal e em linguagens formais Convenções utilizadas: Variáveis Area, Comp, Larg: inteiros Início Fim Ler (Comp, Larg) Area <- Comp*Larg Escrever (Area) Este tipo de linguagem formal (que se assemelha a uma linguagem de programação) costuma designar-se por pseudocódigo. 9
Algoritmos em linguagem informal e em linguagens formais Convenções utilizadas: É costume estabelecerem-se determinadas palavras que representam as principais operações que os algoritmos poderão conter. Por exemplo, já vimos, as operações básicas de entrada e saída de dados podem ser representadas por palavras como: LER para entrada de dados ESCREVER para saída de dados 10
Algoritmos em linguagem informal e em linguagens formais Variáveis Os nomes a atribuir às variáveis devem começar por uma letra e continuar com outras letras ou dígitos numéricos, sem espaços nem caracteres especiais (acentos, sinais de pontuação, etc,...). Para dar maior legibilidade pode usar-se o travessão por baixo ( _ ) por exemplo: Total_Mes As strings ou cadeias de caracteres costumam ser incluidas entre aspas ( ) ou apóstrofes ( ). 11
Fluxogramas Início Ler (Comp, Larg) Area<- Comp*Larg Escrever (Area) Fim 12
Fluxogramas Símbolos utilizados Símbolo de início ou de fim Entrada ou saída de dados Processamento interno Símbolo de decisão Linha de fluxo Connector 13
Fluxogramas Início Ler (Comp, Larg) Area<- Comp*Larg Escrever (Area) Fim 14
Exercício 1 1. Considere um algoritmo que calcule e apresente o valor da área de um triângulo a partir da introdução do comprimento da base e da altura. a) Escreva em linguagem informal, os passos ou principais operações do algoritmo. b) Escreva o algoritmo em pseudocódigo, utilizando as convenções habituais. c) Represente o algoritmo através de um fluxograma, utilizando os símbolos habituais. 15
Exercício 2 Para cada um dos exercícios seguintes apresente o fluxograma e respectivo pseudocódigo: 1. Dado um conjunto de seis valores a fornecer pelo utilizador, determine a média desses valores. 2.Determine o desconto a aplicar num determinado produto, através da introdução pelo utilizador do preço do produto e do respectivo desconto em percentagem. 16
Exercício 3 Desenvolva um software que calcule o consumo de combustível de um automóvel em uma determinada viagem. O programa deve pedir que o utilizador informe: Quantos Kms tem a viagem Quanto consome o carro num Km O preço do litro do combustível O software deverá mostrar: Quantos litros de combustível serão gastos em viagem Quanto dinheiro será gasto com a viagem. Deverá elaborar o fluxograma e o pseudocódigo 17
Estrutura de decisão em pseudocódigo e fluxograma Fluxograma Pseudocódigo SE Condição ENTÃO Bloco de Instruções Verdade Falso SENÃO Bloco de Intruções Se <Condição> Então <bloco de instruções> [ Senão <bloco de instruções>] FimSe 18
Estrutura de decisão em pseudocódigo e fluxograma Exemplo: Consideremos o exercício que calcule se uma temperatura é positiva Inicio Ler (Temp) Temp > 0 Falso Escrever (Temperatura não é positiva) Verdade Escrever (Temperatura Positiva) FIM
Estrutura de decisão em pseudocódigo e fluxograma Exemplo: Consideremos o exercício que calcule se uma temperatura é positiva Variaveis Temp: Real; Inicio Ler (Temp); Se (Temp>0) Entao Escrever ( A temperatura é positiva ); Senão Escrever ( A temperatura não é positiva ); FimSe Fim
Exercício 4 1. Elabore o fluxograma e o pseudocódigo de um software que ao introduzir a nota de uma disciplina informe se o aluno está aprovado ou reprovado na disciplina. 2. Considere uma escala de 0 a 20 em que de 9,5 a 20 o aluno deverá transitar. 21
Exercício 5 1. Elabore o fluxograma e o pseudocódigo de um software que ao introduzir as notas das disciplinas de Matemática, de Português e de Inglês de determinado aluno informe qual a sua média e se a sua média é positiva ou negativa. 2. Considere uma escala de 0 a 20 em que de 10 a 20 a média é positiva. 22