LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE II Prof. Dr. Daniel Caetano 2013-1
Material de Estudo Material Notas de Aula Apresentação Material Didático Acesso ao Material http://www.caetano.eng.br/ (Aula 4) http://www.caetano.eng.br/ (Aula 4) Lógica de Programação Fundamentos da Programação de Computadores, páginas 4 a 8, 12 e 13.
Objetivos Apresentar, na prática, os diferentes níveis de detalhamento de algoritmo Apresentar o formato do português estruturado Capacitar o aluno para escrever algoritmos sequenciais em português estruturado Exercício Lista Aula 4!
A ANALOGIA DO PROGRAMA DE COMPUTADOR
Analogia Relação Chefe-Funcionário-Cliente
Analogia Relação Chefe-Funcionário-Cliente Leve um café para o cliente!
Aja como Chefe! Programar: dar ordens ao computador Como resolver um problema? Que dados ele precisa pedir ao usuário? Que cálculos ele faz com esses dados? Qual resultado ele deve imprimir? Ordens: imperativo Leia! Calcule! Escreva!
Dando Ordens Ensinar o computador a multiplicar por dois um número fornecido pelo usuário: Leia um número digitado pelo usuário Multiplique este número por dois Escreva o resultado
O QUE FAZEM ESSES PROGRAMAS?
O que faz esse programa? Escreva Olá!
E esse programa? Escreva Olá! Escreva Eu sou o computador!
E esse programa? Escreva Olá! NUMERO <- 2 Escreva O número da sorte é: Escreva NUMERO
E esse outro? Escreva Digite seu nome Leia NOME Escreva Seu nome é: Escreva NOME
E esse outro? Escreva Digite sua idade Leia IDADE Escreva Há 10 anos você tinha: Escreva (IDADE 10)
NÍVEIS DE DETALHAMENTO
Qual linguagem usar? Aula passada: Linguagem natural Fluxograma Nesta aula? Português Estruturado (Portugol) Por que começamos assim? Facilitar o aprendizado!
Nível de Detalhamento? Por quê? Diferentes níveis de detalhamento Linguagem natural Fluxograma Português estruturado Detalhamento Aumenta
Algoritmo Mais Simples do Mundo Linguagem Natural 1. Escreva Olá! Português Estruturado Algoritmo Imprime Olá Escreva Olá! Fluxograma Início Olá! Fim
Algoritmo Mais Simples do Mundo Linguagem Natural 1. Escreva Olá! Português Estruturado Algoritmo Imprime Olá Escreva Olá! Fluxograma Início Olá! Fim Aumentou o detalhamento: Agora são indicados o início e o fim do programa
Algoritmo Mais Simples do Mundo Linguagem Aumentou Natural o detalhamento: Agora são 1. Escreva Olá! indicados o nome do programa e a área de código Fluxograma Início Português Estruturado Algoritmo Imprime Olá Escreva Olá! Olá! Fim
Multiplicar um Número por Dois Linguagem Natural 1. Leia um número 2. Multiplique o número por dois 3. Imprima o valor Fluxograma Início Digite um Numero: Fim Mult:, M Português Estruturado Algoritmo Multiplicação Inteiro N, M Escreva Digite No.: Leia N M 2 * N Escreva Mult:, M N M = 2* N
Multiplicar um Número por Dois Linguagem Natural 1. Leia um número 2. Multiplique o número por dois 3. Imprima o valor Fluxograma Início Digite um Numero: N Fim Mult:, M M = 2* N Português Estruturado Algoritmo Multiplicação Inteiro N, M Aumentou o Escreva detalhamento: Digite No.: Leia indicação N das variáveis, explicitação M 2 * N das Escreva operações Mult:, M e definição da forma da impressão
Multiplicar um Número por Dois Linguagem Natural Aumentou o 1. Leia um número detalhamento: 2. Multiplique o declaração das variáveis número por dois (com tipo) 3. Imprima o valor Fluxograma Início Digite um Numero: Fim Mult:, M Português Estruturado Algoritmo Multiplicação Inteiro N, M Escreva Digite No.: Leia N M 2 * N Escreva Mult:, M N M = 2* N
Somando Dois Números Linguagem Natural 1. Leia dois números 2. Some os dois números 3. Imprima a soma Fluxograma Início N1, N2 S = N1 + N2 Fim Soma:, S Português Estruturado Algoritmo Soma 2 Números Inteiro N1, N2, S Escreva Digite No.: Leia N1 Escreva Outro N.: Leia N2 S N1 + N2 Escreva Soma:, S
Somando Dois Números Linguagem Natural 1. Leia dois números 2. Some os dois números 3. Imprima a soma Fluxograma Início N1, N2 S = N1 + N2 Fim Soma:, S Português Estruturado Algoritmo Soma 2 Números Inteiro N1, N2, S Escreva Digite No.: Leia N1 Escreva Outro No.: Leia N2 S N1 + N2 Escreva Soma:, S
Calculando o Salário de Horista Linguagem Natural 1. Leia o valor da hora de trabalho, em R$ por hora 2. Leia o número de horas trabalhadas 3. Calcule o salário total, multiplicando o número de horas pelo valor da hora 4. Imprima o salário total Fluxograma Início VH, HT ST = HT * VH Salário:, ST Fim
Calculando o Salário de Horista Fluxograma Início VH, HT ST = HT * VH Salário:, ST Fim Português Estruturado Algoritmo Calcula salário de horista Real VH, HT, ST Escreva Digite valor/hora (R$/h): Leia VH Escreva Digite horas trabalhadas: Leia HT ST HT * VH Escreva Salário:, ST
Índice de Massa Corporal Linguagem Natural 1. Leia o peso do sujeito, em kg 2. Leia a altura do sujeito, em metros 3. Calcule o IMC, dividindo o peso pelo quadrado da altura 4. Imprima o IMC Fluxograma Início P, A IMC = P / A 2 IMC:, IMC Fim
Índice de Massa Corporal Fluxograma Início P, A IMC = P / A 2 IMC:, IMC Fim Português Estruturado Algoritmo Calcula IMC Real P, A, IMC Escreva Digite peso, em Kg: Leia P Escreva Digite altura, em metros: Leia A IMC P / (A * A) Escreva IMC:, IMC
O PORTUGUÊS ESTRUTURADO
Estrutura do Programa Todo programa em Português Estruturado tem duas partes importantes: 1. A Declaração (Nome do algoritmo) 2. O Código (Algoritmo)
Estrutura do Programa A ação ocorre na área de código Onde será colocado nosso programa Nessa área, daremos ordens ao computador
Estrutura do Programa Declarando a variável A para números REAIS Real A
Estrutura do Programa A declaração de variáveis tem sempre o seguinte formato: Declarando a variável A para números REAIS TipoDaVariável NomeDaVariável Real A
Estrutura do Programa A declaração de variáveis tem sempre o seguinte formato: Declarando a variável A para números REAIS TipoDaVariável NomeDaVariável Real A
Estrutura do Programa Declarando a variável A para números REAIS Declarando também a variável B para REAIS Real A, B
Estrutura do Programa Podemos declarar mais de uma variável do mesmo tipo em uma única linha, separandoas por vírgulas Declarando a variável A para números REAIS Declarando TipoDaVariável também Variável1, a variável Variável2 B para REAIS Real A, B
Estrutura do Programa Declarando a variável A para números REAIS Declarando também a variável B para REAIS Agora, a variável C para números INTEIROS Real A, B Inteiro C
Estrutura do Programa Para declarar variáveis de tipos diferentes, é Declarando a variável A para números REAIS necessário declarar em linhas diferentes Declarando também a variável B para REAIS Agora, a variável C para números INTEIROS Real A, B Inteiro C
Estrutura do Programa Declarando a variável A para números REAIS Declarando também a variável B para REAIS Agora, a variável C para números INTEIROS Real A, B Inteiro C Simplificadamente, os tipos de variáveis são: INTEIRO REAL LOGICO CARACTERE/LITERAL
Há regras para os NOMES das variáveis: Estrutura 1. Não do podem Programa ter espaços 2. Não podem iniciar com números Declarando a variável A para números REAIS 3. Não podem usar caracteres especiais Declarando também (acentos a variável etc.) B para REAIS 4. Agora, Não podem a variável ser C uma para palavra números da INTEIROS linguagem (REAL ou, por exemplo) Incio Real A, B Inteiro C
Área de Código Tarefa mais comum: escrever texto na tela Escrever Uma frase qualquer Escreva Uma frase qualquer
Área Uma de frase Código qualquer Tarefa mais comum: escrever texto na tela Escrever Uma frase qualquer Escreva Uma frase qualquer
Área de Código Tarefa mais comum: escrever texto na tela Escrever Uma frase qualquer Escrever o número 1934 Escreva Uma frase qualquer Escreva 1934
Área Uma de frase Código qualquer1934 Tarefa mais comum: escrever texto na tela Escrever Uma frase qualquer Escrever o número 1934 Escreva Uma frase qualquer Escreva 1934
Área de Código Tarefa mais comum: escrever texto na tela Escrever Uma frase qualquer e pular linha Escrever o número 1934 Escreva Uma frase qualquer Escreva fiml Escreva 1934
Área Uma de frase Código qualquer 1934 Tarefa mais comum: escrever texto na tela Escrever Uma frase qualquer e pular linha Escrever o número 1934 Escreva Uma frase qualquer Escreva fiml Escreva 1934
Área de Código Vamos fazer algo mais complexo Escrever 2 + 3 = Escrever o resultado de 2+3 Escreva 2 + 3 = Escreva 2+3
Área 2 + de 3 = 5 Código Vamos fazer algo mais complexo Escrever 2 + 3 = Escrever o resultado de 2+3 Escreva 2 + 3 = Escreva 2+3
Área 2 + de 3 = 5 Código Quando mando Vamos fazer algo mais complexo escrever algo entre Escrever 2 + 3 = aspas, como 2+3=, o computador reproduz Escrever o resultado de 2+3 exatamente na tela Escreva 2 + 3 = Escreva 2+3
Área 2 + de 3 = 5 Código Esses conteúdos o Vamos fazer algo mais computador complexo conisdera Escrever 2 + 3 = como texto. O nome técnico para texto é Escrever o resultado de 2+3 string Escreva 2 + 3 = Escreva 2+3
Área 2 + de 3 = 5 Código Quando mando Vamos fazer algo mais complexo escrever algo sem Escrever 2 + 3 = aspas, como 2+3, o computador resolve e Escrever o resultado de 2+3 imprime o resultado. Escreva 2 + 3 = Escreva 2+3
Área 2 + de 3 = 5 Código O nome técnico dos Vamos fazer algo mais complexo elementos que o Escrever 2 + 3 = computador resolve antes de continuar é Escrever o resultado de 2+3 expressão Escreva 2 + 3 = Escreva 2+3
Área de Código Se quero que as impressões apareçam uma do lado da outra... Ainda assim preciso de duas linhas? Escreva 2 + 3 = Escreva 2+3
Área de Código NÃO! Podemos imprimir com uma linha só, separando as informações com vírgula Escreva 2 + 3 =, 2+3
Área 2 + de 3 = 5 Código NÃO! Podemos imprimir com uma linha só, separando as informações com vírgula Escreva 2 + 3 =, 2+3
Área Nas expressões, de Código podemos usar as operações matemáticas usuais: Soma: NÃO! Podemos + imprimir Divisão com Inteira: uma linha só, \ Subtação: separando as informações - Resto da com Divisão: vírgula % Multiplicação: * Potência: ^ Divisão: / Parênteses: () Escreva 2 + 3 =, 2+3
As regras da matemática se aplicam: Área de Código 2 + 4 * 2 = NÃO! Podemos imprimir com uma linha só, 2 separando + (4*2) as = informações com 6*2 vírgula = 2 + 8 = 10 (2 + 4) * 2 = 12 Escreva 2 + 3 =, 2+3
Área de Código Para fazer coisas mais elaboradas, podemos usar variáveis Inteiro SOMA SOMA <- 2+3 Escreva 2 + 3 =, SOMA
Área de Código O símbolo <- é Para fazer coisas mais elaboradas, chamado atribuição podemos e usar variáveis ele serve para guardar um valor em uma variável Inteiro SOMA SOMA <- 2+3 Escreva 2 + 3 =, SOMA
Área de Código Uma atribuição sempre tem o nome de uma Para fazer variável coisas do mais lado elaboradas, esquerdo... podemos usar variáveis Inteiro SOMA SOMA <- 2+3 Escreva 2 + 3 =, SOMA
Área de Código Para...e um fazer valor coisas ou mais expressão elaboradas, do lado podemos direito usar variáveis Inteiro SOMA SOMA <- 2+3 Escreva 2 + 3 =, SOMA
Área de Código Como a variável representa uma posição de memória, e a memória só armazena números, Para toda fazer expressão coisas mais é calculada elaboradas, antes podemos que seu usar variáveis resultado seja armazenado Inteiro SOMA SOMA <- 2+3 Escreva 2 + 3 =, SOMA
Isso significa que o computador resolve a linha destacada assim: Área de Código Para fazer coisas SOMA mais <- elaboradas, 2+3 podemos usar variáveis SOMA <- 5 A leitura dessa linha é SOMA recebe 2+3 Inteiro Inteiro SOMA SOMA <- 2+3 Escreva 2 + 3 =, SOMA
Área de Código Finalmente, falta vermos como ler um valor Para ler um valor, precisamos de uma variável Inteiro A Leia A
Área de Código O comando de entrada é simples: ele espera o Finalmente, falta vermos usuário como digitar ler um algo valor e Para ler um valor, precisamos guarda de na uma variável variável indicada (no caso, a variável A) Inteiro A Leia A
Área de Código Observe, entretanto, Finalmente, falta vermos que como nada ler aparecerá um valor na Para ler um valor, precisamos tela, de além uma de variável um cursor, também chamado de prompt Inteiro A Leia A
Área _ de Código Observe, entretanto, Finalmente, falta vermos que como nada ler aparecerá um valor na Para ler um valor, precisamos tela, de além uma de variável um cursor, também chamado de prompt Inteiro A Leia A
Área de Código Devemos, então, Finalmente, falta vermos como imprimir ler um uma valor Para ler um valor, precisamos mensagem de uma para variável que o usuário saiba o que ele precisa digitar Inteiro A Leia A
Área de Código Devemos, então, Finalmente, falta vermos como imprimir ler um uma valor Para ler um valor, precisamos mensagem de uma para variável que o usuário saiba o que ele precisa digitar Inteiro A Leia A
Área de Código Devemos, então, Finalmente, falta vermos como imprimir ler um uma valor Para ler um valor, precisamos mensagem de uma para variável que o usuário saiba o que ele precisa digitar Inteiro A Escreva Digite um número: Leia A
Área Digite de um Código número: _ Devemos, então, Finalmente, falta vermos como imprimir ler um uma valor Para ler um valor, precisamos mensagem de uma para variável que o usuário saiba o que ele precisa digitar Inteiro A Escreva Digite um número: Leia A
Área Digite de um Código número: _ Devemos, então, O computador irá Finalmente, falta vermos como imprimir ler um uma esperar até que valor o Para ler um valor, precisamos mensagem de uma para variável que o usuário digite algo e usuário saiba o que ele aperte a tecla enter precisa digitar Inteiro A Escreva Digite um número: Leia A
Área de Código O tipo de informação Finalmente, falta vermos que como o computador ler um valor irá Para ler um valor, precisamos aceitar, de depende uma variável do tipo da variável! Inteiro A Escreva Digite um número: Leia A
Área de Código Se a variável é inteira e Finalmente, falta vermos o usuário como ler digitar um valor 20,5 Para ler um valor, precisamos... o valor de armazenado uma variável será 20 Inteiro A Escreva Digite um número: Leia A
Área de Código Se a variável é inteira e Finalmente, falta vermos o como usuário ler digitar um valor um Para ler um valor, precisamos texto... de o uma programa variável poderá gerar um erro Inteiro A Escreva Digite um número: Leia A
Área de Código Agora que já temos um valor em A, podemos imprimi-lo Inteiro A Escreva Digite um número: Leia A Escreva O número digitado foi:, A
Área Digite de um Código número: 1357 O número digitado foi: 1357 Agora que já temos um valor em A, podemos imprimi-lo Inteiro A Escreva Digite um número: Leia A Escreva O número digitado foi:, A
EXERCÍCIOS EXTRAS
Exercício 1 Escreva, em fluxograma e português estruturado um algoritmo que receba a temperatura em o C, calcule uma temperatura 10% maior e imprima o resultado.
Exercício 1 - Solução Fluxograma Início T Português Estruturado Algoritmo Calcula Temperatura Real T, NT NT = T * 1,1 Temp:, NT Fim Escreva Digite temperatura (oc): Leia T NT T * 1.1 Escreva Temp:, NT
Exercício 2 Escreva, em fluxograma e português estruturado um algoritmo que receba a temperatura em o C e calcule a temperatura em o F, conforme a fórmula, e imprima o resultado: F = 32 + 1,8*C
Exercício 2 - Solução Fluxograma Início C Português Estruturado Algoritmo Converte oc para of Real C, F F = 32 + 1,8*C Temp of:, F Fim Escreva Digite temperatura (oc): Leia C F 32 + 1.8 * C Escreva Temp of:, F
Exercício 3 Escreva, em fluxograma e português estruturado, um algoritmo que receba uma idade (em anos), calcule, aproximadamente, a idade em dias e imprima o resultado. Atenção: use 365,25 como sendo o número de dias por ano
Exercício 3 - Solução Fluxograma Início ANOS Português Estruturado Algoritmo Converte anos em dias Real ANOS, DIAS DIAS = 365,25*ANOS Dias:, DIAS Fim Escreva Digite o no. de anos: Leia ANOS DIAS 365.25*ANOS Escreva Dias:, DIAS
CONCLUSÕES
Resumo Escrever um algoritmo de computador requer formalização As diferentes representações nos obrigam a diferentes níveis de formalização e detalhe O Português Estruturado tem um conjunto de regras que precisa ser seguido TAREFA! Lista Aula 4!
Próxima Aula Como testar isso? Usaremos o Português Estruturado como base Para construir um programa C/C++ que pode ser executado!
PERGUNTAS?
BOM DESCANSO A TODOS!