21
Escola EB 2,3/S de Vila Flor Curso Profissional - Técnico de Informática de Gestão – 1º Ano 2008/2009 1. Introdução à lógica de programação 1.1 Lógica A lógica de programação é necessária para pessoas que desejem trabalhar com o desenvolvimento de programas. É a técnica de encadear pensamentos, raciocinar com a finalidade de atingir determinado objectivo. Na vida real Num computador Como vou fazer para chegar à escola? Talvez deva preparar-me e apanhar o autocarro a horas. Como calcular o quadrado de um número? Talvez deva multiplicar o número por ele mesmo. 1.2 Sequência Lógica A sequência lógica pode ser descrita como uma sequência de instruções, que devem ser seguidas para se cumprir uma determinada tarefa. São passos executados até se atingir um objectivo ou solução de um problema. Na Vida Real Num Computador Para chegar a escola devo: Acordar Lavar Vestir Tomar o pequeno- almoço Para calcular o quadrado de um número devo: Ler esse número Multiplicar por ele mesmo Mostrar o resultado Prof. Fernando Freixo Pág. 1

Introdução à lógica de Programação

Embed Size (px)

Citation preview

Page 1: Introdução à lógica de Programação

Escola EB 2,3/S de Vila FlorCurso Profissional - Técnico de Informática de Gestão – 1º Ano

2008/2009

1. Introdução à lógica de programação

1.1 Lógica

A lógica de programação é necessária para pessoas que desejem trabalhar com o

desenvolvimento de programas. É a técnica de encadear pensamentos, raciocinar com a

finalidade de atingir determinado objectivo.

Na vida real Num computador

Como vou fazer para

chegar à escola?

Talvez deva preparar-me e

apanhar o autocarro a

horas.

Como calcular o quadrado de

um número?

Talvez deva multiplicar o

número por ele mesmo.

1.2 Sequência Lógica

A sequência lógica pode ser descrita como uma sequência de instruções, que devem ser

seguidas para se cumprir uma determinada tarefa. São passos executados até se atingir

um objectivo ou solução de um problema.

Na Vida Real Num Computador

Para chegar a escola devo:

Acordar

Lavar

Vestir

Tomar o pequeno-

almoço

Apanhar o autocarro

Para calcular o quadrado de

um número devo:

Ler esse número

Multiplicar por ele

mesmo

Mostrar o resultado

1.3 Instruções

Na linguagem comum, são as regras ou normas definidas para a realização ou

emprego de algo. Na informática, porém, instrução é a informação que indica a um

computador uma acção elementar a executar.

Uma ordem isolada pode não realizar nenhum processo completo. Por isso, devem

existir conjuntos de instruções colocadas em ordem sequencial lógica para a

realização de alguma tarefa.

Prof. Fernando Freixo Pág. 1

Page 2: Introdução à lógica de Programação

Escola EB 2,3/S de Vila FlorCurso Profissional - Técnico de Informática de Gestão – 1º Ano

2008/2009

As instruções são entã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.

Existem vários tipos de instruções, que podem ser:

de atribuição; algum valor é calculado ou colocado numa posição de

memória,

de escrita; para escrever dados,

de leitura; para ler dados de algum dispositivo,

sequenciais; instruções a ser executadas de um modo sequencial,

de decisão condicional; do tipo: “SE … ENTÃO … SENÃO …”,

de ciclos ou repetição; do tipo “PARA … ATÉ … FAZER …” ou “ENQUANTO …

FAZER …”,

comentários; para apoiar o algoritmo, sem influenciar o mesmo.

Tipos de instruções:

Instrução Na vida real Num Computador

de

atribuição

O pequeno-almoço do

João é sumoO Valor de X é igual a 5

de escritaO João conta o que vai

fazerEscrever o valor de X

de leitura O João lê o jornal Ler o valor de X

sequenciais

Escolher livros para o dia

Colocar os livros na

mochila

Colocar mochila às

costas

Ler número X

Multiplicar X por X

Mostrar resultado

de decisão

condicional

Se estiver bom tempo:

Levar o guarda-chuva

Senão:

Deixar guarda-chuva em

casa

Se o Numero X é par

Escrever “O número é

par”

Senão:

Escrever “O número é

ímpar”

de ciclos ou

repetição

Enquanto não chegar o

autocarro vou esperar

Ler o número X enquanto

ele não for par

Prof. Fernando Freixo Pág. 2

