Construcao de Algoritmos - Aula 03

Post on 16-Feb-2017

104 views 0 download

Transcript of Construcao de Algoritmos - Aula 03

Disciplina: Constr. de Algoritmos e Prog. de SistemasProfessor: Jeovane Reges

Caxias – MA2016

ACULDADE DE CIÊNCIAS E TECNOLOGIA DO MARANHÃO

2

Link Drive

bit.ly/ads-algoritmos

3

Algoritmos(Visualg)

4

• Algoritmos• Introdução• Nesta unidade veremos PORTUGOL, que

é uma forma de escrita estruturada, cuja finalidade é:

• Todas as linhas devem conter uma única instrução iniciada por verbos no imperativo.

Descrever em uma sequência lógica os passos para a resolução de um problema.

O imperativo é o modo verbal pelo qual se expressa uma ordem, pedido, orientação ou conselho.

5

Conhecendo o Visualg...

6

• Algoritmos• Visualg• O Visualg (Visualizador + Algoritmo) é um

programa que: Edita, interpreta e executa algoritmos com

uma linguagem próxima do português.

• Idealizado e desenvolvido pelo professor Cláudio Morgado.

• A ferramenta foi criada para ser usada no auxílio à construção de algoritmos.

7

• Algoritmos• Visualg

Tela inicial

8

• Algoritmos• Visualg

Arquivo → Novo

9

• Algoritmos• Visualg

Arquivo → Salvar

10

• Algoritmos• Visualg

Selecionar uma pasta para salvar o arquivo.

1

2

11

AndroidVisual

<App para programar pelo celular>

12

Portugol <Representação de Algoritmos>

13

• Algoritmos• Formas de representação de algoritmos• Os algoritmos podem ser representados

de três formas:

Fluxograma Nassi Shneiderman

algoritmo: “soma”var: n1, n2, soma: inteiroinicio n1 ← 10 n2 ← 5 soma ← n1 + n2

escreva (soma)fimalgoritmo

Portugol

Inicio

Fim

n1, n2

Soma ← n1 + n2

Soma

14

• Algoritmos• Formas de representação de algoritmos• Utilizaremos Fluxogramas e Portugol...

algoritmo: “soma”var: n1, n2, soma: inteiroinicio n1 ← 10 n2 ← 5 soma ← n1 + n2

escreva (soma)fimalgoritmo

a) b)Inicio

Fim

n1, n2

Soma ← n1 + n2

Soma

15

• Algoritmos • Formas de representação de algoritmos• Fluxogramas

Formas Geométricas que representam as “ações”:

- Indica o inicio e fim do algoritmo.

- Utilizado para representar entrada de dados.

- Utilizado para representar a saída de dados.

- Indica cálculos e atribuição de valores.

- Indica uma tomada de decisão ou repetição.

- Indica o sentido do fluxo de dados.

16

• Algoritmos• Formas de representação de algoritmos• Portugol

Representação em Pseudocódigo:

algoritmo "<nome_do_algoritmo>"var <declaração_de_variáveis>inicio <corpo_do_algoritmo>fim

17

• Algoritmos• Formas de representação de algoritmos• A primeira linha é composta pela palavra-

chave algoritmo seguida do seu nome.

• A seção seguinte é a de declaração de variáveis, que termina com a linha que contém a palavra-chave inicio.

• A partir desse ponto está a seção de comandos, que encerra com a palavra-chave fimalgoritmo.

18

Portugol <Executando Programas no

Visualg>

19

• Algoritmos• Visualg• Executando o Algoritmo

Algoritmo »» Executar

Barra de Ferramentas

20

• Algoritmos• Visualg• Executando um Programa• Executar:

Executa o algoritmo e apresenta o resultado no console (cmd).

• Passo a Passo: O usuário “dita” o ritmo de execução do

algoritmo.

• Executar com timer: O algoritmo é executado de forma interativa,

sublinhando em azul a linha que está sendo executada.

21

Portugol <Comentários>

22

• Algoritmos• Visualg• Comentários• Um trecho de texto incluído dentro do

programa para descrever alguma coisa.

• Os comentários não modificam o funcionamento do programa. São ignorados pelo compilador.

• Servem, apenas para ajudar o programador a organizar o seu código.

23

• Algoritmos• Visualg• Comentários• Portugol, permite fazer comentários

apenas por linha. Sintaxe por linha: // (duas barras).

algoritmo "Comentário"// Função: Comentários// Autor : Jeovane Reges// Data : 01/05/2023// Seção de Declaraçõesvar

iniciofimalgoritmo

