2 Fluxogramas e Pseudocódigo 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 Ler (Comp, Larg) Area <- Comp*Larg Escrever (Area) Fim 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 Ler (Comp, Larg) Area <- Comp*Larg Escrever (Area) Fim 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 usarse o travessão por baixo ( _ ) por exemplo: Total_Mes As strings ou cadeias de caracteres costumam ser incluidas entre aspas ( ) ou apóstrofes ( ). 11
Exercício - 10 1. Considere o algoritmo anteriormente desenvolvido que calculava o valor da área de um triângulo a partir da introdução do comprimento da base e da altura. a) Escreva o algoritmo em pseudocódigo, utilizando as convenções habituais. 12
Exercício - 11 Para cada um dos exercícios seguintes apresente o algoritmo e o respectivo pseudocódigo: 1. Dado um conjunto de seis valores a fornecer pelo utilizador, determine a média desses valores. 13
Exercício - 12 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. 14
Exercício - 13 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 Quantos Kms faz o carro com um litro de combustível 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 algoritmo e o pseudocódigo 15
Estrutura de decisão em pseudocódigo e fluxograma Fluxograma Pseudocódigo SE Condição ENTÃO Bloco de Instruções Falso Verdade SENÃO Bloco de Instruções Se <Condição> Então <bloco de instruções> [ Senão <bloco de instruções>] FimSe 16
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) Escrever (Temperatura Positiva) Verdade FIM 17
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 18
Exercício 13 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. 19
Exercício 14 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 esta é positiva ou negativa. 2. Considereumaescalade0a20emquede10a 20 a média é positiva. 20