Linguagens de programacao

7

Click here to load reader

Transcript of Linguagens de programacao

Page 1: Linguagens de programacao

LINGUAGENS

DE

PROGRAMAÇÃO

Page 2: Linguagens de programacao

ALGORITMO

Um conjunto de procedimentos de forma a resolver um problema concreto.

O conceito de algoritmo é frequentemente ilustrado pelo exemplo de uma receita, embora muitos

algoritmos sejam mais complexos. Eles podem repetir passos (fazer iterações) ou necessitar de

decisões (tais como comparações ou lógica) até que a tarefa seja completada.

Um algoritmo não representa, necessariamente, um programa de computador, e sim os passos

necessários para realizar uma tarefa. Sua implementação pode ser feita por um computador, por

outro tipo de autómato ou mesmo por um ser humano.

Diferentes algoritmos podem realizar a mesma tarefa usando um conjunto diferenciado de

instruções em mais ou menos tempo, espaço ou esforço do que outros.

Por exemplo, um algoritmo para se vestir pode especificar que você vista primeiro as meias e os

sapatos antes de vestir a calça enquanto outro algoritmo específica que você deve primeiro vestir a

calça e depois as meias e os sapatos. Apesar de ambos levarem ao mesmo resultado, fica claro que

o primeiro algoritmo é mais difícil de executar que o segundo.

PSEUDOCÓDIGO Pseudocódigo é uma forma genérica de escrever um algoritmo, utilizando uma linguagem simples

(nativa a quem o escreve, de forma a ser entendida por qualquer pessoa) sem necessidade de

conhecer a sintaxe de nenhuma linguagem de programação.

É, como o nome indica, um pseudo-código e, portanto, não pode ser executado num sistema real

(computador) — de outra forma deixaria de ser pseudo.

O exemplo a seguir é um algoritmo em português estruturado que retorna (valor de saída) a soma

de dois valores.

Exemplo 1: Algoritmo

Algoritmo "SomaDeDoisValores";

variáveis

SOMA,A,B: inteiros;

inicio

escrever("Digite um numero");

ler(A);

escrever("digite outro numero");

ler(B);

SOMA ← A + B; (SOMA “toma” o valor de A+B)

escrever(SOMA);

fim.

Page 3: Linguagens de programacao

Atribuição A atribuição é dar um valor concreto a uma variável, ou seja, o que se designa em matemática por

concretização da variável. Para indicar a operação de atribuição utiliza-se o símbolo ""

Assim, se quisermos que a variável A passe a ter o valor 3, então a expressão seria A3.

No caso da variável A ser o resultado da soma da variável B com a variável C, seria A B+C.

Entrada e saída de dados: Ler (< lista de variáveis >)

Escrever (< lista de variáveis >)

A instrução LER, recebe do utilizador o valor da variável pretendida.

A instrução Escrever, apresenta no stardard output (ecrã, impressora, etc) um determinado

resultado)

Exemplo 2: soma de dois números

Inicio

Ler (a, b)

c a + b

Escrever (c)

Fim

Linguagem estruturada

A teoria da Programação Estruturada estabelece que qualquer programa pode ser implementado

utilizando estruturas de controlo, isto é, estruturas que permitem direccionar o fluxo de execução

das instruções de um programa. As estruturas de controlo utilizadas são: Sequência, Selecção e

Iteração.

1 - Sequência: as instruções são executadas por ordem sequencial.

Exemplo 3: produto de dois números

Inicio

Ler (a, b) ( instrução de leitura)

c a * b (instrução de afectação )

Escrever (c) (instrução de saída de resultados)

Fim

2 - Selecção: permite a escolha entre duas alternativas

1º caso: se (< condição >) então Acção A

senão Acção B

2º caso: se (< condição >) então Acção A

Page 4: Linguagens de programacao

Exemplo 4: dadas duas raízes reais de uma equação do 2º grau, a e b (a ≠ 0, b ≠ 0 ) verificar se têm

ou não o mesmo sinal

Inicio

Ler (a, b)

se ( a*b > 0)

então escrever (' têm o mesmo sinal ')

senão escrever (' têm sinais diferentes ')

Fim

3 - Iteração : Permite que partes do programa sejam repetidas um número finito de vezes,

segundo uma condição de controlo

3.1- Repetição com condição no início

enquanto (< condição >) fazer acção A

Exemplo 5: Calcular a soma dos números pares de 100 a 106

Inicio

soma 0

par 100

enquanto (par ≤ 106 ) fazer

soma soma + par

par par + 2

escrever (soma)

Fim

3.2- Repetição com condição no fim repetir

acção A

até que (< condição >)

Exemplo 6: Elaborar o pseudo código associado ao exemplo 5, utilizando a instrução de

repetição com condição no fim.

Inicio

soma 0

par 100

repetir

soma soma + par

par par + 2

até que (par>106)

Fim

Nota: Na repetição com a condição no fim a acção é executada pelo menos uma vez, ao

contrário da anterior.

Page 5: Linguagens de programacao

3.3- Repetição contada

fazer para var valor1 até valor2 passo valor3

acção A

nesta instrução a variável var varia de valor1 a valor2 com incremento valor3

Exemplo 7: Elaborar o pseudo código associado ao exemplo 5, utilizando a instrução de

repetição contada.

Inicio

soma 0

fazer para par 100 até 106 passo 2

soma soma + par

escrever (soma)

Fim

FLUXOGRAMA Outra forma de representação é através de fluxogramas, onde se pode visualizar de uma forma mais geral o comportamento de um determinado algoritmo. Neste caso, mesmo os programas mais complexos podem facilmente ser verificados.

Programa Um programa é um conjunto de instruções (ou sequência de

código), organizados de tal forma que permita resolver um

determinado problema.

Page 6: Linguagens de programacao

EXERCÍCIOS Construa um algoritmo em pseudocodigo para resolver os seguintes problemas:

Escreva um algoritmo que, dado um número, calcule o respectivo módulo ou valor absoluto

(ex.: |-2|=2 |2|=2) .

Solução:

Inicio

Ler(num)

Se num >0 if num>0

então modulo num modulo=num

senão modulo -num else modulo=-num

Escrever (modulo)

Fim

Escreva um algoritmo que simule uma calculadora com as 4 operações aritméticas (adição,

subtracção, multiplicação e divisão. O utilizador introduz o valor dos dois operandos e a

operação a realizar e o programa dá o resultado.

Solução:

Inicio

Ler(num1)

Ler(num2)

Ler(operacao)

Se operacao=’+’ então resultado=num1+num2

Se operacao=’-’ então resultado=num1-num2

Se operacao=’*’ então resultado=num1*num2

Se operacao=’/’ e num2≠0 então resultado=num1/num2

Escrever (resultado)

Fim

Escreva um algoritmo que, dado o valor em escudos, o converta para euros e mostre o

resultado.

Solução:

taxa 200.482

Inicio

Ler(escudos)

euros escudos/taxa

Escrever (euros)

Fim

Page 7: Linguagens de programacao

Escreva um algoritmo que, dado o valor do raio da circunferência, calcule o perímetro e a

área.

Solução:

pi 3,14

Inicio

Ler(raio)

perimetro 2*pi*raio

area pi*raio*raio

Escrever (perimetro,area)

Fim