M O D U L O 1
Linguagens de Programação
Visão Geral do Processo de
Desenvolvimento de Software
• Consiste basicamente num conjunto de atividades divididas em etapas, onde o objectivo é, ao executar estas etapas, chegar à efectiva construção de software.
Planeamento Análise Projecto Implementação Teste Manutenção Sérgio Melo
Visão Geral do Processo de
Desenvolvimento de Software
•Planeamento: na etapa de planeamento é onde deve ser
desenvolvido um plano inicial de desenvolvimento, levando em considerações questões como definição da abrangência do sistema, missão e objetivos do sistema, cronogramas de desenvolvimento, análise custo x benefício, levantamento inicial de informações etc.
Análise: também chamada de análise de requisitos, é onde deve se
obter um claro entendimento sobre o sistema. A análise proporciona a base para uma boa implementação do software. Nesta etapa são construídos os modelos do sistema.
Sérgio Melo
Visão Geral do Processo de
Desenvolvimento de Software
Projecto: também chamada de especificação do projecto, é ondepropomos uma arquitectura de implementação para o software, que atenda aos requisitos do sistema identificados na análise. Aqui passamos a nos preocupar com os diversos aspectos computacionais necessários para uma boa implementação do software. Os algoritmos dos programas a serem implementados são construídos nesta fase.
Implementação: a etapa de implementação é onde os programas
são efetivamente construídos, a partir da arquitetura de implementação feita na etapa anterior. Nesta etapa é onde a actividade de codificação ocorre de forma massiva.
Introdução à Lógica de Programação
•O que é lógica de uma forma geral?Lógica de programação é a técnica de encadear pensamentos para atingir determinado objectivo.
• A lógica de programação é necessária para pessoas que desejam
trabalhar com desenvolvimento de sistemas e programas, ela permite definir a sequência lógica para o desenvolvimento.
• A lógica trata da correcção do pensamento. Como filosofia ela procura saber por que pensamos de uma forma e não de outra.
Poderíamos dizer também que a lógica é a arte de pensar correctamente e, visto que a forma mais complexa de pensamento é o raciocínio, a Lógica estuda ou tem em vista a "correcção do pensamento". A Lógica ensina a colocar Ordem no Pensamento.
Sérgio Melo
Introdução à Lógica de Programação
Exemplo:
Todo vulcano tem orelhas pontiagudas. Spock é vulcano.
Logo, Spock tem orelhas pontiagudas.
Sequência Lógica são passos executados até atingir um objectivo ou solução de um problema.
•• SSequênciaequência LógicaLógica
Os pensamentos, podem ser descritos como uma sequência de instruções, que devem ser seguidas para se cumprir uma determinada tarefa.
Introdução à Lógica de Programação
InstruçõesInstruções
Na linguagem comum, entende-se por instruções “um conjunto de regras ou normas definidas para a realização ou emprego de algo”.
Em informática, porém, instrução é a informação que indica a um computador uma acção elementar a executar.
Instruções são um conjunto de regras ou normas definidas para a realização ou emprego de algo.
Em informática, é o que indica a um computador uma acção elementar a executar.
Convém ressaltar que uma ordem isolada não permite realizar o processo completo, para isso é necessário um conjunto de instruções colocadas em ordem sequencial lógica.
Sérgio Melo
Introdução à Lógica de Programação
InstruçõesInstruções
Na linguagem comum, entende-se por instruções “um conjunto de regras ou normas definidas para a realização ou emprego de algo”.
Em informática, porém, instrução é a informação que indica a um computador uma acção elementar a executar.
Instruções são um conjunto de regras ou normas definidas para a realização ou emprego de algo.
Em informática, é o que indica a um computador uma acção elementar a executar.
Convém ressaltar que uma ordem isolada não permite realizar o processo completo, para isso é necessário um conjunto de instruções colocadas em ordem sequencial lógica.
Introdução à Lógica de Programação
AlgoritmoAlgoritmo
Antes de utilizarmos uma linguagem de computador, é necessário organizar as acções a serem tomadas pela máquina de forma organizada e lógica, sem nos atermos as regras rígidas da sintaxe de uma linguagem. Para isto utilizaremos uma forma de escrever tais acções, conhecida como algoritmo.
Um algoritmo também pode ser comparado como uma receita culinária. Se obedecermos passo a passo as instruções da receita, chegamos sempre ao mesmo resultado.
Uma vez construído o algoritmo, podemos transportá-lo para qualquer linguagem de programação, o que nos dá uma flexibilidade para a efectiva implementação do programa.
Algoritmo consiste num conjunto lógico e finito de acções (instruções) que resolvem um determinado problema.
É uma sequência lógica de instruções que podem ser executadas.
Sérgio Melo
Introdução à Lógica de Programação
Exemplos de algoritmos:Operações básicas (adição, multiplicação, divisão e subtracção) de números reais decimais.
Manuais de aparelhos electrónicos, como um vídeo, que explicam passo-a-passo como, por exemplo, gravar um filme.
“Chupar um rebuçado”: 1. Pegar no rebuçado 2. Retirar o papel 3. Chupar o rebuçado 4. Deitar o papel no lixo “Somar dois números”:
1. Escrever o primeiro número 2. Escrever o segundo número
3. Somar o primeiro número com o segundo número 4. Devolver o resultado
Introdução à Lógica de Programação
Exemplos de algoritmos:Início
- pegue uma escada;
- coloque-a embaixo da lâmpada; - busque uma lâmpada nova;
- suba na escada com a lâmpada nova; - retire a lâmpada velha;
- coloque a lâmpada nova; - desça da escada. Fim
Os diversos algoritmos contêm características comuns:
Descrição sequencial (ordenada), cada passo corresponde a uma acção elementar clara, não devendo ocasionar ambiguidade na sua interpretação Tem um número finito de passos
Sérgio Melo
Introdução à Lógica de Programação
O algoritmo é um caminho para a solução de um problema, e em geral, os caminhos que levam a uma solução são muitos.Aprender algoritmos não se consegue a não ser através de muitos exercícios.
Algoritmos não se aprende:
Copiando Algoritmos Estudando Algoritmos Algoritmos só se aprendem: Construindo Algoritmos Testando Algoritmos Sérgio Melo
Introdução à Lógica de Programação
Exercícios de RaciocínioElabore um algoritmo em linguagem natural para resolver as situações colocadas a seguir: 1) Um homem precisa atravessar um rio com um barco que possui capacidade de transportar apenas ele e mais uma de suas três cargas, que são: um cachorro, uma galinha e um saco de milho. O que o homem deve fazer para conseguir atravessar o rio sem perder as suas cargas ?
2) Uma Torre de Hanói é formada por três discos sobrepostos transpassados por uma haste. Tendo mais duas hastes e podendo mover um disco por vez, mas nunca deixando um disco maior sobre um disco menor, como podemos passar os discos para uma outra haste ?
3) Três jesuítas e três canibais precisam atravessar um rio. No entanto dispõem apenas de um barco com capacidade para duas pessoas. Por medida de segurança não se permite que em alguma das margens do rio a quantidade de jesuítas seja inferior à quantidade de canibais. Qual a seqüência de viagens necessárias para a travessia do rio com segurança para os jesuítas ?
Sérgio Melo
Algoritmos
Regras para a construção de um algoritmo Regras para a construção de um algoritmo Utilizar apenas um verbo por frase;
Imaginar que se está a desenvolver um algoritmo para pessoas que não trabalham com informática;
Utilizar frases curtas e simples; Ser objectivo;
Procurar usar palavras que não tenham sentido duvidoso. Fases de um algoritmo
Fases de um algoritmo
Ao construir um algoritmo, precisamos primeiro dividir o problema apresentado em três fases fundamentais:
ENTRADA: São os dados de entrada do algoritmo.
PROCESSAMENTO: São os procedimentos utilizados para chegar ao resultado final.
SAÍDA: São os dados já processados
Algoritmos
Regras para a construção de um algoritmo Regras para a construção de um algoritmoImagine o seguinte problema: Calcular a média final dos alunos. Os alunos realizarão 3 provas: P1, P2 e P3. Onde:
Sérgio Melo
ENTRADA PROCESSAMENTO SAÍDA
3 3 2 1 P P P MédiaFinal= + +
Para elaborar o algoritmo proposto, faremos três perguntas:
a) Quais são os dados de entrada? R: Os dados de entrada são P1, P2 e P3 b) Qual será o processamento a ser utilizado?
R: O procedimento será somar todos os dados de entrada e dividi-los por 3: (P1+P2+P3)/3
c) Quais serão os dados de saída? R: O dado de saída será a média final
O algoritmo seria:
Algoritmo Calcular Média do aluno 1. Receber a nota da prova1 2. Receber a nota de prova2 3. Receber a nota de prova3
4. Somar todas as notas e dividir o resultado por 3 5. Mostrar o resultado da divisão
Algoritmos
Teste algoritmo (Teste algoritmo (traçagemtraçagem))
Após desenvolver um algoritmo ele deverá sempre ser testado No exemplo anterior , podia-se utilizar a seguinte tabela para o teste
Programas Programas
Programar consiste em elaborar um conjunto finito de instruções, reconhecidas pela máquina, de forma que o computador execute estas
instruções
Estas instruções possuem: Regras próprias Sintaxe própria
Linguagem tipo português ou inglês
Sérgio Melo
P1 P2 P3 MédiaFinal
Algoritmos
Exemplos de linguagens de programação: Exemplos de linguagens de programação: Pascal, C, C++, Visual Basic, Cobol, Fortran, etc. Como fazer um programa?Sérgio Melo
Problema
Algoritmo
Programa
Algoritmos
Exemplo de um algoritmo e sua tradução em L. Pascal: Exemplo de um algoritmo e sua tradução em L. Pascal:
Sérgio Melo
Algoritmo do cálculo dos múltiplos de um número: 1. Anotar o limite dos múltiplos (limite)
2. Anotar o número do qual se quer saber os múltiplos (número) 3. O primeiro múltiplo é o próprio número (múltiplo = número) 4. Enquanto o múltiplo for menor que o limite indicado fazer:
4.1. Anotar o múltiplo
4.2. O novo múltiplo será igual ao múltiplo anterior mais o número (múltiplo = múltiplo + número)
5. Fim do algoritmo.
program Multiplos (input, output);
{Este programa está escrito na linguagem PASCAL}; var Limite : integer;
Numero : integer; Multiplo : integer; begin
write (‘Qual o valor de que se quer achar os múltiplos? ‘); readln (Numero);
write (‘Qual é o limite da sequência? ‘); readln (Limite);
writeln (‘Os múltiplos de ‘,Numero, ’ são: ‘); Multiplo := Numero;
while Multiplo < Limite do begin
writeln (Multiplo); Multiplo := Multiplo + Numero; end;
Algoritmos
ExercíciosExercícios
Sérgio Melo
1. Construa o algoritmo para calcular a área de um rectângulo.
2. Faça um algoritmo para somar dois números e multiplicar o resultado pelo primeiro número.
3. Crie uma sequência lógica para tomar banho.
4. Descreva com detalhes a sequência lógica para trocar um pneu de um carro.
5. Faça um algoritmo detalhado para trocar uma lâmpada. 6. Algoritmo do calculo da hipotenusa de um triângulo rectângulo
Algoritmo área do rectângulo 1. Entrar pelo teclado o valor do lado1 2. Entrar pelo teclado o valor do lado2 3. Calcular a área A = lado1 x lado2 4. Apresentar no ecrã o valor da área
Temos que saber a fórmula: hipot= cateto12+cateto22
Introdução à Lógica de Programação
Formas de Representação de Algoritmo.Existem várias ferramentas que podem ser utilizadas para a representação de algoritmos 1. Linguagem Natural
2. Pseudocódigo
3. Fluxogramas
Linguagem Natural
A representação de algoritmos através de linguagem natural é a forma mais espontânea de os representar, pois descrevemos os seus passos utilizando a linguagem do quotidiano, escrevendo-o como um texto simples.
Exemplo:
Queremos resolver o seguinte problema: Calcular a média de todos os alunos que frequentaram uma disciplina X, a partir da leitura das notas da 1ª e 2ª prova, passando por um cálculo de média aritmética. Após a média calculada, devemos anunciar se aluno foi aprovado ou reprovado por nota. Somente estão aprovados alunos com média maior ou igual a 5,0.
Introdução à Lógica de Programação
Linguagem Natural (cont.)Representação do algoritmo em linguagem natural:
Para todos os alunos da disciplina X, faça: ler as notas da 1ª e 2ª prova, somar as notas e dividir por dois, chegando assim, ao resultado da média do aluno. Se a média do aluno for maior ou igual a 5,0, então o aluno está aprovado, senão o aluno está reprovado. Fazer para o próximo aluno.
Sérgio Melo
O problema
quanto maior a
complexidade do problema
maior a dificuldade de
entendermos o texto que procura descrever os passos do algoritmo
Introdução à Lógica de Programação
PseudocódigoPor pseudocódigo entende-se um código de escrita em que se utilizam representações simbólicas para indicar as instruções do algoritmo. Essas representações simbólicas são, usualmente, um misto de palavras da nossa linguagem natural com termos e notações típicas de uma linguagem de programação.
Exemplo:
Os algoritmos terão a seguinte estrutura:
Por curiosidade, em Pascal ficaria da seguinte forma:
Sérgio Melo
Algoritmo <Nome do algoritmo>
<Definições/Declarações de Variáveis e Constantes> Início
<Instruções> Fim
PROGRAM <Nome doprograma>;
<Definições/Declarações de Variáveis e Constantes>; BEGIN
<Instruções>; END.
Introdução à Lógica de Programação
Pseudocódigo (cont.)
Atribuição (ou )
O objectivo é atribuir um valor a uma variável Exemplo:
X A + B S 10
Sérgio Melo
Leitura e Escrita de dados (Ler/ Escrever)
A instrução Leré utilizada introduzir dados no computador através do operador. A instrução Escreveré utilizada para apresentar os dados ao utilizador
Exemplo:
Escrever (‘A soma dos números é’, soma) Ler(número1, número2)
Introdução à Lógica de Programação
Pseudocódigo (cont.)
Exemplo em pseudocódigo do algoritmo da circunferência
Sérgio Melo
Num algoritmo, podemos definir três secções: Cabeçalho
Declarações Corpo do algoritmo
Algoritmo circunferência
[Este algoritmo dá as características de uma circunferência]
Dados
RAIO: Inteiro ÁREA, PERÍMETRO: Reais PI 3,14159
Início
Ler (RAIO)
ÁREA PI x RAIO2 PERÍMETRO 2 x PI x RAIO
Escrever (ÁREA, PERÍMETRO) Fim
Introdução à Lógica de Programação
Pseudocódigo (cont.)
Cabeçalho
Onde é dado o nome ao algoritmo. Começa com a palavra “Algoritmo”. Declarações
Descrição das variáveis e constantes usadas. Corpo do algoritmo
Sequência das instruções (acções) do algoritmo. Inicia-se com a palavra “Início” e termina com a palavra “Fim”.
Comentários
Ajuda a clarificar o algoritmo. São os comentários que ajudam muito à sua compreensão. Cada passo do algoritmo pode iniciar com um comentário entre dois parênteses rectos [ ]. Estes comentários dão uma breve descrição da instrução ou de um conjunto de instruções seguintes.
Sérgio Melo
Introdução à Lógica de Programação
FluxogramasÉ uma forma padronizada e eficaz para representar as instruções lógicas de um determinado processamento.
Com o fluxograma podemos definir uma sequência de símbolos, com significado bem definido.
Facilita a visualização dos passos de um processamento. Símbolos:
Sérgio Melo
Dentro de cada símbolo terá sempre algo escrito, pois caso contrário não nos dizem nada
Introdução à Lógica de Programação
Fluxogramas (cont.) Exemplo: Sérgio Melo Algoritmo Comparar DadosVALOR1, VALOR2: Inteiros FRASE: Caracteres Início
Ler (VALOR1, VALOR2) Se VALOR1 > VALOR2 então
FRASE ‘Valor1 é maior’ Senão Se VALOR1 < VALOR2 então FRASE ‘Valor2 é maior’ Senão FRASE ‘Valores iguais’ Fim se Fim se Escrever (FRASE) Chamar Rotina Adeus Fim
Pseudocódigo
Inicio
Ler valor1
Ler valor2
Valor1>Valor2 Não Valor2>Valor2
Escrever "Valor1 é maior" Sim Escrever "Valor2 é maior" Sim Escrever "Valores iguais" Não Rotina Adeus Fim Inicio Ler valor1 Ler valor2
Valor1>Valor2 Não Valor2>Valor2
Escrever "Valor1 é maior" Sim Escrever "Valor2 é maior" Sim Escrever "Valores iguais" Não Rotina Adeus Fim Fluxograma
Introdução à Lógica de Programação
Exercícios:1. Realize um algoritmo em pseudocódigo para calcular a área de uma circunferência. 2. Realize um algoritmo em pseudocódigo para calcular a área de um terreno
rectangular.
3. Construa os fluxogramas dos exercícios anteriores.
Introdução à Lógica de Programação
Constantes, Variáveis e Tipos de DadosConsidere a fórmula simples de matemática do cálculo do volume de uma esfera: Nesta fórmula pode-se encontrar:
•valores constantes, invariantes em todas as aplicações da fórmula, no caso dos valores 4, 3 e π;
•valores a serem substituídos na fórmula, em cada aplicação; a representação destes valores, usualmente é feita através de letras, que recebem o nome de variáveis e tornam a fórmula genérica, possível de ser aplicada para resolver uma certa classe de problemas e não apenas um problema específico.
•Operações a serem feitas sobre determinados operandos (valores), para a obtenção da solução do problema.
Uma variável é um espaço reservado na memória do computador para armazenar um tipo de dado determinado.
Sérgio Melo 2 3 4 R V = π
Introdução à Lógica de Programação
Identificadores•As variáveis e constantes num algoritmo são designadas por meio de
identificadores.
•é um nome normalmente atribuído a um elemento com que se pretende trabalhar dentro de um algoritmo.
•é formado por uma letra ou então por uma letra seguida de letras ou dígitos. Não é permitido o uso de espaços em branco ou de qualquer outro caracter, que não seja letra ou dígito.
•Se utilizar mais do que uma palavra para compor o nome da variável utilize o “_” underline para separar as palavras.
Introdução à Lógica de Programação
Identificadores•As variáveis e constantes num algoritmo são designadas por meio de
identificadores.
•é um nome normalmente atribuído a um elemento com que se pretende trabalhar dentro de um algoritmo.
•é formado por uma letra ou então por uma letra seguida de letras ou dígitos. Não é permitido o uso de espaços em branco ou de qualquer outro caracter, que não seja letra ou dígito.
•Se utilizar mais do que uma palavra para compor o nome da variável utilize o “_” underline para separar as palavras.
Sérgio Melo
ENTIDADES IDENTIFICADORES
Nome do cliente NOME_CLIENTE
Morada dos clientes MORADA
Data em que foi feita a encomenda DATA Exemplos
Introdução à Lógica de Programação
ConstantesConstante é um determinado valor fixo que não se modifica ao longo do tempo, durante a execução de um programa.
Sérgio Melo
Constantes
PI 3,14 MAXIMO 30
POR_DEFEITO ‘Sem nome’ Exemplo
Variáveis
Variável é a representação simbólica dos elementos de um certo conjunto. Cada variável corresponde a uma posição de memória, cujo conteúdo pode ser alterado ao longo do tempo durante a execução de um programa.
Introdução à Lógica de Programação
Sérgio Melo
Variáveis (cont.)
•podem assumir diferentes valores ao longo de um programa
•só podem armazenar um valor a cada instante
•só podem armazenar valores de um mesmo tipo
Variáveis
MAXIMO, NUM: Inteiro NOME: Caracteres SAIR: Lógico
Introdução à Lógica de Programação
Sérgio Melo
Tipos de dados
Basicamente são de três tipos:
•Numéricas (Inteiro ou real)
•Alfanuméricas (caracter ou cadeia de caracteres)
•Lógicas
O Pascal exige que no momento da declaração das variáveis, se defina o tipo de informação que uma variável pode conter.
Pseudocódigo Pascal Descrição
Inteiro Integer Representa números entre -32768 até +32767.
ocupa 2 bytes na memória.
Real Real Representa os números entre 2.9 x 10
-39até 1.7 x 1038. Ocupa 6 bytes na memória.
Caracter Char Representa um dos caracteres, da tabela ASCII.
Introdução à Lógica de Programação
Sérgio Melo
Tipos de dados (cont.)
Pseudocódigo Pascal Descrição
Caracteres String Conjunto de caracteres (Char). Ocupa de 1 a 255 bytes na memória.
Lógico Bolean Valor lógico. Assuma somente dois valores: TRUE (Verdade) ou FALSE (Falso). ocupa 1 byte na memória. Word Números de 0 até 65535. Ocupa 2 bytes na memória. Byte Números de 0 até 255. Ocupa 1 byte na memória. Shor Int Representa os números entre -128 até 128. Ocupa 1 bytes
na memória.
LongInt Representa os números entre -2147483648 até 2147483648. Ocupa 4 bytes na memória.
Single Representa os números entre 1.5 x 10
-45até 3.4 x 1038.
Ocupa 4 bytes na memória.
Double Representa os números entre 5 x 10
-324até 1.7 x 10308.
Ocupa 8 bytes na memória.
Introdução à Lógica de Programação
Sérgio Melo
Exercícios
1. Explicite a diferença entre uma constante e uma variável, no contexto de um programa.
2. Descreva resumidamente o que se passa ao nível dos identificadores de variáveis, quando um programa entra em execução e esses identificadores são tratados internamente pelo computador.
3. Identifique o tipo de cada uma das constantes a) 613 b) ‘R’ c) 1 d) 613,0 e) -613 f) ‘613’ g) -3,012 * 1015 h) Falso i) 17 * 1012 j) -28,3 * 10-23 k) ‘Fim de Questão’
Introdução à Lógica de Programação
Sérgio Melo
Exercícios (cont.)
4. Qual a diferença existente nas seguintes atribuições? a) Letra ‘A’
Nome ‘João’ b) Letra A
Nome João
5. É correcto definir uma variável como sendo Caracter e atribuirmos a ela o valor “PEDRO”? E se a variável fosse definida como Caracteres (cadeia de caracteres), a mesma poderia receber um valor do tipo Caracter?
Introdução à Lógica de Programação
Sérgio Melo
Exercícios (cont.)
6. No seguinte Algoritmo existe algum erro? Onde? Algoritmo Teste Variáveis MARIA: Caracteres IDADE: Inteiro LETRA: Caracter MARIA: Real Inicio IDADE 23 IDADE 678 IDADE LETRA LETRA 300 LETRA ‘abc’ LETRA ‘A’ LETRA 22 IDADE IDADE_ALUNO Fim
Introdução à Lógica de Programação
Sérgio Melo
Operadores
Os operadores são meios pelos quais incrementamos, decrementamos, comparamos e avaliamos dados dentro do computador.
Utilizamos três tipos de operadores:
•Operadores Aritméticos
•Operadores Relacionais
•Operadores Lógicos
Introdução à Lógica de Programação
Sérgio Melo Operadores (cont.) •Aritméticos OPERADORES ARITMÉTICOS DESIGNAÇÃO OPERADOR Adição + Subtracção -Multiplicação * Divisão /
Resto da divisão (Resto) MOD Divisão inteira (Quociente) DIV
Potenciação ^
Hierarquia das Operações Aritméticas A hierarquia das operações aritméticas é:
• ( ) – parênteses • ^ – exponenciação
• * ou / – multiplicação ou divisão (o que aparecer primeiro)
• + ou – – soma ou subtracção (o que aparecer primeiro)
Exemplo:
1 + 7 * 2 ^ 2 –1 = 28 3 * (1 – 2) + 4 * 2 = 5
Introdução à Lógica de Programação
Sérgio Melo
Operadores (cont.)
•Comparação ou Relacionais
Devolvem sempre resultados do tipo valor lógico, ou seja, verdadeiro ou falso.
Operadores de Comparação Designação Operador igual a = diferente de ≠ou <> maior que > menor que < maior ou igual a ≥ou >= menor ou igual a ≤ou <= Exemplo:
Tendo duas variáveis A = 5 e B = 3 Os resultados das expressões seriam:
Expressão Resultado A = B Falso A <> B Verdadeiro A > B Verdadeiro A < B Falso A >= B Verdadeiro A <= B Falso
Introdução à Lógica de Programação
Sérgio Melo
Operadores (cont.)
•Lógicos
Devolvem sempre resultados do tipo valor lógico, ou seja, verdadeiro ou falso.
Operadores de Valor Lógico
Designação Operador
Negação NÃO (NOT) Conjunção E (AND) Disjunção OU (OR) Disjunção Inversa XOR
Introdução à Lógica de Programação
Sérgio Melo
Operadores (cont.)
•Tabelas de verdade
Operador AND Operador OR
TRUE AND TRUE TRUE
TRUE AND FALSE FALSE
FALSE AND TRUE FALSE FALSE AND FALSE FALSE
TRUE OR TRUE TRUE
TRUE OR FALSE TRUE
FALSE OR TRUE TRUE FALSE OR FALSE FALSE
Operador NOT Operador XOR
NOT TRUE FALSE
NOT FALSE TRUE
TRUE XOR TRUE FALSE
TRUE XOR FALSE TRUE
FALSE XOR TRUE TRUE FALSE XOR FALSE FALSE
Introdução à Lógica de Programação
Sérgio Melo
Operadores (cont.)
•Exemplos
Suponha que temos três variáveis A=5, B=8 e C=1. Os resultados das expressões seriam:
Expressões Resultado A=B AND B>C FALSO
A<>B OR B<C VERDADEIRO
NOT A>B VERDADEIRO
A<B AND B>C VERDADEIRO
A>=B OR B=C FALSO
Introdução à Lógica de Programação
Sérgio Melo
Instruções simples (recapitulando)
•Escrita
•Leitura
•Atribuição
[Imprimir a mensagem]
Escrever(‘Não existe quarto vago do tipo escolhido.’)
[Imprimir a percentagem]
Escrever(‘A percentagem de alunos com nota superior à media é ’, PERC, ‘%’)
[Ler a remuneração mensal]
Ler(REMUNERAÇÃO)
[Ler as variáveis X e Y ]
Ler(X, Y)
[Inicializar variáveis] SOMA0
[Calcular a Média e incrementar Valor] MÉDIASOMA / 15
VALORVALOR + 1
Introdução à Lógica de Programação
Sérgio Melo
Exercícios
1. Indique o resultado que será obtido das seguintes expressões: a) 1/2 b) 1 DIV 2 c) 1 MOD 2 d) (200 DIV 10) MOD 4 e) 6 +19-23 f) 3,0* 5,0 +1 g) 1/4+2 h) 29,0/7+4 i) ‘Carlos ‘ + ‘Paredes’
2. Indique o resultado das seguintes expressões: a) 2 > 3
b) (6 < 8) OR (3 > 7)
c) (((10 DIV 2) MOD 6) > 5) XOR (3 < (2 MOD 2)) d) NOT (2 < 3)
3. Considere um algoritmo capaz de calcular e apresentar o volume de um tanque, a partir dos valores necessários para esse efeito, introduzidos pelo utilizador. Elabore o algoritmo em pseudocódigo e represente o seu fluxograma.
Introdução à Lógica de Programação
Sérgio Melo
Exercícios (cont.)
3. Escreva os comandos de atribuição para as seguintes fórmulas matemáticas:
a) b)
F
E
D
C
B
A
X
−
+
=
X
B
A
F
A
=
−
+
−
−2
4
2
3 2
3Introdução à Lógica de Programação
Sérgio Melo