Page 3: Introdução à lógica de Programação

Escola EB 2,3/S de Vila FlorCurso Profissional - Técnico de Informática de Gestão – 1º Ano

2008/2009

1.4 Algoritmos

Um algoritmo é formalmente uma sequência finita de passos que levam a execução

de uma tarefa. Podemos pensar num algoritmo como uma receita, uma sequência

de instruções, que permitem atingir uma meta específica. Estas tarefas não podem

ser redundantes nem subjectivas na sua definição, devem ser claras e precisas.

Exemplo de algoritmo para “chupar um rebuçado”

1. Pegar num rebuçado

2. Retirar o papel

3. Chupar o rebuçado

4. Colocar o papel no lixo

Como se pode ver no exemplo anterior, um algoritmo é composto por um conjunto

de passos que se desencadeiam sequencialmente. Os algoritmos representam

então o programa em linguagem informal, definindo conjuntos de processos para

efectuar uma tarefa. Este conceito é frequentemente ilustrado pelo exemplo de

uma receita, embora muitos algoritmos sejam bem mais complexos que isso.

1.5 Programas

Os programas de computadores nada mais são do que algoritmos escritos numa

determinada linguagem de computador, que depois serão interpretados e

executados por um computador.

Depois de implementado o algoritmo, passa-se à implementação do programa,

através de técnicas de programação e de uma linguagem de programação. Como

sabemos, uma linguagem é definida num alfabeto e é construída por conjuntos de

palavras desse alfabeto. Nas linguagens de programação existem conceitos

semelhantes e é necessário conhecer o alfabeto, as palavras disponíveis e a sintaxe

de programação.

2. Desenvolvimento de Algoritmos

2.1 Pseudocódigo

Pseudocódigo = Pseudo (Suposto) + Código (Instrução).

Prof. Fernando Freixo Pág. 3

Page 4: Introdução à lógica de Programação

Escola EB 2,3/S de Vila FlorCurso Profissional - Técnico de Informática de Gestão – 1º Ano

2008/2009

O pseudocódigo é uma forma genérica de escrever um algoritmo, utilizando uma

linguagem simples e sem a necessidade de conhecer alguma linguagem de

programação.

Com este tipo de código o programador pode-se centrar nos aspectos lógicos da

solução, descrevendo o seu raciocínio através da mistura de frases em linguagem

comum, palavras-chave que definem acções e instruções de programação.

A forma geral da representação de um algoritmo na forma de pseudocódigo é a

seguinte:

Algoritmo nome_do_algoritmo

Declarações_niciais

Início

Corpo_do_algoritmo

Fim

Algoritmo é a palavra que indica o início da definição de um algoritmo em forma de

pseudocódigo;

- é um nome simbólico dado ao algoritmo com a finalidade de distingui-lo dos

outros;

- é uma forma opcional onde são declaradas as variáveis globais usadas no

algoritmo;

- local onde estão definidas as instruções que irão realizar as tarefas do algoritmo;

- Início e Fim são respectivamente as palavras que delimitam o início e o fim do

conjunto de instruções do corpo do algoritmo.

Segue-se um exemplo de um algoritmo em pseudocódigo, que lê dois números e

identifica o maior:

Algoritmo para identificar o número maior

número1 é um Inteiro

número2 é um inteiro

Início

Ler (número1)

Ler (número2)

Se número1 > número2 então

Escrever (‘O maior número é o’, número1)

Senão número1 < número2 então

Prof. Fernando Freixo Pág. 4

Page 5: Introdução à lógica de Programação

Escola EB 2,3/S de Vila FlorCurso Profissional - Técnico de Informática de Gestão – 1º Ano

2008/2009

Escrever (‘O maior número é o’, número2)

Senão

Escrever (‘O números são iguais’)

Fim

Pode-se observar que o pseudocódigo é caracterizado por uma notação quase

código, isto é, usam-se termos do português narrativo, bem definido e sem

ambiguidades, utilizando somente as estruturas lógicas da programação

estruturada. Alguns desses termos pertencem à linguagem natural, outros são uma

aproximação às linguagens de programação. Desde que o problema esteja

resolvido em pseudocódigo, a sua codificação numa linguagem de programação,

qualquer que seja ela, é uma tarefa que não apresenta grandes dificuldades, desde

que se conheça a sintaxe pormenorizada dessa linguagem.

2.2 Regras e fases de construção de um algoritmo

O primeiro passo para fazer um programa é a análise do problema que se quer

