Microcontroladores Programação: fluxogramas, pseudocódigos e lógica Prof. Daniel 1
Algoritmo Pseudocódigo Também conhecido como Portugol ou Português Estruturado; As instruções são todas padronizadas; Facilita descrever o algoritmo antes de passá-lo para uma linguagem de programação; Intermediária: linguagem natural linguagem de programação; Pseudocódigo = códigofalso ; utiliza uma combinação de termos convencionais para indicar as instruções dos programas; os termos utilizados são usualmente um misto de palavras da nossa linguagem natural com palavras e notações típicas das linguagens de programação. 2
Algoritmo Pseudocódigo Vantagens: Muito parecido com uma linguagem de Programação de verdade; Tem maior proximidade com as linguagens de programação permitindo diminuir o esforço gasto no desenvolvimento/codificação; Fácil de entender e fácil de codificar depois; Independente da linguagem de programação; Desvantagem: As regras e a estrutura devem ser seguidas a riscas. Exige estudo e conhecimento das instruções. 3
Algoritmo Pseudocódigo Algumas instruções padrões: Entrada: Leia () Saída: Escreva () Se (<condição verdadeira>) então comandos (verdadeiro) senão comandos (falso) fim_se 4
Introduções de Saída Instrução escreva () Sintaxe: escreva(<lista de expressões>) Escreve alguma coisa na saída padrão (monitor) - Na linguagem Pascal, é equivalente à instrução write () - Na linguagem C, é equivalente à instrução printf() Exemplo: escreva( Olá mundo! Meu primeiro programa! ) 5
Fases de desenvolvimento Determinar o problema, defini-lo bem; Dividir a solução nas três fases: ENTRADA PROCESSAMENTO SAÍDA Exemplo: Problema: calcular a média de quatro números Dados de entrada: os números, N1, N2, N3 e N4 Processamento: somar os quatro números e dividir a soma por 4 Dados de saída: a média final N1 + N2 + N3 + N4 4 6
Estrutura de um Pseudocódigo programa < nome do programa > Var < declaração de variáveis > Const < declaração de constante > Inicio escrever ler testar calcular Fim. Comandos 7
EXERCÍCIO 1: Monte um fluxograma e um pseudocódigo para calcular a média semestral de uma aluno. O algoritmo deve ler duas notas, calcular a média dessas notas e posteriormente determinar a aprovação do aluno. O aluno estará aprovado se a média for maior ou igual a sete e reprovado caso contrário. 8
Resolução: Fluxograma EXERCÍCIO 1: Resolução Início Ler N1,N2 F M=(N1+N2)/2 M>=7 V Reprovado Aprovado Fim 9
Resolução: Pseudocódigo programa Média Var N1, N2, Média : real Início Leia N1, N2 Média (N1 + N2) / 2 Se Média < 7 Então Escreva Reprovado Senão Escreva Aprovado Fim_se Fim 10
Lógica de programação Exemplo SEQUENCIAL: Calcular a média de quatro números PSEUDOCÓDIGO: Leia N1 Leia N2 Leia N3 Leia N4 VARIÁVEIS: mais clareza no pseudocódigo MEDIA = (N1+N2+N3+N4) / 4 Escreva MEDIA VARIÁVEL 11
Exercícios 12 2) Faca um pseudocódigo que receba como entrada uma determinada temperatura em graus Celsius e mostre a temperatura em fahrenheit OBS: Fahrenheit = (9/5)*(Celsius) + 32 3) Tendo como dados de entrada a altura de uma pessoa e seu peso, construa um pseudocódigo que calcule seu peso ideal e indique se está abaixo ou acima do peso utilizando a seguinte fórmula: peso ideal = (72.7*h) 58 4) Tendo como entrada o total vendido por um funcionário no mês de abril, faça um pseudocódigo que mostre a sua comissão e salário bruto neste mês, sabendo que o seu salário base é R$1.200,00 e sua comissão é de 10% sobre o total vendido.
Estruturas de Repetição Estas estruturas permitem a repetição de um comando, ou bloco de comandos, um número determinado de vezes ou tantas vezes quantas uma condição lógica permita. Tipos de estruturas de repetição: Repetição com teste no início Repetição com teste no final Repetição com variável de controle
Repetição com o teste no início Nesta estrutura a repetição acontece enquanto uma condição lógica relacionada for verdadeira. enquanto <condição> faça {bloco ou comando} fim_enquanto;
Repetição com o teste no final Nesta estrutura a repetição acontece até uma condição lógica relacionada for verdadeira. repita {bloco ou comando} até <condição>;
Repetição com variável de controle Nesta estrutura a repetição acontece um número determinado de vezes, de forma automática. para V de v i até v f passo p faça {bloco ou comando} fim_para Onde: V é a variável de controle; vi é o valor inicial da variável V; vf é o valor final da variável V, ou seja, o valor até o qual ela pode chegar; p é o valor do incremento dado à variável V.
Simbologia Repetição com variável de controle Var Início, Fim,Incremento Intruções
Repetição com o teste no início Exemplo 1 EX.1: Monte um fluxograma e um pseudocódigo para calcular a média semestral de uma turma de alunos. O algoritmo deve ler três notas, calcular a média dessas notas e posteriormente determinar a aprovação de cada aluno. O aluno estará aprovado se a média for maior ou igual a sete e reprovado caso contrário.
Pseudocódigo programa cálculo_média var num : inteiro media, nota1, nota2, nota3: real início leia num enquanto (num > 0) faça leia nota1, nota2, nota3 media (nota1+nota2+nota3)/3 se (media >= 7) então escreva aluno aprovado senão escreva aluno reprovado fim_se num num 1 fim_enquanto fim Resolução Exemplo 1 Fluxograma Início Ler num Num>0 V media=(n1+n2+n3)/3 M>=7 F V Reprovado F Ler N1, N2, N3 Num=num-1 Fim Aprovado
Repetição com variável de controle EX.2: Monte um pseudocódigo e um fluxograma utilizando repetição do tipo variável de controle para calcular a média semestral de uma turma de alunos. O algoritmo deve ler três notas, calcular a média dessas notas e posteriormente determinar a aprovação de cada aluno. O aluno estará aprovado se a média for maior ou igual a sete e reprovado caso contrário. O valor da média de cada aluno deve ser apresentado na saída.
Pseudocódigo programa cálculo_média var num, Cont : inteiro média, nota1, nota2, nota3: real início leia num Para Cont de 1 até num passo 1 faça leia nota1, nota2, nota3 media (nota1+nota2+nota3)/3 escreva A média deste aluno e:, média se (média >= 7) então escreva aluno aprovado senão escreva aluno reprovado fim_se fim_para fim Resolução Exemplo 2 Fluxograma Início Ler num Cont 1,num,1 Ler N1, N2, N3 média=(n1+n2+n3)/3 F média M>=7 V Reprovado Fim Aprovado