ALGORITMOS – AULA 2 Profª Amanda Gondim LINEARIZAÇÃO DE EXPRESSÕES Para a construção de algoritmos que realizam cálculo matemáticos, todas as expressões aritméticas devem ser linearizadas, ou seja, colocadas em linhas. Ex: → ((2/3 – (5 – 3)) + 1)*5 2 OPERADORES ARITMÉTICOS PORTUGUÊS ESTRUTURADO + * / ^ Algoritmos OPERADORES ARITMÉTICOS Adição Subtração Multiplicação Divisão Exponenciação 3 OPERADORES RELACIONAIS OPERADORES RELACIONAIS Maior Menor Maior ou igual Menor ou igual Igual Diferente PORTUGUÊS ESTRUTURADO > < >= <= = <> 4 OPERADORES RELACIONAIS Exemplo: 2 + 5 > 4 resulta VERDADEIRO 3 <> 3 resulta FALSO 5 OPERADORES LÓGICOS OPERADORES LÓGICOS PORTUGUÊS ESTRUTURADO E Adição lógica Negação OU NAO Algoritmos Multiplicação lógica SIGNIFICADO Resulta VERDADEIRO se ambas as partes são verdadeiras Resulta VERDADEIRO se uma das partes é verdadeira Nega uma afirmação, invertendo seu valor lógico: se for VERDADEIRO torna-se FALSO, se for FALSO, tornase VERDADEIRO 6 OPERADORES LÓGICOS B AEB A OU B NÃO A NÃO B VERDADEIRO VERDADEIRO VERDADEIRO VERDADEIRO FALSO FALSO VERDADEIRO FALSO FALSO VERDADEIRO FALSO VERDADEIRO FALSO VERDADEIRO FALSO VERDADEIRO VERDADEIRO FALSO FALSO FALSO FALSO FALSO VERDADEIRO VERDADEIRO Algoritmos A 7 OPERADORES LÓGICOS Exemplo: (2 + 5 > 4) E (3 <> 3) resulta FALSO, pois VERDADEIRO e FALSO resulta FALSO (2 > 3) ou (3 < 2) e (2 < 3) resultado é FALSO (2 > 3) e (3 < 2) ou (2 < 3) resultado é VERDADEIRO 8 TIPOS DE DADOS TIPO INTEIRO REAL CARACTERE DESCRIÇÃO Representa valores inteiros Ex: 10; 5; -5; -10 Representa valores reais Ex: 10; 15.5 -14.67 Representa texto (sequência ou cadeia de caractere) entre aspas duplas Ex: “Esta é uma cadeira de caracteres”; “B”; “1234”; “casa21” Obs: Nos números reais, a parte decimal é separada da parte inteira por um ponto (.) e não por uma virgula (,) 9 FORMAÇÃO DE IDENTIFICADORES Os identificadores são os nomes das variáveis, dos programas, das constantes. As regras para a formação dos identificadores são: Os caracteres que você pode utilizar são: os números, as letras maiúsculas e minúsculas e o underline. O primeiro caractere deve ser sempre uma letra. Não são permitidos espaços em branco e caracteres especiais (@, $, +, -, %, !). Não podemos usar palavras reservadas nos identificadores, ou seja, palavras que pertençam a uma linguagem de programação. 10 FORMAÇÃO DE IDENTIFICADORES Exemplo de identificadores válidos: A a nota NOTA a32 NoTa1 MATRICULA nota_1 IDADE_FILHO 11 FORMAÇÃO DE IDENTIFICADORES Exemplo de identificadores inválidos: 5b : por começar com número e 12 : por conter espaço em branco x – y : por conter espaço em branco e caractere especial prova 2n : por conter espaço em branco nota(2) : por conter caracteres especiais () para : por ser palavra reservada se : por ser palavra reservada algoritmo : por ser palavra reservada 12 ALGUMAS PALAVRAS RESERVADAS PALAVRAS RESERVADAS abs fimenquanto ou algoritmo fimpara para caracter fimrepita passo debug fimse pausa e inicio pi enquanto int quad entao leia raizq escreva literal rand exp logico repita faca mensagem se falso nao senao fimalgoritmo numerico verdadeiro 13 OPERADOR DE ATRIBUIÇÃO Para “colocar” um valor em uma variável dentro de um algoritmo, utilizamos o operador de atribuição. O operador de atribuição é representado por uma seta (<-) apontando para a esquerda. Ex: Peso <- 78.7 // Este comando atribui à variável Peso o valor 78.7. Nome <- "João da Silva" valor "João da Silva". Achei <- FALSO FALSO. // Este comando atribui à variável Nome o // Este comando atribui à variável Achei o valor 14 LINHAS DE COMENTÁRIO Os comentários são declarações não compiladas que podem conter qualquer informação textual que você queira adicionar ao código-fonte para referência e documentação de seu programa. São representados por duas barras normais ( // ). Todo o texto que você digitar após as duas barras será comentário. Ex: // Este método calcula o fatorial de n...x <- y; // Inicializa a variável x com o valor de y 15 COMANDO DE ENTRADA É utilizado para receber dados digitados pelo usuário, que serão armazenados em variáveis. Este comando é representado pela palavra LEIA. Ex: leia (X) // O valor digitado pelo usuário será armazenado na variável X. Ex: leia (Y) // O valor digitado pelo usuário será armazenado na variável Y 16 COMANDO DE SAÍDA É utilizado para mostrar dados na tela ou na impressora. Este comando é representado pela palavra ESCREVA, e os dados podem ser conteúdos de variáveis ou mensagens. Ex: escreva (“O valor de X é: “) mensagem “O valor de X é:” Ex: escreva (“Conteúdo de Y = “, Y) // mostra a mensagem “Conteúdo de Y = ” e em seguida o valor armazenado na variável Y. // mostra a 17 COMANDO DE SAÍDA No Visualg existem dois comandos escreva com finalidades diferentes quando usado consecutivamente. Escreval (“xxx“) //Mostra o primeiro resultado na mesma linha depois em linhas diferentes. Escreva (“yyy”) //Mostra o resultado na mesma linha, mas em colunas diferentes. 18 USANDO O VISUALG O software Visualg é um editor e interpretador de algoritmo e tem como objetivo ajudar aos alunos iniciantes em programação exercitarem seus conhecimentos num ambiente próximo da realidade de uma linguagem de programação. 19 TELA PRINCIPAL DO VISUALG Algoritmos 1. Menu 2. Barra de tarefas 3. Barra de Execução de Algoritmo 4. Editor de textos 5. Visualizador de variáveis 6. Simulador de saída 7. Barra de status. 20 EXERCÍCIOS Teste usando o programa “Visualg” os algoritmos feitos na aula anterior. 1. Somar três números 2. Multiplicação de dois números 3. Divisão de dois números 4. A média aritmética de um aluno e mostrar a situação, que pode ser aprovado ou reprovado. 21 PORTUGUÊS ESTRUTURADO Somar três números ALGORITMO Soma var A, B, C, D: inteiro inicio escreva (“Digite o valor de A: ”) leia (A) escreva (“Digite o valor de B: ”) leia (B) escreva (“Digite o valor de C: ”) leia (C) D <- A + B + C escreva (“D= ”, D) fimalgoritmo 22 PORTUGUÊS ESTRUTURADO Multiplicação de dois números ALGORITMO “Multiplicacao” var M, N1, N2: inteiro inicio escreva (“Digite o valor de N1: ”) leia (N1) escreva (“Digite o valor de N2: ”) leia (N2) M <- N1 * N2 escreva (“M = ”, M) fimalgoritmo 23 PORTUGUÊS ESTRUTURADO Divisão de dois números ALGORITMO Divisao var M, N1, N2: inteiro inicio escreva (“Digite o valor de N1: ”) leia (N1) escreva (“Digite o valor de N2: ”) leia (N2) M <- N1 / N2 escreva (“M = ”, M) fimalgoritmo 24 PORTUGUÊS ESTRUTURADO A média aritmética de um aluno e mostrar a situação, que pode ser aprovado ou reprovado. ALGORITMO Media var M, N1, N2: real inicio escreva (“Digite o valor de N1: ”) leia (N1) escreva (“Digite o valor de N2: ”) leia (N2) M <- (N1 + N2) / 2 escreva (“M = ”, M) se (M >= 7) entao escreva(“ O aluno esta Aprovado ") senao escreva(“ O aluno esta Reprovado ") fimse fimalgoritmo 25