resolver. Depois de clarificada a questão e delineadas as estratégias a seguir,

construir-se-á um algoritmo em pseudocódigo e/ou fluxogramas. Nunca se deve

iniciar a construção de um programa sem antes construir o algoritmo, pois a sua

omissão dificulta a programação, aumenta os erros e prejudica a eficiência na

obtenção do resultado.

Conceitos importantes para a formulação de um algoritmo

Usar somente as palavras disponíveis;

Imaginar que está a desenvolver um algoritmo para pessoas que não

trabalham com informática;

Ser objectivo;

Verificar se o resultado responde ao problema;

Exemplo de algoritmo ERRADO para “chupar um rebuçado”

Pegar cuidadosamente num óptimo, saboroso e suculento rebuçado, rodar e

agitar.

Retirar o papel e deita-lo ao chão.

Esfregar o rebuçado no chão e chupar o rebuçado.

Apesar de este algoritmo cumprir com a tarefa a que se propõe, está construído de

forma errada e é muito pouco eficiente. Ninguém gostaria de um rebuçado depois

de ter estado no chão.

3. Fluxogramas

3.1 Definição de Fluxograma

Prof. Fernando Freixo Pág. 5

Page 6: Introdução à lógica de Programação

Escola EB 2,3/S de Vila FlorCurso Profissional - Técnico de Informática de Gestão – 1º Ano

2008/2009

Um fluxograma é uma representação esquemática de um processo, muitas vezes

feita através de gráficos que ilustram de forma descomplicada a transição de

informações entre os elementos que o compõem.

Um fluxograma é a forma padronizada e eficaz de representar os passos lógicos de

um determinado algoritmo. Com os fluxogramas podemos definir uma sequência de

símbolos, com significado bem definidos, facilitando a visualização dos passos de

processamento.

3.2 Simbologia

Símbolo Significado

Início / Fim

Entrada e Saída de Dados

Processamento de tarefa

Ponto de decisão

Ligação entre símbolos

3.3 Exemplos de Fluxogramas

Pegando no exemplo do algoritmo para Chupar um rebuçado da secção 2.4,

podemos representar o mesmo algoritmo segundo o seguinte fluxograma:

Prof. Fernando Freixo Pág. 6

Page 7: Introdução à lógica de Programação

Escola EB 2,3/S de Vila FlorCurso Profissional - Técnico de Informática de Gestão – 1º Ano

2008/2009

Ou então, para representar através dum fluxograma o algoritmo para calcular o

quadrado de um número, temos:

4. Constantes, Variáveis e Tipos de dados

4.1  Constantes

As variáveis e as constantes são os elementos básicos que um programa manipula.

Uma constante é um determinado valor fixo que não se modifica ao longo do

tempo, durante a execução de um programa.

Prof. Fernando Freixo Pág. 7

Page 8: Introdução à lógica de Programação

Escola EB 2,3/S de Vila FlorCurso Profissional - Técnico de Informática de Gestão – 1º Ano

2008/2009

Na vida real podemos associar uma constante a uma característica inalterável,

como por exemplo a afirmação “O João é alto”. Num computador, as constantes são

variáveis que assumem sempre o valor que lhes foi atribuído no início.

4.2 Variáveis

Nos programas de computador utilizam-se dados, registados em variáveis. Estas

variáveis são definidas segundo um dicionário e deve ser constituída por:

Nome – nome da variável que vai ser usada no algoritmo.

Tipo – tipo da variável (real, inteira, booleana, caracter,…)

Gama – domínio a que pertence a variável (nº negativo, nº positivo, {A,Z}, …).

Significado – descrição da variável, o que ela realmente significa.

A definição de uma variável tem que possuir todos os atributos descritos. O nome

deve identificar univocamente a variável, deve armazenar sempre o mesmo tipo de

dados e todos os seus valores devem pertencer ao domínio escolhido.

4.3  Tipos de Variáveis/Constantes

As variáveis e as constantes podem ser basicamente de quatro tipos: Numéricas,

Caracteres, alfanuméricas ou Lógicas.

Numéricas: Específicas para armazenamento de números, que

posteriormente poderão ser utilizados para cálculos. Podem ser ainda classificadas

como Inteiras ou Reais.

Inteiros: Armazenamento de números inteiros

Reais : Armazenamento de números reais

Caracteres: Específicas para armazenamento de conjuntos de caracteres de

texto que não contenham números.

