Universidade Federal do Rio Grande do Norte Instituto Metrópole Digital Cursos Técnicos Introdução aos Algoritmos Aula 02 Heitor Florêncio, [email protected] Apresentação da Aula • Nesta aula você vai: – Conhecer o software “VisuAlg”. – Conhecer o que são variáveis, tipos de dados e expressões. – Conhecer algumas regras básicas para construção de algoritmos, como “nomeação de variáveis”. Introdução aos Algoritmos [Heitor Florêncio] 2 Ferramentas para Construção de Algoritmos • Formas de representação de algoritmos: – Descrição Narrativa – Fluxograma Uma opção: Utiliza o software online “Creately”, acesso em: http://creately.com/. [Gratuito para construção online] – Pseudocódigo • Software “VisuAlg” Introdução aos Algoritmos [Heitor Florêncio] 3 VisuAlg • VisuAlg: Definição do software de acordo com a empresa Apoio Informática, criadora o software VisuAlg: “A linguagem que o VisuAlg interpreta é bem simples: é uma versão portuguesa dos pseudocódigos largamente utilizados nos livros de introdução à programação, conhecida como "Portugol"”. Introdução aos Algoritmos [Heitor Florêncio] 4 VisuAlg • • • • Ambiente de Programação de Pseudocódigos Melhora o aprendizado de algoritmos Ambiente com visual simples Formado por: – Barra de Ferramentas – Editor de Texto – Simulador de Saída – Quadro de Saídas Introdução aos Algoritmos [Heitor Florêncio] 5 VisuAlg Barra de Ferramentas Editor de Texto Quadro de Saídas Introdução aos Algoritmos [Heitor Florêncio] Simulação de Saída 6 VisuAlg • • • • • Executar Passo Parar Gerar valores aleatórios Executar em modo DOS Introdução aos Algoritmos [Heitor Florêncio] 7 VisuAlg • Baseado em Portugol (pseudocódigo) • Palavras reservadas são escritas sem acentuação: – Algumas palavras: se, entao, senao, logico • Não há diferenciação entre maiúsculas e minúsculas • Os comentários são escritos após o símbolo “//” Introdução aos Algoritmos [Heitor Florêncio] 8 Conceitos de Programação • • • • • Variáveis Tipos de dados Constantes Expressões Regras Introdução aos Algoritmos [Heitor Florêncio] 9 Variáveis “Uma variável é uma posição na memória do computador, que é reservada para armazenar os dados que o algoritmo vai manipular.”[3] “Uma variável pode assumir valores diferentes, mas só pode armazenar um valor a cada instante. Além disso, o seu conteúdo pode mudar ao longo do tempo na execução do algoritmo.”[3] Introdução aos Algoritmos [Heitor Florêncio] 10 Variáveis e Tipos de Dados • Declaração: <nome_da_variavel> : <tipo_da_variavel> • Tipos de dados/variáveis: – real: [12,34 ; 0,45 ; 145 ; 145,00 ; 56] – inteiro: [43 ; 700 ; 2] – caractere: [“teste” ; “livro de programação” ; “KLM2302”] – logico: [verdadeiro ; falso] • Qualquer valor que não seja “verdadeiro”, “VERDADEIRO”, “vErdAdeiRO”, entre outros, será falso. – literal: [“teste” ; “codigo: &f%2” ; “%%-6$”] Introdução aos Algoritmos [Heitor Florêncio] 11 Operações de Atribuição • Operações de atribuição (<-) Atribuição de constante: x <- 56 (a variável “x” recebe o valor real ou inteiro 56) u <- verdadeiro (a variável “u” recebe o valor lógico verdadeiro) h <- “modelo” (a variável “h” recebe o valor literal ou caracter “modelo”) Atribuição de expressão y <- x + 5 Atribuição de variável z <- y Introdução aos Algoritmos [Heitor Florêncio] 12 Operações Aritméticas • Operações Aritméticas Adição (+) Subtração (-) Multiplicação (*) Divisão real (/) Divisão inteira(div) Resto da divisão(mod ou %) Introdução aos Algoritmos [Heitor Florêncio] 13 Operações Relacionais e Lógicas • Operações Relacionais Igualdade (=) Diferente (<>) Menor (<) Maior (>) Menor ou igual (<=) Maior ou igual (>=) • Operações Lógicas nao e ou xou Introdução aos Algoritmos [Heitor Florêncio] 14 Hierarquia de Operadores “Operadores de menor prioridade devem ser avaliados primeiro. Em caso de empate, as expressões devem ser resolvidas sempre da esquerda para a direita. Os parêntesis forçam uma prioridade e, no caso de parêntesis aninhados, os mais internos devem ser avaliados primeiro.” [3] não *, /, div, mod, e +, -, ou Operadores relacionais Introdução aos Algoritmos [Heitor Florêncio] 15 Regras de Nomeação de Variáveis • Os nomes devem ser iniciados por um caractere alfabético (letra) ou pelo caractere ‘_’. • Os nomes podem possuir números, desde que se inicie por letra. • Além de letras, números e o caractere ‘_’, não é aceito nenhum outro símbolo. Letras gregas também não são aceitas. • O nome de uma variável devem revelar seu propósito, porque existe, o que faz e como é usado. • Apesar de não haver limitações para a quantidade de caracteres que comporão o nome de uma variável, não alongue desnecessariamente os nomes. Introdução aos Algoritmos [Heitor Florêncio] 16 Regras de Nomeação de Variáveis • Exercício: Classifique os nomes do conjunto abaixo entre válidos ou não válidos. custo ; nome ; indice ; d ; salario ; 1hora ; c&a ; notas ; 1nota ; 2ºnota ; terceiraNota ; resultado ; 100% ; _teste ; teste_lab ; @salario% ; nota/2 ; remédio ; ano de nascimento ; ano_de_nascimento Introdução aos Algoritmos [Heitor Florêncio] 17 Regras de Nomeação de Variáveis • Resolução: Os nomes foram classificados em dois conjuntos, válidos e não válidos. custo ; nome ; indice ; d salario ; notas terceiraNota ; resultado _teste ; teste_lab ano_de_nascimento Válidos Introdução aos Algoritmos [Heitor Florêncio] ; ; ; ; 1hora ; c&a ; 1nota ; 2ºnota ; 100% ; @salario% ; nota/2 ; remédio ; ano de nascimento ; Não válidos 18 Modelo de um Código em VisuAlg algoritmo “nomedoAlgoritmo" // Função : // Autor : // Data : // Seção de Declarações var inicio // Seção de Comandos fimalgoritmo Introdução aos Algoritmos [Heitor Florêncio] 19 Exemplo 01 • Função do algoritmo: Calcular a área de um triângulo, recebendo como entrada a altura e base do triângulo. Sabendo que a área é dada por: (altura * base) / 2 Introdução aos Algoritmos [Heitor Florêncio] 20 Exemplo 01 • Pseudocódigo: algoritmo "Calcular a área de um triângulo" // Função : Calcular a área de um triângulo // Autor : Heitor Medeiros Florencio // Seção de Declarações var altura, base, area : real inicio // Seção de Comandos escreval("----------Calculo da Área de Triângulo----------") escreval("Digite o valor da altura do triângulo:") leia(altura) escreval("Digite o valor da base do triângulo:") leia(base) area <- (altura * base)/2 escreval("Área:", area) fimalgoritmo Introdução aos Algoritmos [Heitor Florêncio] 21 Exemplo 01 • Fluxograma: Introdução aos Algoritmos [Heitor Florêncio] 22 Referências • [1] Souza, M. et al. Algoritmos e Lógica de Programação. Ed. Thomson, 2006. • [2] Szwarcfiter, Jayme L. e Markenzon, L. Estruturas de Dados e seus Algoritmos. Ed. LTC, 1994. • [3] Material didático: Lógica de Programação. Institudo Metrópole Digital, UFRN, 2014. Introdução aos Algoritmos [Heitor Florêncio] 23 Dúvidas Introdução aos Algoritmos [Heitor Florêncio] 24