Material produzido por professores da UFABC
Objetivos Aprender a sintaxe e a semântica de instruções de saída e de entrada de dados na linguagem PORTUGOL Aprender alguns operadores pra uso na parte de processamento de dados em algoritmos na linguagem PORTUGOL
RELEMBRANDO...
Conceituar Algoritmo Algoritmos - Relembrando É uma sequência finita de instruções, ordenada de forma lógica para a resolução de uma determinada tarefa ou problema. Quais as três partes de um algoritmo? Entrada, Processamento e Saída de Dados Como são compostas as frases (instruções) de um algoritmo? Geralmente por verbos no IMPERATIVO ou INFINITIVO
Algoritmo Exemplo: FRITAR UM OVO 1. Pegue a frigideira, ovo, óleo e sal 2. Coloque o óleo na frigideira 3. Acenda o fogo 4. Coloque a frigideira no fogo 5. Espere o óleo esquentar 6. Quebre o ovo 7. Despeje o ovo no óleo quente 8. Coloque o sal 9. Retire quando estiver pronto 10.Desligue o fogo
Algoritmos Computacionais: Técnica para Interpretação de Enunciado
Técnica de Interpretação de Enunciado Calcular a média aritmética a partir de 3 notas. Identificando a solução: ENTRADA, PROCESSAMENTO, SAÍDA! Qual a SAÍDA de Dados? [que resultado o algoritmo deve produzir?] média Qual a ENTRADA de Dados? [quais os insumos necessários para produzir a saída?] 3 notas (nota1, nota2, nota3)
Técnica de Interpretação de Enunciado Calcular a média aritmética a partir de 3 notas. Qual a PROCESSAMENTO necessário? [para transformar as 3 notas na média?] Somar as 3 notas (soma = nota1 + nota2 + nota3) Dividir a soma por 3 (media = soma / 3) O passo seguinte é organizar as instruções numa sequência coerente: Entrada, Processamento e Saída
Escrevendo o Algoritmo Quais as instruções necessárias para fazer: ENTRADA DE DADOS? PROCESSAMENTO? SAÍDA DE DADOS? Para começar vamos aprender as instruções na linguagem PORTUGOL PORTUGOL = Português + Algoritmo Comecemos pelo mais simples: SAÍDA DE DADOS
SAÍDA DE DADOS
SAÍDA DE DADOS EXIBE UMA MENSAGEM OU RESULTADO PARA O USUÁRIO NA TELA DO COMPUTADOR. A instrução para saída de dados em PORTUGOL é: escreva ( < mensagem>, <identificador>) EXEMPLO: escreva( Alô Mundo ) escreva( A soma é igual a, soma) Note que a mensagem está entre ASPAS DUPLAS
ENTRADA DE DADOS
ENTRADA DE DADOS INTERAGE COM O TECLADO DO COMPUTADOR OBTENDO INFORMAÇÕES QUE O USUÁRIO DIGITA A instrução para entrada de dados em PORTUGOL é: leia (<identificador>) EXEMPLO: leia (nota1)
ENTRADA DE DADOS EXEMPLO: leia (nota1) Bacharelado em Ciência e Tecnologia É sempre recomendado ANTES de um LEIA, emitir uma mensagem para o usuário indicando o que ele deve digitar EXEMPLO: escreva ( Digite a primeira nota: ) leia (nota1)
ENTRADA DE DADOS EXEMPLO: leia (nota1) Bacharelado em Ciência e Tecnologia ATENÇÃO: Qualquer dado digitado no teclado precisa ser armazenado na memória do computador! Para tal, faz-se necessário a RESERVA DE MEMÓRIA através de DECLARAÇÃO DE VARIÁVEIS
DECLARAÇÃO DE VARIÁVEIS (reserva de memória)
MEMÓRIA Declaração de Variáveis As linguagens de programação permitem que os usuário atribuam nomes (identificadores) para as posições de memória da máquina nome Armário Memória do computador idade nacionalidade profissao
MEMÓRIA Declaração de Variáveis nome Uma variável é um endereço da memória RAM, representada por um identificador (nome da variável), criado pelo usuário, cujo conteúdo pode se alterar no decorrer da execução do programa Uma variável é composta por dois elementos: Identificador: nome dado pelo programador à variável Conteúdo: valor atual da variável
Identificador nome Maria Carla MEMÓRIA Declaração de Variáveis conteúdo nome idade Identificador conteúdo Identificador conteúdo idade 17 salario 1342.50 salario Uma variável assume apenas UM único valor por vez Ao alterar o salário, por exemplo, perde-se o valor anterior
MEMÓRIA Declaração de Variáveis O identificador deve ser uma palavra que reflita o conteúdo Por exemplo: idade ao invés de numero Identificador conteúdo idade 17 Identificador conteúdo numero 17
TIPOS DE DADOS
Declaração de Variáveis TIPOS DE DADOS Ao declarar uma variável é necessário informar ao computador que tipo de dado aquela gaveta pode armazenar Os tipos de dados básicos são: Inteiro - armazena números inteiros Real - armazena números com casas decimais Logico - armazena verdadeiro ou falso Caracter - armazena UMA letra ou UM caracter especial, etc. Cadeia - armazena VÁRIAS letras ou caracteres
Declaração de Variáveis TIPOS DE DADOS Os tipos de dados básicos são: inteiro, real logico caracter, cadeia Forma Geral: <tipo_de_dado> <Identificador> Exemplos: inteiro idade real nota1, nota2, nota3 caracter conceito cadeia sobrenome
PROCESSAMENTO OPERADORES BÁSICOS
Processamento - OPERAÇÕES O processamento de dados geralmente é realizado com o uso de operadores Os símbolos dos operadores aritméticos são: adição + subtração - multiplicação * divisão / Exemplos: nota1 + nota2 soma / 2 A PRECEDÊNCIA DE OPERADORES É A MESMA DA MATEMÁTICA: Multiplicação e divisão tem prioridade sobre Adição e subtração Assim na expressão 5 + 3 * 2 Primeiro processa 3 * 2 e depois soma com 5 Parênteses mudam a prioridade: Ou seja, (5+3)*2 faz com que a soma ocorra primeiro
Processamento - OPERAÇÕES Um operador importante é o de operador de atribuição que possibilita armazenar valores e resultados nas variáveis O símbolo do operador de atribuição é = (sinal de igual) Variáveis real nota1, nota2, soma caracter conceito Exemplos: soma = nota1 + nota2 media = soma / 2 conceito = A Lê-se recebe (exemplo: conceito recebe o valor A) Note que sendo conceito do tipo caracter é necessário o uso da aspas simples no conteúdo.
Exemplo de OPERAÇÕES Variáveis inteiro a, b, x, y, k real z, h x = a + b y = (a * 4) + b z = y / x k = x / 2 h = x / 2 a 5 y 30 z 2.0 k 7 h 7.0 b 10 x 15 Atenção: Note que k é inteiro e o resultado foi TRUNCADO (ficando 7 ao invés de 7.5) Atenção: Note que mesmo h sendo real o resultado foi TRUNCADO (ficando 7 ao invés de 7.5) pois tanto x como 2 são INTEIROS.
RETOMANDO O PROBLEMA Calcular média de 3 notas
Técnica de Interpretação de Enunciado Calcular a média aritmética a partir de 3 notas. SAÍDA de Dados: Média ENTRADA de Dados: 3 notas (nota1, nota2, nota3) PROCESSAMENTO: Somar as 3 notas (soma = nota1 + nota2 + nota3) Dividir a soma por 3 (media = soma / 3)
SOLUÇÃO: ALGORITMO em PORTUGOL Calcular a média aritmética a partir de 3 notas. real nota1, nota2, nota3, soma, media 1. leia (nota1) 2. leia (nota2) 3. leia (nota3) 4. soma = nota1 + nota2 + nota3 5. media = soma / 3 6. escreva (media) Note que para as operações não é necessário o uso de um verbo imperativo
ALGORITMO Solução mais completa Entrada de Dados com Mensagem para o Usuário real nota1, nota2, nota3, soma, media 1. escreva( Digite a primeira nota : ) leia (nota1) 2. escreva( Digite a segunda nota : ) leia (nota2) 3. escreva( Digite a terceira nota : ) leia (nota3) 4. soma = nota1 + nota2 + nota3 5. media = soma / 3 6. escreva ( A média é =, media) soma 18.0 nota1 5.0 nota2 6.0 nota3 7.0 media 6.0
SOLUÇÃO NO AMBIENTE PORTUGOL STUDIO
O PortugolStudio é um software interpretador de programas escritos em PORTUGOL Declaração de Variáveis
RESUMINDO...
Coisas para não esquecer: DECLARAÇÃO DE VARIÁVEIS Identificador e Tipo de Dados Exemplo: inteiro idade SAÍDA DE DADOS Comando ESCREVA Exemplo: escreva ( Digite sua Idade: ) ENTRADA DE DADOS Comando LEIA Exemplo: leia (idade)
Coisas para não esquecer: OPERADORES ARITMÉTICOS ARITMÉTICOS: + / - * Exemplo: (nota1 + nota2) / 2 OPERADOR DE ATRIBUIÇÃO ATRIBUIÇÃO: = Exemplo: media = (nota1 + nota2) / 2 AGORA É PRATICAR!!!
Parte II Exercícios Resolvidos Prof. Dr. Edson Pimentel Centro de Matemática, Computação e Cognição
Objetivos Aplicar a técnica de interpretação de enunciados para a escrita de algoritmos computacionais em PORTUGOL
Exercícios Escreva um algoritmo para calcular a distância entre duas cidades.
Calcular a distância entre duas cidades. Identificando a solução: ENTRADA, PROCESSAMENTO, SAÍDA! Qual a SAÍDA de Dados? [que resultado o algoritmo deve produzir?] distancia Qual a ENTRADA de Dados? [quais os insumos necessários para produzir a saída?] (*) Para simplificar considerar que as cidades estão numa mesma rodovia Localização das duas cidades(cidade1, cidade2)
Calcular a distância entre duas cidades. Qual a PROCESSAMENTO necessário? [para transformar as duas localizações em distancia?] Subtrair as duas quilometragens distancia = cidade2 cidade1 (*) desconsiderar o sinal negativo caso ocorra O passo seguinte é organizar as instruções numa sequência coerente: Entrada, Processamento e Saída
Solução em PORTUGOL
Calcular a distância entre duas cidades. real cidade1, cidade2, distancia 1. escreva( Digite a localização (km) da cidade 1: ) leia (cidade1) 2. escreva( Digite a localização (km) da cidade 2: ) leia (cidade2) 3. distancia = cidade2 cidade1 4. escreva ( A distancia entre as duas cidade é =, distancia) 5. escreva ( ATENÇÃO: desconsidere sinal negativo ) cidade1 162 cidade2 267 distancia 105
AGORA É PRATICAR!!!