ALGORITMOS VARIÁVEIS E OPERADORES Prof. Angelo Augusto Frozza, M.Sc. [email protected] ESTRUTURA DE UM ALGORITMO VISUALG Algoritmo Exemplo var valor_a, valor_b, valor_c : inteiro soma : inteiro media : real Início Leia valor_a, valor_b, valor_c soma ← valor_a + valor_b + valor_c media ← Soma / 3 Escreva Media FimAlgoritmo ESTRUTURA DE UM PROGRAMA PASCAL program Exemplo; uses xxxx; const xxxx; var valor_a, valor_b, valor_c, soma : integer; media: real; begin readln (valor_a, valor_b, valor_c); soma := valor_a + valor_b + valor_c; media := soma / 3; writeln (media); end. TIPOS DE DADOS | | São os valores que uma determinada variável está apta a receber. Em outras palavras, o tipo determina a natureza do dado. y Real (somente valores reais) | y Inteiro (valores pertencentes ao conjunto dos inteiros) | y “este é um exemplo de string” Caracter (único valor envolvido por “ “) | y 12 Cadeia de Caracteres ou String (valores envolvidos por “ “) | y 12.45 “a” Lógico (também chamados de booleanos) | | verdadeiro falso TIPOS DE DADOS VisuAlg inteiro Pascal shortint Valor Mínimo Valor Máximo Tamanho (bytes) -128 127 1 byte 0 255 1 word 0 65535 2 -32768 32767 2 integer -2147483648 2.147.483.647 4 longint -2147483648 2.147.483.647 4 0 4.294.967.295 4 smallint cardinal TIPOS DE DADOS VisuAl g real Pascal real Valor Máximo Tamanh o (bytes) Dígitos significativ os -5.0 x 10324 1.7 x 10308 8 11-12 single -1.5 x 1045 3.4 x 1038 4 7-8 double -5.0 x 10324 1.7 x 10308 8 15-16 -3.6 x 104951 1.1 x 104932 10 19-20 -263 + 1 263 - 1 8 19-20 -922.337.203.685,477.5808 922.337.203.685,477.5808 extended * Valor Mínimo comp currency TIPOS DE DADOS VisuAlg caractere * Pascal char string shortstring Tamanho (bytes) Exemplo ‘A’, ‘B’ 1 ‘Técnico em informática’ de 2 até 256 255 caracteres de 2 até 256 ansistring Aproximadamente 231 caracteres de 4 bytes até 4GB widestring Aproximadamente 230 caracteres de 4 bytes até 4 GB *Pode-se limitar o tamanho de um campo usando, por exemplo, string[10]. TIPOS DE DADOS VisuAlg lógico Pascal boolean Exemplo TRUE (1), FALSE (0) Tamanho (bytes) 1 OPERADORES | Aritméticos | Relacionais | Lógicos | de Caracteres OPERADORES ARITMÉTICOS Tradicionais |\ Operado r Operação Operandos Resultado Exemplo + Adição Inteiro, Real Inteiro, Real 1+1=2 - Subtração Inteiro, Real Inteiro, Real 2-1=1 * Multiplicação Inteiro, Real Inteiro, Real 2*2=4 / Divisão (real) Inteiro, Real Real 4/2=2 DIV Divisão inteira Inteiro Inteiro 5 DIV 2 = 2 MOD Resto da divisão Inteiro Inteiro 5 MOD 2 = 1 | Prioridade: Executa 1º.: * / DIV MOD y Executa 2º.: + y Da esquerda para a direita y Parênteses do mais interno ao mais externo y OPERADORES ARITMÉTICOS | Unários: ¾ ¾ + - ex. +1 ex. -1 OPERADORES ARITMÉTICOS Funções e procedimentos numéricos pré-definidos Função Finalidade Tipo do argumento Tipo do resultado ABS(x) Valor absoluto Inteiro, Real Igual ao do argumento FRAC(x) Parte fracionária Real Real TRUNC(x) Parte inteira Real Inteiro ROUND(x) Valor arredondado Real Inteiro SQR(x) Eleva ao quadrado Inteiro, Real Igual ao do argumento SQRT(x) Raiz quadrada Inteiro, Real Real LN(x) Logaritmo natural Real Real EXP(x) Exponencial Real Real OPERADORES ARITMÉTICOS Funções e procedimentos numéricos prédefinidos Expressão ABS(-2.5) ABS(8) Resultado 2.5 8 FRAC(5.234) 0.234 TRUNC(2.78) 2 ROUND(2.78) 3 SQR(2) 4 SQR(1.5) 2.25 SQRT(4) 2.0 SQRT(2.25) 1.5 EXP(LN(2) * 3) (Potência 23) 8** ** Uses Math; ... power (2.0,3.0) ou intPower(2,3) OPERADORES RELACIONAIS ¾ = (igual) ex. 3 = 3 (verdadeiro) ¾ < > (menor) (maior) ex. 3 < 3 (falso) ¾ ex. 2 > 3 (falso) “A” > “B” (verdadeiro) ex. 3 >= 2 (verdadeiro) ¾ >= (maior ou igual) <= (menor ou igual) ¾ <> (diferente) ex. 2 <> 3 (verdadeiro) ¾ ex. 2 <= 3 (verdadeiro) OPERADORES RELACIONAIS Expressão Resultado 1=2 FALSE ‘A’ = ‘a’ FALSE 5>2 TRUE 3 <= 3 TRUE TRUE < FALSE FALSE ‘JOAO’ > ‘JOSE’ FALSE 2 + 3 <> 5 FALSE ‘comp’ <> ‘COMP’ TRUE ‘11’ < ‘4’ TRUE OPERADORES LÓGICOS A TRUE TRUE FALSE FALSE B A and B Operador TRUE TRUE A or B not A TRUE Operação FALSE FALSE not FALSE TRUE and FALSE FALSE or FALSE TRUEnão (negação) FALSE TRUE e (conjunção) TRUE FALSE FALSEou (disjunção) TRUE TRUE Prioridade Operadores 1ª NOT 2ª AND 3ª OR 4ª = > < >= Exemplo: ( A > B ) OR ( B = C ) <= not B FALSE TRUE <> OPERADORES DE CARACTERES | Concatenação: ¾ + ex. “Rio ” + “de ” + “Janeiro” = “Rio de Janeiro” “Nome” + “ “ + “Sobrenome” “João” + “ ” + “da Silva” = “João da Silva” VARIÁVEIS E CONSTANTES | | | Definição: y Espaço de memória para armazenar um dado. y Possui um nome e um tipo (de dado). Variáveis: y Valores podem mudar; Constantes: y Valores nunca mudam; DECLARAÇÃO | DE VARIÁVEIS Exemplo: var idade : integer; nome: string; preco : real; salario : currency; sexo : char; opcao : boolean; cpf : string; DECLARAÇÃO DE CONSTANTES | Exemplos: const PI = 3.1415; BRANCO = ‘ ’; OK = TRUE; VALOR_A = 3; EMPRESA = ‘Cia do Computador’; SINALIZADOR = FALSE; COMANDOS BÁSICOS | Leitura read (variavel); y readln (variavel); y read (variavel, variavel); y readln (variavel, variavel); ¾ | Atribuição ¾ | variavel_a := expressao; Escrita write (variavel); ¾ writeln (variavel); ¾ FERRAMENTA DE DESENVOLVIMENTO | Lazarus http://wiki.lazarus.freepascal.org/Main_Page/pt http://lazarus.codigolivre.org.br/ | Opcionalmente pode-se também usar o ambiente Delphi ou outra ferramenta que suporte Pascal ou Object Pascal.