Alfanuméricas: Para armazenamento de dados que contenham letras e/ou

números. Pode em determinados momentos conter somente dados numéricos ou

somente literais. Se usado somente para armazenamento de números, não poderá

ser utilizada para operações matemáticas.

Lógicas: Armazenam somente dados lógicos que podem ser de Verdade ou

Falso.

Num programa informático é quase sempre necessário definir o tipo de variável e

em pseudocódigo isso pode fazer-se do seguinte modo:

A variável X é Inteira

4.3 A instrução de afectação/atribuição

Prof. Fernando Freixo Pág. 8

Page 9: Introdução à lógica de Programação

Escola EB 2,3/S de Vila FlorCurso Profissional - Técnico de Informática de Gestão – 1º Ano

2008/2009

Quando se pretende atribuir um valor numa constante/variável numa representação

em pseudocódigo deveremos escrever o seguinte:

X = 5 (A variável X recebe o valor 5)

X = Y (A variável X recebe o valor da variável Y)

Nome = “José”

Variável -> Nome

Conteúdo da variável = José

Note que atrás foi dito que em cada momento uma variável só pode conter um

único valor, por isso a sequência…

X = 1

X = 3

X = 5

… faz com que o valor final da variável X seja o correspondente ao último valor

atribuído, igual a 5.

É necessário ter em atenção que na Matemática e no C o significado do sinal = é

muito diferente:

Exemplos (suponha que x= 1, y = 2 e z = 3):

x = y + z: Em Matemática e em C têm o mesmo significado e a variável x fica com

o valor 5;

x = x + 2: Em Matemática é sempre falso ( 5 é diferente de 7) e em C é uma

atribuição que coloca o valor 7 na variável x.

4.5  Entrada e saída de dados

Para que exista comunicação entre um algoritmo ou um programa e o exterior é

necessário que explicitamente escrevamos instruções para a escrita e leitura de

dados. Para estas duas tarefas existem duas instruções:

Entrada de dados (ou Input)

Ler (X)

Saída de dados (ou Output)

Escrever (X) ou Escrever(‘Um texto qualquer’)

Exemplo de Algoritmo

Algoritmo para calcular a área de uma mesa.

A Largura é número Real

Prof. Fernando Freixo Pág. 9

Page 10: Introdução à lógica de Programação

Escola EB 2,3/S de Vila FlorCurso Profissional - Técnico de Informática de Gestão – 1º Ano

2008/2009

O Comprimento é número Real

A Área é Real

Início

Ler(Largura)

Ler(Comprimento)

Área = Largura * Comprimento

Escrever(Área)

Fim

5. Operadores e Funções

Os operadores são usados para efectuar cálculos sobre variáveis.

Temos três tipos de operadores, que são:

Operadores Aritméticos

Operadores Relacionais

Operadores Lógicos

5.1 Operadores Aritméticos

Os operadores aritméticos são utilizados para obter resultados numéricos. Além da

adição, subtracção, multiplicação e divisão, pode-se também usar o operador para

exponenciação.

Operação Símbolo

Adição +

Subtracção -

Multiplicação *

Divisão /

Exponenciação ^

Com estes operadores podemos efectuar todo o tipo de cálculos.

X = 5 + 4 (A variável X recebe o valor 5 mais 4)

Y = 5 - X (A variável Y recebe o valor 5 menos o valor de X)

Hierarquia das operações aritméticas.

Prof. Fernando Freixo Pág. 10

Page 11: Introdução à lógica de Programação

Escola EB 2,3/S de Vila FlorCurso Profissional - Técnico de Informática de Gestão – 1º Ano

2008/2009

As operações aritméticas respeitam as mesmas precedências que são estudadas na

matemática, por isso a hierarquia dos operadores é a seguinte:

1º - () Parênteses

2º - Exponenciação

3º - Multiplicação, divisão (o que aparecer primeiro)

4º - Soma ou subtracção (o que aparecer primeiro)

Exemplos da escrita algorítmica.

Em pseudocódigo

X / 2

2 * A

Y^2

(X + Y) / 2

5.2. Operadores Relacionais

Os Operadores relacionais são utilizados para comparar cadeias de caracteres (texto) e

números. Estes operadores devolvem sempre valores lógicos (Verdadeiro ou Falso).

Matemática Em pseudocódigo

Igual a ==

Diferente de <>

Maior que >

Menor que <

Maior ou igual a >=

Menor ou igual a <=

