construcao de algoritmos - aula 03

44
Disciplina: Constr. de Algoritmos e Prog. de Sistemas Professor: Jeovane Reges Caxias – MA 2016 ACULDADE DE CIÊNCIAS E TECNOLOGIA DO MARANHÃO

Upload: facema-faculdade-de-ciencias-e-tecnologia-do-maranhao

Post on 16-Feb-2017

104 views

Category:

Education


0 download

TRANSCRIPT

Page 1: 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

Page 2: Construcao de Algoritmos - Aula 03

2

Link Drive

bit.ly/ads-algoritmos

Page 3: Construcao de Algoritmos - Aula 03

3

Algoritmos(Visualg)

Page 4: Construcao de Algoritmos - Aula 03

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.

Page 5: Construcao de Algoritmos - Aula 03

5

Conhecendo o Visualg...

Page 6: Construcao de Algoritmos - Aula 03

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.

Page 7: Construcao de Algoritmos - Aula 03

7

• Algoritmos• Visualg

Tela inicial

Page 8: Construcao de Algoritmos - Aula 03

8

• Algoritmos• Visualg

Arquivo → Novo

Page 9: Construcao de Algoritmos - Aula 03

9

• Algoritmos• Visualg

Arquivo → Salvar

Page 10: Construcao de Algoritmos - Aula 03

10

• Algoritmos• Visualg

Selecionar uma pasta para salvar o arquivo.

1

2

Page 11: Construcao de Algoritmos - Aula 03

11

AndroidVisual

<App para programar pelo celular>

Page 12: Construcao de Algoritmos - Aula 03

12

Portugol <Representação de Algoritmos>

Page 13: Construcao de Algoritmos - Aula 03

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

Page 14: Construcao de Algoritmos - Aula 03

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

Page 15: Construcao de Algoritmos - Aula 03

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.

Page 16: Construcao de Algoritmos - Aula 03

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

Page 17: Construcao de Algoritmos - Aula 03

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.

Page 18: Construcao de Algoritmos - Aula 03

18

Portugol <Executando Programas no

Visualg>

Page 19: Construcao de Algoritmos - Aula 03

19

• Algoritmos• Visualg• Executando o Algoritmo

Algoritmo »» Executar

Barra de Ferramentas

Page 20: Construcao de Algoritmos - Aula 03

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.

Page 21: Construcao de Algoritmos - Aula 03

21

Portugol <Comentários>

Page 22: Construcao de Algoritmos - Aula 03

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.

Page 23: Construcao de Algoritmos - Aula 03

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

Page 24: Construcao de Algoritmos - Aula 03

24

Portugol <Tipos de Dados>

Page 25: Construcao de Algoritmos - Aula 03

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.

Page 26: Construcao de Algoritmos - Aula 03

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.

Page 27: Construcao de Algoritmos - Aula 03

27

• Algoritmos• Tipos de Dados

Exemplo:

Tipos PrimitivosTipo Exemplo

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

Page 28: Construcao de Algoritmos - Aula 03

28

Portugol <Variáveis>

Page 29: Construcao de Algoritmos - Aula 03

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.

Page 30: Construcao de Algoritmos - Aula 03

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.

Page 31: Construcao de Algoritmos - Aula 03

31

• Algoritmos• Variáveis• Exemplos:

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

Page 32: Construcao de Algoritmos - Aula 03

32

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

de minúsculas.

Page 33: Construcao de Algoritmos - Aula 03

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: ←

Page 34: Construcao de Algoritmos - Aula 03

34

• Algoritmos• Variáveis• Exemplos:

a : reala ← 60.7

b, c : inteirob ← 15c ← 8

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

Page 35: Construcao de Algoritmos - Aula 03

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

Page 36: Construcao de Algoritmos - Aula 03

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.

Page 37: Construcao de Algoritmos - Aula 03

37

Portugol <Comandos de Saída>

Page 38: Construcao de Algoritmos - Aula 03

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>)

Page 39: Construcao de Algoritmos - Aula 03

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.

Page 40: Construcao de Algoritmos - Aula 03

40

Portugol <Comando de Entrada>

Page 41: Construcao de Algoritmos - Aula 03

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>)

Page 42: Construcao de Algoritmos - Aula 03

42

• Algoritmos• Visualg• Comando de Entrada

Exemplo:

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

escreval(msg)fimalgoritmo

Page 43: Construcao de Algoritmos - Aula 03

43

• Algoritmos• Comando de Entrada

Resultado:

Digite uma mensagem:

Page 44: Construcao de Algoritmos - Aula 03

44

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

por linha.