Comentários

24

Portugol <Tipos de Dados>

25

• Algoritmos• Tipos de Dados• O VisuAlg prevê cinco tipos de dados:

inteiro, real, caractere, literal e lógico.

• Inteiro: Define variáveis numéricas do tipo inteiro, ou

seja, sem casas decimais.

• Real: Define variáveis numéricas do tipo real, ou

seja, com casas decimais.

26

• Algoritmos• Tipos de Dados• Caractere:

Define variáveis que armazenam um único caractere. Ex.: utilizar a letra “F” para indicar o sexo feminino.

• Literal: Define variáveis para armazenar uma sequência

de caracteres. Ex.: uma palavra, uma mensagem e etc.

• Logico: Define variáveis do tipo booleano, ou seja, com

valor VERDADEIRO ou FALSO.

27

• Algoritmos• Tipos de Dados

Exemplo:

Tipos PrimitivosTipo Exemplo

Inteiro 19Real 9.8Caractere “a”Literal “ Algoritmos”Lógico Verdadeiro

28

Portugol <Variáveis>

29

• Algoritmos• Variáveis• São locais utilizados para armazenar valores

na memória para serem manipulados.

• Para fazer essa indicação utiliza-se um comando de atribuição, representado por uma seta (←).

• Toda variável é caracterizada por um nome, que a identifica em um programa.

• Também é identificada por um tipo, que determina o que pode ser armazenado nela.

30

• Algoritmos• Variáveis• Regras para nomenclatura de variáveis

O primeiro caractere obrigatoriamente deve ser uma letra ou underline, mas nunca um número.

Não é permitido utilizar caracteres especiais ($, #, @ e etc), com exceção do underline ( _ ).

Não é permitido utilizar acentos gráficos ou cedilha.

Não é permitido utilizar espaço em branco.

Não é permitido utilizar palavras-chave da linguagem• Ex.: inicio, fimalgoritmo, var e etc.

31

• Algoritmos• Variáveis• Exemplos:

nome1 $alario ano_de_nascimento remédio 1nome Ano de nascimento fimalgoritmo

32

Não é sensitive case, ou seja, não diferencia letras maiúsculas

de minúsculas.

33

• Algoritmos• Variáveis• Sintaxe:• As variáveis devem ser declaradas dentro

da seção var.

<variável> : <tipo-de-dado><v1, v2, ..., vn> : <tipo-de-dado>

Atribuímos valores as variáveis com o marcador menor quê e o sinal de menos: ←

34

• Algoritmos• Variáveis• Exemplos:

a : reala ← 60.7

b, c : inteirob ← 15c ← 8

// Ambas as variáveis serão inteiras.

35

• Algoritmos• Variáveis• Exemplos:

algoritmo "Exemplo01"var msg: literalinicio msg ← " Algoritmos" // Saída: msg escreval("msg") // Saída: Algoritmos escreval(msg) // Saída: Mensagem – Algoritmos escreval("Mensagem – ", msg)fimalgoritmo

36

• Algoritmos• Variáveis• Identação:• Veja que as instruções não seguem o

alinhamento das palavras início e fimalgoritmo. Chamamos esse recuo de identação.

• A identação não é obrigatória, mas é uma prática bastante recomendada.

• Facilita a visualização da delimitação dos blocos de execução de qualquer algoritmo.

37

Portugol <Comandos de Saída>

38

• Algoritmos• Visualg• Comandos de Saída• Exibir uma mensagem ou resultado

para o usuário na tela do computador. escreva e o escreval

• Sintaxe:

escreva("<mensagem>")escreva("<mensagem>", <identificador>)

39

• Algoritmos• Visualg• Comandos de Saída

Exemplos:

escreva("Hello World")escreva("A soma é: ", soma)

escreval("Hello World")escreval("A soma é: ", soma)

Note que as mensagens estão entre ASPAS DUPLAS.

40

Portugol <Comando de Entrada>

41

• Algoritmos• Visualg• Comando de Entrada• É uma instrução que recebe dados do

teclado para realizar alguma tarefa.

• Esses dados são armazenados em variáveis. leia

• Sintaxe:

leia(<variavel>)

42

• Algoritmos• Visualg• Comando de Entrada

Exemplo:

algoritmo "Exemplo02"var msg: literalinicio escreva("Digite uma mensagem: ") leia(msg)

escreval(msg)fimalgoritmo

43

• Algoritmos• Comando de Entrada

Resultado:

Digite uma mensagem:

44

A Linguagem Portugol não permiti mais de uma instrução

por linha.