Por exemplo, se tivermos duas variáveis:

X = 5

Y = 7

Os resultados das expressões seriam:

Prof. Fernando Freixo Pág. 11

Page 12: Introdução à lógica de Programação

Escola EB 2,3/S de Vila FlorCurso Profissional - Técnico de Informática de Gestão – 1º Ano

2008/2009

Expressão Valor

X = Y Falso

X <> Y Verdadeiro

X > Y Falso

X < Y Verdadeiro

X >= Y Falso

X <= Y Verdadeiro

Operadores Lógicos

Os operadores lógicos servem para combinar resultados de expressões, retornando

se o resultado final é verdadeiro ou falso.

Os operadores lógicos são:

E AND

OU OR

NÃO NOT

E / AND : O resultado duma expressão deste tipo é verdadeiro se as duas

condições envolvidas forem ambas verdadeiras.

OU / OR: O resultado duma expressão deste tipo é verdadeiro se pelo

menos uma das condições envolvidas for verdadeira.

NÃO / NOT: Esta expressão inverte o valor da expressão ou condição. Se

verdadeira passa a falsa e se falsa, passa a verdadeira,

Exemplos:

Suponha que temos três variáveis:

A = 5, B = 8 e C = 1

Expressão Valor

A = B E B = C Falso

B <> A OU B < C Verdadeiro

Prof. Fernando Freixo Pág. 12

Page 13: Introdução à lógica de Programação

Escola EB 2,3/S de Vila FlorCurso Profissional - Técnico de Informática de Gestão – 1º Ano

2008/2009

NÃO(A > B) Verdadeiro

NÃO(X < Y) E B < C Falso

5.2 - Sequências de execução

Sequencial

As instruções seguem uma sequência fixa, executando de cima para baixo, uma por

linha.

Instrução 1

Instrução 2

Instrução 3

Instrução n

Selectiva

A instrução selectiva determina se uma determinada instrução se executa ou não,

segundo o cumprimento de uma determinada condição. A condição pode ser uma

expressão ou qualquer instrução que resulte num valor booleano.

SE condição

instruções1

SENÃO

instruções2

FIM SE

Uma instrução selectiva pode ser múltipla, existindo várias condições encadeadas e

que condicionam a instrução a executar.

SE condição 1

instruções1

SENÃO condição 2

instruções2

SENÃO condição 3

Prof. Fernando Freixo Pág. 13

Page 14: Introdução à lógica de Programação

Escola EB 2,3/S de Vila FlorCurso Profissional - Técnico de Informática de Gestão – 1º Ano

2008/2009

instruções3

SENÃO

instruções4

FIM SE

Outra alternativa para uma instrução selectiva é:

Caso condição

SE caso1

instruções1

SE caso2

instruções2

SE caso3

instruções3

SENÃO

Instruções4

FIM Caso

Interactiva

As instruções interactivas dão a possibilidade de realizar uma sequência de

instruções mais de uma vez. Existe uma condição e enquanto ela for verdadeira o

corpo da instrução executa repetidamente.

ENQUANTO condição

instruções1

CONTINUAR

Exemplos de algoritmos:

Exemplo1:

Se ainda não lavei os

dentes então

Posso ir deitar

Senão

Tenho de ir lavar os

dentes

Exemplo2:

Enquanto não vier o

autocarro

Algoritmo para

identificar o número

maior entre dois valores

lidos

Algoritmo número maior

numero1 é inteiro

numero2 é inteiro

Inicio

Ler(numero1)

Ler(numero2)

Prof. Fernando Freixo Pág. 14

Page 15: Introdução à lógica de Programação

Escola EB 2,3/S de Vila FlorCurso Profissional - Técnico de Informática de Gestão – 1º Ano

2008/2009

Espero e leio um livro

continuar

Se numero1 > numero 2

escrever(O numero1 é

maior)

Senão

escrever(O numero2 é

maior)

Fim Se

Fim

6. Funções

Existem cálculos que já estão definidos e não é necessário definir o seu cálculo

numa linguagem de programação. Para o executar, basta chamar por uma função,

enviar-lhe um conjunto de valores de entrada e recolher o seu valor de saída.

Por exemplo, para calcular a raiz quadrada de 9 e colocar o resultado numa variável

com o nome X bastaria fazer:

X = Sqr(9)

6.1 Exemplo prático

Imaginemos o seguinte problema: Queremos um programa que descobre se um

número é par?

