LÓGICA E LINGUAGEM DE PROGRAMAÇÃO Tópicos Preliminares OBJETIVOS DA AULA Apresentar os tipos básicos de dados a serem adotados; Definir constantes e variáveis, explicando sua utilização; Explicar as expressões aritméticas e lógicas; Conceituar o processo de atribuição; Apresentar a importância e a aplicação dos comandos de entrada e saída; Conceituar blocos lógicos. 12/07/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 2 TIPOS PRIMITIVOS • Informação é a matéria-prima que faz com que seja necessária a existência dos computadores. • Existe uma tênue diferença entre dado e informação. • Exemplo: 21 de Setembro (dado) e Dia da Árvore (informação). • Usaremos quatros tipos primitivos para a construção de algoritmos. 12/07/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 3 TIPOS PRIMITIVOS • Inteiro Toda e qualquer informação numérica que pertença ao conjunto dos números inteiros relativos (negativa, nula ou positiva). Exemplos Vejamos algumas proposições declarativas comuns em que é usado o tipo inteiro: a. Ele tem 15 irmãos. b. A escada possui 8 degraus. c. Meu vizinho comprou 2 carros novos. Enfatizando o conceito de dado, vale observar, por exemplo, o item b: 8 é um dado do tipo inteiro e a informação é associar que 8 é o número de degraus da escada. 12/07/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 4 TIPOS PRIMITIVOS • Real Toda e qualquer informação numérica que pertença ao conjunto dos números reais (negativa, nula ou positiva). Exemplos a. Ela tem 1,73 metros de altura. b. Meu saldo bancário é de R$ 215,20. c. No momento estou pesando 82,5 kg. 12/07/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 5 TIPOS PRIMITIVOS • Caractere Toda e qualquer informação composta de um conjunto de caracteres alfanuméricos: numéricos (0..9), alfabéticos (A..Z, a..z) e especiais (por exemplo, #, ?, !, @). Exemplos a. Constava na prova: “Use somente caneta!”. b. O parque municipal estava repleto de placas: “Não pise na grama”. c. O nome do vencedor é Felisberto Laranjeira. 12/07/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 6 TIPOS PRIMITIVOS • Lógico Toda e qualquer informação que pode assumir apenas duas situações (biestável). Exemplos a. A porta pode estar aberta ou fechada. b. A lâmpada pode estar acesa ou apagada. c. A resposta da pergunta deve ser sim ou não. 12/07/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 7 EXERCÍCIOS • Exercício de Fixação I 1.1 Determine qual é o tipo primitivo de informação presente nas sentenças a seguir: a. A placa “Pare!” tinha 2 furos de bala. b. Josefina subiu 5 degraus para pegar uma maça boa. c. Alberta levou 3,5 horas para chegar ao hospital onde concebeu uma garota. d. Astrogilda pintou em sua camisa: “Preserve o meio ambiente”, e ficou devendo R$ 100,59 ao vendedor de tintas. e. Felisberto recebeu sua 18ª medalha por ter alcançado a marca de 57,3 segundos nos 100 metros rasos. 12/07/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 8 CONSTANTES • Entendemos que um dado é constante quando não sofre nenhuma variação no decorrer do tempo, ou seja, seu valor é constante desde o início até o fim da execução do algoritmo, assim como é constante para execuções diferentes no tempo. • Para diferenciar os dados constantes de tipo caractere dos outros tipos, usaremos aspas duplas (“ ”) para delimitá-los. • Convencionaremos que as informações do tipo lógico poderão assumir um dos seguintes valores constantes: verdade (V) ou falsidade (F). Exemplos 5, “Não fume”, 2527, -0.58, V, “10”, verdade 12/07/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 9 VARIÁVEL • Um dado é classificado como variável quando tem a possibilidade de ser alterado em algum instante no decorrer do tempo. Exemplos A cotação do dólar, o peso de uma pessoa, o índice da inflação. • Para ilustrar a diferença entre valores constantes e variáveis usaremos um algoritmo para calcular o valor da área de uma circunferência. • A fórmula é A = π * r2, sendo que π tem valor constante de 3,1416..., independente de qual seja a circunferência. Já o valor de r, que representa o raio, é dependente da circunferência que estamos calculando, logo é variável a cada execução do algoritmo. 12/07/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 10 FORMAÇÃO DE IDENTIFICADORES • Um identificador é um nome dado para informações de caráter variável. • As regras para a formação de identificadores são as seguintes: 1. Devem começar por um caracter alfabético. 2. Podem ser seguidos por mais caracteres alfabéticos ou numéricos. 3. Não devem ser usados caracteres especiais. Exemplos a. Identificadores válidos: Alpha, X, BJ153, K7, Notas, Média, ABC, INPS, FGTS. b. Identificadores inválidos: 5X, E(13), A:B, X-Y, Nota/2, AWQ*, P&AA. 12/07/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 11 FORMAÇÃO DE IDENTIFICADORES • O diagrama a seguir resume graficamente as regras para formação de identificadores apresentadas anteriormente. 12/07/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 12 DECLARAÇÃO DE VARIÁVEIS • Em um ambiente computacional, as informações variáveis são guardadas em dispositivos eletrônicos analogamente chamados de memória. • Na memória existem inúmeras variáveis e para diferenciá-las usamos identificadores. • Cada variável pode guardar apenas um dado, sendo sempre de mesmo tipo primitivo. • Para guardar dados na memória precisamos de um nome (identificador) e do tipo de valor armazenado (inteiro, real, caracter ou lógico). • Resumidamente, precisamos declarar as variáveis que serão usadas para identificar os dados. Exemplos inteiro: X; caracter: Nome, Endereço, Data; real: ABC, XPTO, Peso, Dólar; lógico: Resposta, H286; 12/07/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 13 DECLARAÇÃO DE VARIÁVEIS • Para realizar o processo de declaração de variáveis adotaremos as seguintes regras sintáticas: 12/07/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 14 DECLARAÇÃO DE VARIÁVEIS • Exemplos inteiro: NOTA1; inteiro: X, Y; real: SALARIO; caractere: NOME, SOBRENOME; caractere: PERGUNTA; lógico: RESPOSTA; 12/07/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 15 EXERCÍCIOS • Exercício de Fixação II 2.1 Assinale os identificadores válidos: a) (X) f) KM/L l) P {0} 12/07/2016 b) U2 g) UYT m) B52 c) AH! h) ASDRUBAL n) Rua d) “ALUNO” i) AB*C o) CEP e) #55 j) 0&0 p) dia/mês IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 16 EXERCÍCIOS • Exercício de Fixação II 2.2 Supondo que as variáveis NB, NA, NMat, SX sejam utilizadas para armazenar a nota do aluno, o nome do aluno, o número da matrícula e o sexo, declare-as corretamente, associando o tipo primitivo adequado ao dado que será armazenado. 2.3 Encontre os erros da seguinte declaração de variáveis: inteiro: Endereço, NFilhos; caracter: Idade, X; real: XPTO, C, Peso, R$; lógico: Lâmpada, C; 12/07/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 17 COMENTÁRIOS • Um instrumento de grande valia para a clareza do algoritmo é o comentário. • Ele é um texto, ou simplesmente uma frase, que aparece sempre delimitado por duas barras (//). • Os comentários podem ser colocados em qualquer ponto do algoritmo onde se façam necessários. • Exemplos: // declaração de variáveis inteiro: NOTA1; caracter: NOME; // primeira nota do aluno // nome completo do aluno // continuação do algoritmo 12/07/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 18 EXPRESSÕES ARITMÉTICAS • Denominamos expressão aritmética aquela cujos operadores são aritméticos e cujos operandos são constantes ou variáveis do tipo numérico (inteiro ou real). 12/07/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 19 OPERADORES ARITMÉTICOS • Chamamos de operadores aritméticos o conjunto de símbolos que representa as operações básicas da matemática, a saber: Operador Função Exemplos + Adição 2 + 3, X + Y - Subtração 4 - 2, N - M * Multiplicação 3 * 4, A * B / Divisão 10/2, X1/X2 • Outros exemplos: a) X + Y b) TOTAL/N f) A * B + C g) 2 * NOTA 12/07/2016 c) √F1 + G2 - H h) SOMA2 d) X - Y e) √P i) TOT/M + Kx IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 20 OPERADORES ARITMÉTICOS • Para representar as operações de radiciação, potenciação, truncamento e arredondamento, usaremos as palavras-chave rad, pot, trunca e arredonda, conforme indica a tabela abaixo. Operador Função Significado Exemplos pot(x, y) Potenciação x elevado a y pot(2, 3) rad(x) Radiciação Raiz quadrada de x rad(9) trunca(x) Truncamento Parte inteira de x trunca(4,5) arredonda(x) 12/07/2016 Arredondamento Número fracionário em inteiro arredondamento(9,5) IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 21 OPERADORES ARITMÉTICOS • Usaremos outras operações matemáticas não-convencionais, porém muito úteis na construção de algoritmos, que são o resto da divisão e o quociente da divisão inteira, conforme a tabela abaixo. Operador 12/07/2016 Função Exemplos mod Resto da divisão 9 mod 4 resulta em 1 27 mod 5 resultado em 2 div Quociente da divisão 9 div 4 resulta em 2 27 div 5 resulta em 5 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 22 PRIORIDADES • Na resolução das expressões aritméticas, as operações guardam uma hierarquia entre si. Prioridade Operadores 1ª parênteses mais internos 2ª pot, rad 3ª * / div mod 4ª +- • Em caso de empate (operadores de mesma prioridade), devemos resolver da esquerda para a direita, conforme a sequência existente na expressão aritmética. Para alterar a prioridade da tabela, utilizamos parênteses mais internos. 12/07/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 23 PRIORIDADES Exemplos a. 5 + 9 + 7 + 8/4 5+9+7+2 23 b. 1 - 4 * 3/6 - pot(3,2) 1 - 4 * 3/6 - 9 1 - 12/6 - 9 1-2-9 -10 12/07/2016 c. pot(5,2) - 4/2 + rad(1 + 3 * 5) / 2 pot(5,2) - 4/2 + rad(1 + 15) / 2 pot(5,2) - 4/2 + rad(16) / 2 25 - 4/2 + 4/2 25 - 2 + 2 25 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 24 EXERCÍCIOS • Exercício de Fixação III 3.1 Supondo que A, B e C são variáveis de tipo inteiro, com valores iguais a 5, 10 e -8, respectivamente, e uma variável real D, com valor de 1,5, quais os resultados das expressões aritméticas a seguir? a) 2 * A mod 3 - C b) rad(-2 * C) div 4 c) ((20 div 3) div 3) + pot(8,2) / 2 d) (30 mod 4 * pot(3,3)) * -1 e) pot(-C, 2) + (D * 10) / A f) rad(pot(A, B/A)) + C * D 12/07/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 25 OPERADORES RELACIONAIS • Utilizamos os operadores relacionais para realizar comparações entre dois valores de mesmo tipo primitivo. Tais valores são representados por constantes, variáveis ou expressões aritméticas. • Os operadores relacionais são comuns para construirmos equações. Adotaremos como convenção para esses operadores os símbolos apresentados na tabela abaixo. 12/07/2016 Operador Função Exemplos = Igual a 3 = 3, X = Y > Maior que 5 > 4, X > Y < Menor que 3 < 6, X < Y >= Maior ou igual a 5 >= 3, X >= Y <= Menor ou igual a 3 <= 5, X <= Y <> Diferente de 8 <> 9, X <> Y IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 26 OPERADORES RELACIONAIS • O resultado obtido de uma relação é sempre um valor lógico. DIAGRAMA expressão relacional expressão literal expressão aritmética operador relacional expressão aritmética expressão literal operador relacional expressão literal constante caracter variável caracter 12/07/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 27 EXPRESSÕES RELACIONAIS Exemplos de expressões relacionais 1>2 A<3 B=4 sexo <> “M” “A” = “B” (1 + 3) <= rad(4) (A * B) >= (C * 2) pot(A, 2) <> pot(B, 3) 12/07/2016 Observações importantes: 1, 2, 3, 4: constantes do tipo inteiro A, B, C: variáveis do tipo inteiro <, >, =, <>, >=, <=: operadores relacionais rad, pot: funções matemáticas “A”, “B”, “M”: constantes do tipo caracter sexo: variável do tipo caracter +, *: operadores aritméticos IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 28 OPERADORES RELACIONAIS Exemplos a. 2 * 4 = 24 / 3 8=8 V b. 15 mod 4 < 19 mod 6 3<1 F 12/07/2016 c. 3 * 5 div 4 <= pot(3,2) / 0,5 15 div 4 <= 9 / 0,5 3 <= 18 V d. 2 + 8 mod 7 >= 3 * 6 - 15 2 + 1 >= 18 - 15 3 >= 3 V IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 29 OPERADORES RELACIONAIS • Analisando a relação numérica X + Y = Z, o resultado será verdadeiro ou falso conforme o valor da expressão aritmética X + Y seja igual ou diferente do conteúdo da variável Z, respectivamente. • Dadas as variáveis inteiras X, Y, Z e as variáveis caracter NOME e COR, observar os resultados obtidos para as relações a partir dos valores atribuídos a estas variáveis. VARIÁVEIS 12/07/2016 RELAÇÕES X Y Z COR NOME POT(X,2) + Y > Z COR = “AZUL” NOME <> “JOSÉ” 1 4 1 1 2 3 1 2 5 1 2 1 “AZUL” “VERDE” “BRANCO” “AZUL” “PAULO” “JOSÉ” “PEDRO” “JOSÉ” Falso Verdadeiro Falso Verdadeiro Verdadeiro Falso Falso Verdadeiro Verdadeiro Falso Verdadeiro Falso IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 30 OPERADORES LÓGICOS • Utilizaremos três operadores básicos para a formação de novas proposições lógicas compostas a partir de outras proposições lógicas simples. Os operadores lógicos estão descritos na tabela abaixo. Operador Função 12/07/2016 Nome em inglês Em algumas linguagens de programação não negação not ! e conjunção and && ou disjunção or || IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 31 EXPRESSÕES LÓGICAS • Denominamos expressão lógica aquela cujos operadores são lógicos ou relacionais e cujos operandos são relações ou variáveis ou constantes do tipo lógico (verdadeiro ou falso). 12/07/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 32 EXPRESSÕES LÓGICAS Exemplos de expressões lógicas não verdadeiro verdadeiro e falso falso ou verdadeiro (2 < 3) e ( 4 = 4) não (1 <> 1) ou falso A e B ou C (A ou C) e não B verdadeiro e A ou ((1+3) < 4) nome = “Danilo” 12/07/2016 Observações importantes: não, e, ou: operadores lógicos verdadeiro, falso: constantes lógicas A, B, C: variáveis do tipo lógico <, =, <>: operadores relacionais (2 < 3): expressão relacional nome: variável do tipo caracter IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 33 TABELAS-VERDADE • Tabela-verdade é o conjunto de todas as possibilidades combinatórias entre os valores de diversas variáveis lógicas, as quais se encontram em apenas duas situações (V ou F), e um conjunto de operadores lógicos. • Construiremos uma tabela-verdade com o objetivo de dispor de uma maneira prática os valores lógicos envolvidos em uma expressão lógica. A não A A B AeB A B A ou B F V F F F F F F V F F V F F V V V F F V F V V V V V V V Tabela 1 - Operação de negação Tabela 2 - Operação de conjunção 12/07/2016 Tabela 3 - Operação de disjunção IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 34 TABELAS-VERDADE Exemplos a. Se chover e relampejar, eu fico em casa. Quando eu fico em casa? b. Se chover ou relampejar eu fico em casa. Quando eu fico em casa? c. 2 < 5 e 15 / 3 = 5 Ve5=5 VeV V 12/07/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 35 TABELAS-VERDADE Exemplos d. 2 < 5 ou 15 / 3 = 5 V ou V V e. F ou 20 div (18 / 3) <> (21 / 3) div 2 F ou 20 div 6 <> 7 div 2 F ou 3 <> 3 F ou F F 12/07/2016 f. não V ou pot (3, 2) / 3 < 15 - 35 mod 7 não V ou 9 / 3 < 15 - 0 não V ou 3 < 15 não V ou V F ou V V IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 36 PRIORIDADES • Entre os operadores lógicos: 12/07/2016 • Entre todos os operadores: Prioridade Operadores Prioridade Operadores 1ª não 1ª parênteses mais internos 2ª e 2ª operadores aritméticos 3ª ou 3ª operadores relacionais 4ª operadores lógicos IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 37 PRIORIDADES - EXEMPLOS a. não ((5 <> 10/2) ou V e 2 - 5 > 5 - 2 ou V) não ((5 <> 5) ou V e -3 > 3 ou V) não (F ou V e F ou V) não (F ou F ou V) não (F ou V) 12/07/2016 b. pot(2,4) <> 4 + 2 ou 2 + 3 * 5/3 mod 5 < 0 16 <> 6 ou 2 + 15/3 mod 5 < 0 16 <> 6 ou 2 + 5 mod 5 < 0 16 <> 6 ou 2 + 0 < 0 16 <> 6 ou 2 < 0 não (V) V ou F F V IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 38 EXERCÍCIOS • Exercício de Fixação IV 4.1 Determine os resultados obtidos na avaliação das expressões lógicas seguintes, sabendo que A, B, C contêm, respectivamente, 2, 7, 3,5, e que existe uma variável lógica L cujo valor é falso (F): a) B = A * C e (L ou V) b) B > A ou B = pot(A, A) c) L e B div A >= C ou não A <= C d) não L ou V e rad(A + B) >= C e) B/A = C ou B/A <> C f) L ou pot(B, A) <= C * 10 + A * B 12/07/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 39 EXPRESSÕES LITERAIS • Uma expressão literal é aquela formada por operadores literais e operandos que são constantes e/ou variáveis do tipo literal (caracter). • Supondo que A e B são variáveis literais e que o símbolo “|” é um operador de concatenação de literais, a expressão A | B fornece como resultado um único literal formado pelo conteúdo de A seguido do conteúdo de B. Exemplo: Se A contém o literal “BOLA” e B contém o literal “PRETA”, o valor fornecido pela expressão A | B é o literal “BOLAPRETA”. 12/07/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 40 COMANDO DE ATRIBUIÇÃO • Um comando de atribuição permite-nos fornecer um valor a uma variável, em que o tipo de dado deve ser compatível com o tipo da variável. • O comando de atribuição possui a seguinte sintaxe: 12/07/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 41 COMANDO DE ATRIBUIÇÃO Exemplos lógico: A, B; inteiro: X; caracter: S; real: VALOR; 12/07/2016 A B; X 8 + 13 div 5; B 5 = 3; X 2; S “Danilo”; VALOR 9,99; VALOR rad(X) + pot(X,2); A falso; IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 42 EXERCÍCIOS • Exercício de Fixação V 5.1 Encontre os erros dos seguintes comandos de atribuição: lógico: A; real: B, C; inteiro: D; A B = C; D B; C + 1 B + C; C e B 3.5; B pot(6, 2) / 3 <= rad(9) * 4; 12/07/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 43 COMANDOS DE ENTRADA E SAÍDA • Os algoritmos precisam ser ‘alimentados’ com dados provenientes do meio externo para efetuarem as operações e cálculos que são necessários a fim de alcançar o resultado desejado. • Para essa finalidade, utilizaremos os comandos de entrada e saída. • Como esse processo é análogo a respiração humana? • No computador entram e saem dados. No meio deste processo todo há ainda a etapa de processamento de dados. • Outra analogia interessante é proveniente da culinária doméstica. 12/07/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 44 ENTRADA DE DADOS • Para que o algoritmo possa receber os dados de que necessita, adotaremos um comando de entrada de dados denominado leia, cuja finalidade é atribuir o dado a ser fornecido à variável identificada. • O comando leia segue a seguinte regra sintática: • Exemplos: leia (X); leia (A, XPTO, NOTA); 12/07/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 45 SÁIDA DE DADOS • Para que o algoritmo possa mostrar os dados que calculou, como resposta ao problema que resolveu, adotaremos um comando de saída de dados denominado escreva, cuja finalidade é exibir o conteúdo da variável identificada. • O comando escreva segue a seguinte regra sintática: • Exemplos: escreva (Y); escreva (B, XPTO, SOMA/4); 12/07/2016 escreva (“Bom dia ”, NOME); escreva (“Você pesa ”, P, “ quilos”); IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 46 BLOCOS DIAGRAMA • Um bloco pode ser definido como um conjunto de ações com uma função definida; nesse caso, um algoritmo pode ser visto como um bloco. Ele serve também para definir os limites nos quais as variáveis declaradas em seu interior são conhecidas. • Para delimitar um bloco, utilizamos os delimitadores início e fim: 12/07/2016 blocos início ação fim ; ; IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 47 BLOCOS • Exemplo início // início do bloco (algoritmo) // declaração de variáveis // sequência de ações fim. // fim do bloco (algoritmo) • Com o objetivo de explicar certas linhas importantes nos algoritmos, é recomendado usar comentários, que são dispostos após as barras duplas (//). O uso de comentários é aconselhável para aumentar a clareza dos algoritmos. 12/07/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 48 EXEMPLO DE PSEUDOCÓDIGO início inteiro: A, B, C; leia (A, B); C (A + B) * B; escreva (A, B, C); fim. Neste exemplo, após serem definidos os tipos das variáveis A, B, C, os valores de A e B serão lidos, o valor de C calculado e os valores contidos em A, B e C serão escritos. 12/07/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 49 RESUMO Os dados manipulados pelos algoritmos podem ser dos seguintes tipos: inteiro, real, caracter ou lógico. Para guardar os dados precisamos de identificadores. Os identificadores servem de rótulo para dados variáveis e constantes. Para usar uma variável é necessária primeiramente realizar a sua declaração. As expressões aritméticas, lógicas e relacionais são usadas na construção de algoritmos, sendo que as duas últimas devem resultar em um valor lógico (V ou F). Os operadores relacionais, aritméticos e lógicos são usados no desenvolvimento de expressões. Os comandos de entrada e saída são usados, respectivamente, para ler e mostrar, o valor de uma variável. 12/07/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 50 SOFTWARES VisuAlg - Editor e Interpretador de Pseudocódigos http://marciobrasil.net.br/visualg/ 12/07/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 51 REFERÊNCIAS BIBLIOGRÁFICAS FARRER, H. Algoritmos Estruturados. 3. ed. São Paulo: LTC, 1999. 260 p. FORBELLONE, A. L. V.; EBERSPACHER, H. F. Lógica de Programação: a construção de algoritmos e estruturas de dados. 3. ed. São Paulo: Prentice Hall Brasil, 2005. 232 p. 12/07/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 52