linguagens de programação pedro lopes mÓdulo 1- algoritmia

21
1 Linguagens de Programação Pedro Lopes MÓDULO 1- Algoritmia

Upload: maria-das-gracas-borja-estrada

Post on 07-Apr-2016

285 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Linguagens de Programação Pedro Lopes MÓDULO 1- Algoritmia

Linguagens de Programação

Pedro Lopes

MÓDULO 1- Algoritmia

Page 2: Linguagens de Programação Pedro Lopes MÓDULO 1- Algoritmia

2

Sumário

Estruturas de controlo de decisão ou selecção Com base numa condição

• Se … Então … Se não (If … Then … Else) Com base num selector

• Seleccionar Caso… (Select…Case…)

Realização e Correcção de exercícios

Page 3: Linguagens de Programação Pedro Lopes MÓDULO 1- Algoritmia

3

Objectivos

Compreender a utilidade e o funcionamento da estrutura de decisão Se … Então … Se Não ou If … Then … Else.

Utilizar a Estrutura de Decisão Se … Então … Senão na realização de algoritmos e fluxogramas.

Page 4: Linguagens de Programação Pedro Lopes MÓDULO 1- Algoritmia

4

DecisãoSequencial Repetição

Com base numa

condição

De escolha

múltipla

Se…Então…Senão Seleccionar…Caso

Page 5: Linguagens de Programação Pedro Lopes MÓDULO 1- Algoritmia

5

Estruturas de Decisão ou Selecção

Podemos ter 2 tipos de estruturas de decisão e selecção:

Baseadas numa condição SE… ENTÃO… SENÃO (IF… THEN … ELSE …)

Baseadas na selecção ou escolha múltipla SELECCIONAR… CASO (SELECT… CASE …)

Page 6: Linguagens de Programação Pedro Lopes MÓDULO 1- Algoritmia

6

Baseadas numa Condição

É uma estrutura que existe praticamente em todas as linguagens de programação e noutros tipos de software (Excel).

Permite, com base numa condição, decidir executar uma de 2 acções (ou conjunto de acções). Permite escolher uma de 2 alternativas.

Page 7: Linguagens de Programação Pedro Lopes MÓDULO 1- Algoritmia

7

Baseadas numa Condição (cont.)

O facto de a estrutura de decisão condicional ter uma parte opcional (a parte associada ao SENÃO), faz com que existam 2 variantes desta estrutura:

Decisão simples (não contém a parte SENÃO); neste caso só é indicado o bloco de acções a ser executado se a condição for verdadeira; senão, se for falsa, não é executada nenhuma acção e passa-se ao fim da estrutura (FIMSE)

Page 8: Linguagens de Programação Pedro Lopes MÓDULO 1- Algoritmia

8

Baseadas numa Condição (cont.)

Decisão composta (contém a parte SENÃO); neste caso se a condição for falsa, é indicado um outro bloco (conjunto) de acções a ser executado antes do fim da estrutura (FIMSE)

Page 9: Linguagens de Programação Pedro Lopes MÓDULO 1- Algoritmia

9

Estrutura de Decisão Se … Então … Senão

A forma geral da estrutura “Se… Então…Senão” é:

SE <Condição> ENTÃOInício <Bloco de instruções>Fim

[Senão]Início <Bloco de instruções>Fim

Page 10: Linguagens de Programação Pedro Lopes MÓDULO 1- Algoritmia

10

Estrutura de Decisão Se … Então … Senão (cont.)

Em fluxograma, a estrutura Se…Então…Senão representa-se:

Bloco de Instruções

Se Condição

Falso

Verdadeiro

Bloco de Instruções

Senão

Page 11: Linguagens de Programação Pedro Lopes MÓDULO 1- Algoritmia

11

Estrutura de Decisão Se … Então … Senão (cont.)

Um exemplo em pseudocódigo seria:

…Nota 12Se Nota>=10 Então

Escrever (“Aprovado”)Senão

Escrever (“Reprovado”)…

Page 12: Linguagens de Programação Pedro Lopes MÓDULO 1- Algoritmia

12

Estrutura de Decisão Se … Então … Senão (cont.)

Em fluxograma, o exemplo atrás representado ficaria:

Page 13: Linguagens de Programação Pedro Lopes MÓDULO 1- Algoritmia

13

Estrutura de Decisão Se … Então … Senão (cont.)

Em linguagem Pascal, o algoritmo acima representado ficaria com o seguinte aspecto:

…Nota:=12;IF Nota>=10 Then

Write(‘Aprovado’);Else

Write(‘Reprovado’);…

Page 14: Linguagens de Programação Pedro Lopes MÓDULO 1- Algoritmia

14

Exercício: Enunciado

Escreva um algoritmo que determine se o valor lido é inferior, superior ou igual a 100.

Ler numeroSe (numero >= 100) então

Escrever (“O numero”, numero, “é superior a 100”)Se não

Escrever (“O numero”, numero, “é inferior a 100”)

Page 15: Linguagens de Programação Pedro Lopes MÓDULO 1- Algoritmia

15

Exercício: Algoritmo

Algoritmo “Superior ou Igual a 100”Descrição: “Verificar se o número introduzido pelo utilizador é

maior ou igual a 100”variável numero:realinicio

ler(“Introduza um número:”, numero)Se (numero >= 100) então

Write (“O numero”, numero, “é superior a 100”)Se não

Write (“O numero”, numero, “é inferior a 100”)fim

Page 16: Linguagens de Programação Pedro Lopes MÓDULO 1- Algoritmia

16

Exercício: Fluxograma

inicio

fim

ler(“Introduza um número:”, numero)

escrever(“O número”, numero, “é maior ou igual a 100”)

Se (numero >=100)

Verdadeiro

escrever(“O número é menor que 100”)

Falso

Page 17: Linguagens de Programação Pedro Lopes MÓDULO 1- Algoritmia

17

Exercício

Elabore um Algoritmo e um Fluxograma em que o utilizador introduz duas notas, calcule a média e verifique se a média é superior ou igual a 9,5. Se for VERDADEIRO imprime a seguinte frase “Média Positiva, PARABENS!!”, se não, imprime “Reprovado, tente novamente!!”.

Page 18: Linguagens de Programação Pedro Lopes MÓDULO 1- Algoritmia

18

Ajuda à Resolução

LER nota1, nota2Media (nota1 + nota2) / 2Se (media >= 9,5) então

ESCREVER (“Média Positiva, PARABENS”)Se não

ESCREVER (“Reprovado, tente novamente”)

Page 19: Linguagens de Programação Pedro Lopes MÓDULO 1- Algoritmia

19

Exercício: Algoritmo

ALGORITMO “MÉDIA”DESCRIÇÃO: “Este algoritmo calcula a média de duas notas e

imprime uma mensagem para a média positiva ou negativa”

Variáveis nota1, nota2, media : Realinicio

ler(“Introduza as notas”, nota1, nota2)Media (nota1 + nota2) / 2Se (media >= 9,5) então

WRITE (“Média Positiva, PARABENS”)Se não

escrever(“Reprovado, tente novamente”)fim

Page 20: Linguagens de Programação Pedro Lopes MÓDULO 1- Algoritmia

20

Exercício: Fluxograma

inicio

fim

ler(“Introduza duas notas:”, nota1, nota2)

escrever(“Media Positiva, PARABENS”)

Se (Media >= 9,5)

Verdadeiro

Falso

Media (nota1 + nota2) / 2

escrever(“Reprovado, tente novamente”)

Page 21: Linguagens de Programação Pedro Lopes MÓDULO 1- Algoritmia

21

Resumo da Aula