O primeiro passo consiste em analisar o problema.

Por exemplo, sabemos pela matemática que, para descobrir se um número é par,

divide-se esse número por 2 e verifica-se se o resultado é inteiro, o que equivale a

verificar se o resto dessa divisão é igual a 0.

O parágrafo anterior é importante para conseguir realizar o algoritmo com

eficiência. Sem essa noção, será mais difícil escrever um programa que calcule uma

solução adequada.

Então, seguindo a análise, podemos começar a escrever pseudocódigo.

Algoritmo número par

numero é inteiro

auxiliar é real

Inicio

Ler(numero)

auxiliar = numero / 2

Se auxiliar é inteiro

Prof. Fernando Freixo Pág. 15

Page 16: Introdução à lógica de Programação

Escola EB 2,3/S de Vila FlorCurso Profissional - Técnico de Informática de Gestão – 1º Ano

2008/2009

escrever(O numero é par)

Senão

escrever(O numero é impar)

Fim Se

Fim

Note que no algoritmo anterior existe uma condição (se auxiliar é inteiro) que surge

descrita em linguagem informal. Como ainda não aprendemos como verificar se um

número é inteiro, temos que usar esse tipo de linguagem

Imaginemos agora o seguinte problema: Queremos um programa que descobre se

um número é múltiplo de 3?

Vamos então começar pelo primeiro passo e analisar o problema.

Por exemplo, sabemos pela matemática que, para descobrir se um número é

múltiplo de 2, divide-se esse número por 2 e verifica-se se o resultado é inteiro, o

que equivale a verificar se o resto dessa divisão é igual a 0. Para analisar se é

múltiplo de 3, divide-se esse número por 3 e verifica-se também o resultado e se o

resto da divisão é igual a 0.

Mais uma vez, o parágrafo anterior é importante para conseguir realizar o algoritmo

com eficiência. Sem essa noção, seria também difícil escrever o programa.

Então, concluindo a análise, podemos começar a escrever pseudocódigo.

Algoritmo número múltiplo de 3

numero é inteiro

auxiliar é real

Inicio

Ler(numero)

auxiliar = numero / 3

Se auxiliar é inteiro

escrever(O numero é par)

Senão

escrever(O numero é impar)

Fim Se

Fim

Para terminar vamos resolver o seguinte problema: Queremos um programa que

classifique um Triângulo quanto aos lados.

Analisando o problema, temos que um triângulo se classifica do seguinte modo:

Prof. Fernando Freixo Pág. 16

Page 17: Introdução à lógica de Programação

Escola EB 2,3/S de Vila FlorCurso Profissional - Técnico de Informática de Gestão – 1º Ano

2008/2009

3 lados iguais: Triângulo equilátero

2 lados iguais: Triângulo isósceles

3 lados diferentes: Triângulo escaleno

Então, o algoritmo resume-se a ler os lados dos triângulos e verificar qual das três

condições se verificam. Se chamarmos às variáveis que receberão os lados do

triângulo de L1, L2 e L3 temos as seguintes comparações a fazer:

L1 = L2 E L1 = L3 E L2 = L3: Triângulo equilátero

(L1 = L2 E L1 <> L3) OU (L1 = L3 E L1 <> L2) OU (L2 = L3 E L1 <> L3): Triângulo

isósceles

L1 <> L2 E L1 <> L3 E L2 <> L3: Triângulo escaleno

Algoritmo classificar triângulos

L1 é inteiro

L2 é inteiro

L3 é inteiro

Inicio

Ler(L1)

Ler(L2)

Ler(L3)

Se L1 == L2 E L1 == L3 E L2 == L3

escrever(O triângulo é equilátero)

Senão (L1 == L2 E L1 <> L3) OU (L1 == L3 E L1 <> L2) OU (L2 == L3 E L1

<> L3)

escrever(O triângulo é isósceles)

Senão

escrever(O triângulo é escaleno

Fim Se

Fim

Prof. Fernando Freixo Pág. 17

Page 18: Introdução à lógica de Programação

Escola EB 2,3/S de Vila FlorCurso Profissional - Técnico de Informática de Gestão – 1º Ano

2008/2009

Note que a terceira condição não foi transcrita para o algoritmo. Tal não é

necessário pois se um triângulo não é equilátero nem isósceles, tem de ser

obrigatoriamente escaleno. Assim, o algoritmo fica mais legível e eficiente.

Prof. Fernando Freixo Pág. 18