Algoritmo e Programação Tathiana E. Silva ([email protected]) Dados Os dados em um computador devem ser armazenados de acordo com o tipo de informação que se deseja representar e com o tipo de operação que será realizada com eles. Inteiro Real Caractere Lógico Dados Inteiro são os números pertencentes ao conjunto dos Inteiros, isto é, que possuem parte fracionária. Podem positivos, nulos ou negativos. Exemplos: 2, 72, 65535, 0, -2. Real não ser são os números pertencentes ao conjunto dos Reais, isto é, que podem possuir parte fracionária. Também são chamados de ponto flutuante devido à maneira como o computador os armazena. Exemplos: 2.12, −3.5, 3.141592654, 1000.52 Dados Caractere são os valores pertencentes ao conjunto de todos os caracteres numéricos (0...9), alfabéticos (a...z,A...Z) e especiais (! @ # $ % & *). Esse conjunto também é conhecido como conjunto de caracteres alfanuméricos. Exemplos: "João Francisco", "Rua Ismael Soares", "Hotel Feliz", "?" Obs: As aspas duplas (") são usadas para indicar o início e o fim das cadeias de caracteres mas não fazem parte dela. Já o espaço em branco entre as palavras é um caractere. Dados Lógico é o tipo utilizado para representar informações que só podem assumir dois valores, o valor verdadeiro (V) ou o valor falso (F). Estes valores também podem ser entendidos como: ligado/desligado, 1/0, alto/baixo, fechado/aberto, etc. Constantes e Variáveis No algoritmo existem os dados constantes e os variáveis. Um dado é constante quando seu valor não se altera, permanece o mesmo desde o início até o final da execução. Já um dado que pode ter seu valor alterado durante a execução do programa é uma variável. Por exemplo, no cálculo da área de uma circunferência (A = p r2), o valor de p é constante, pois é sempre igual a 3.1416..., e o raio r é variável, pois pode assumir diferentes valores a cada cálculo da área. Identificação de Dados Todo dado deve estar associado a um nome, um identificador. O conteúdo deste identificador será o dado em si e o seu nome será usado para acessar o dado e realizar operações com o mesmo. Identificação de Dados Regras de identificação de dados: 1. Sempre começar com uma letra ou com o caractere ’_’; 2. Pode ser seguido por um ou mais caracteres alfanuméricos; 3. Não conter caracteres especiais nem espaços com exceção do sublinhado ’_’ ; 4. Não é permitido utilizar palavras reservadas (palavras próprias da linguagem de programação, como os comandos, tipos de variáveis, etc). Identificação de Dados Exemplos de identificadores válidos: raio, _nome, R, num_clientes, BJ33f15, NumPessoasDoentes. Exemplos de identificadores inválidos: (ee), 32-vr, mil*, 12ddd, o:P Definição de Dados O primeiro passo para utilizarmos os dados é a nomeação do seu idenficador e a definição do seu tipo da seguinte forma: Variáveis <identicador1> [, <identicador2>,...] : <tipo1> <identicador3> [, <identicador4>,...] : <tipo2> Constantes <identicador1> <- <valor1> <identicador2> <- <valor2> <identicador3> <- <valor3> Definição de Dados Exemplos: Variáveis marca, modelo : caractere ano : inteiro preco : real vendido : logico Constante PI<-3.141592654 MAXIMO<-100 Atribuição de Dados Processo de atribuir ou alterar o valor dos dados de um identificador. É representada pelo símbolo =. <variável> <- <expressão> Ex: TipoVeiculo <- “motocicleta” Aceleracao <- 15.52 Massa <- 12.3 Forca <- Massa * Aceleracao Usado <- FALSO Atribuição de Dados Uma variável pode armazenar apenas um único valor por vez e sempre que um novo valor é atribuído o valor anterior é perdido. Por exemplo: Algoritmo “ex1” var I : inteiro inicio I <- 222 I <- 1000 I <- 23 fimalgoritmo Expressões Aritméticas Operadores aritméticos com valores numéricos Operação Operador Exemplo Adição + 2+3, 9+x Subtração - x-1, f(x)-2 Multiplicação * 2*x, 2*g(x) Divisão / 1/x, 2/f(x) Divisão Inteira \ 5\2 = 2 Resto da Divisão % 8%3 = 2 Potenciação ^ 10^x, 2^3 Expressões Aritméticas As regras de precedência de operadores são respeitadas normalmente nos algoritmos. (5+3)^2*(5-2)+ 8^2*3+8 64*3+8 192+8 200 8 ≠ ≠ 5+3^2*5-2+8 5+9*5-2+8 5+45-2+8 50-2+8 48+8 56 Expressões Lógicas Valor só pode ser verdadeiro ou falso. Operadores relacionais: Operador Símbolo Maior Menor Igual Diferente Maior ou igual Menor ou igual > < = <> >= <= Comandos de Saída Para imprimir algum tipo de informação na tela do computador usamos o comando: escreva (lista-de-expressões) Exemplos: escreva (“Olá Mundo!”) Comandos de Saída As aspas definem a sequência de caracteres mas não são impressas. Exemplos: ttt <- 123 escreva (ttt) ttt <- 123 escreva (“ttt”) Comandos de Saída É possível escrever quaisquer tipos de dados existentes, inclusive resultado de expressões. Exemplos: escreva (8<9) escreva (“8<9”) Comandos de Saída É possível especificar o número de espaços no qual se deseja escrever um determinado valor. Exemplos: x<-200 escreva ("Valor de x é ", x) x<-200 escreva ("Valor de x é ", x:10) escreve em 10 espaços Comandos de Saída Para variáveis reais, pode-se também especificar o número de casas fracionárias que serão exibidas . Exemplos: P<-3.1415 escreva ("Valor de P é ", P) P<-3.1415 escreva ("Valor de P é ", P:5:2) escreve em 5 espaços com 2 casas decimais Comandos de Saída O comando escreval (lista-de-expressões) tem o mesmo funcionamento que o escreva com a diferença de pular uma linha em seguida. Exemplos: escreva (“Olá Mundo!”) Comandos de Saída algoritmo "exemplo" var x: real y: inteiro a: caractere l: logico inicio x <- 2.41 y <- 6 a <- "teste" l <- VERDADEIRO 1-> escreval ("x", x:4:1, y+3:4) 2-> escreval (a, "ok") 3-> escreval (a, " ok") 4-> escreval (a + " ok") 5-> escreva (l) fimalgoritmo Comandos de Entrada Para receber informações de fora do algoritmo, a partir do teclado do computador usamos o comando: leia (lista-de-variaveis) As variáveis que irão armazenar os valores lidos já devem ter sido declaradas e os valores lidos devem ser compatíveis com os tipos de cada variável. Por exemplo, a informação do código de cliente deve ser um valor do tipo inteiro, a informação do nome deve ser do tipo caractere, etc. Comandos de Entrada No comando leia, a tela de execução é aberta e fica aguardando que um valor seja digitado. A leitura é encerrada quando é pressionada a tecla Enter (<┘). Exemplo: algoritmo “exemplo" var codigo_cliente: inteiro nome_cliente: caractere inicio leia(codigo_cliente) leia(nome_cliente) fimalgoritmo Comandos de Entrada É possível avisarmos o usuário sobre qual tipo de informação o algoritmo está precisando. algoritmo “exemplo" var codigo_cliente: inteiro nome_cliente: caractere inicio escreva(“Digite código do cliente e tecle <ENTER>”) leia(codigo_cliente) escreva(“Digite o nome do cliente e tecle <ENTER>”) leia(nome_cliente) fimalgoritmo Comandos de Entrada Após execução: Comandos de Entrada Quando a execução ocorre sem ser pelo DOS, o próprio VisuAlg abre uma janela informando qual valor deverá ser informado. leia(codigo_cliente) leia(nome_cliente)