construcao de algoritmos - aula 03
TRANSCRIPT
![Page 1: Construcao de Algoritmos - Aula 03](https://reader034.vdocuments.net/reader034/viewer/2022052705/58a53c621a28ab4f088b4931/html5/thumbnails/1.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052705/58a53c621a28ab4f088b4931/html5/thumbnails/2.jpg)
2
Link Drive
bit.ly/ads-algoritmos
![Page 3: Construcao de Algoritmos - Aula 03](https://reader034.vdocuments.net/reader034/viewer/2022052705/58a53c621a28ab4f088b4931/html5/thumbnails/3.jpg)
3
Algoritmos(Visualg)
![Page 4: Construcao de Algoritmos - Aula 03](https://reader034.vdocuments.net/reader034/viewer/2022052705/58a53c621a28ab4f088b4931/html5/thumbnails/4.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052705/58a53c621a28ab4f088b4931/html5/thumbnails/5.jpg)
5
Conhecendo o Visualg...
![Page 6: Construcao de Algoritmos - Aula 03](https://reader034.vdocuments.net/reader034/viewer/2022052705/58a53c621a28ab4f088b4931/html5/thumbnails/6.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052705/58a53c621a28ab4f088b4931/html5/thumbnails/7.jpg)
7
• Algoritmos• Visualg
Tela inicial
![Page 8: Construcao de Algoritmos - Aula 03](https://reader034.vdocuments.net/reader034/viewer/2022052705/58a53c621a28ab4f088b4931/html5/thumbnails/8.jpg)
8
• Algoritmos• Visualg
Arquivo → Novo
![Page 9: Construcao de Algoritmos - Aula 03](https://reader034.vdocuments.net/reader034/viewer/2022052705/58a53c621a28ab4f088b4931/html5/thumbnails/9.jpg)
9
• Algoritmos• Visualg
Arquivo → Salvar
![Page 10: Construcao de Algoritmos - Aula 03](https://reader034.vdocuments.net/reader034/viewer/2022052705/58a53c621a28ab4f088b4931/html5/thumbnails/10.jpg)
10
• Algoritmos• Visualg
Selecionar uma pasta para salvar o arquivo.
1
2
![Page 11: Construcao de Algoritmos - Aula 03](https://reader034.vdocuments.net/reader034/viewer/2022052705/58a53c621a28ab4f088b4931/html5/thumbnails/11.jpg)
11
AndroidVisual
<App para programar pelo celular>
![Page 12: Construcao de Algoritmos - Aula 03](https://reader034.vdocuments.net/reader034/viewer/2022052705/58a53c621a28ab4f088b4931/html5/thumbnails/12.jpg)
12
Portugol <Representação de Algoritmos>
![Page 13: Construcao de Algoritmos - Aula 03](https://reader034.vdocuments.net/reader034/viewer/2022052705/58a53c621a28ab4f088b4931/html5/thumbnails/13.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052705/58a53c621a28ab4f088b4931/html5/thumbnails/14.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052705/58a53c621a28ab4f088b4931/html5/thumbnails/15.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052705/58a53c621a28ab4f088b4931/html5/thumbnails/16.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052705/58a53c621a28ab4f088b4931/html5/thumbnails/17.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052705/58a53c621a28ab4f088b4931/html5/thumbnails/18.jpg)
18
Portugol <Executando Programas no
Visualg>
![Page 19: Construcao de Algoritmos - Aula 03](https://reader034.vdocuments.net/reader034/viewer/2022052705/58a53c621a28ab4f088b4931/html5/thumbnails/19.jpg)
19
• Algoritmos• Visualg• Executando o Algoritmo
Algoritmo »» Executar
Barra de Ferramentas
![Page 20: Construcao de Algoritmos - Aula 03](https://reader034.vdocuments.net/reader034/viewer/2022052705/58a53c621a28ab4f088b4931/html5/thumbnails/20.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052705/58a53c621a28ab4f088b4931/html5/thumbnails/21.jpg)
21
Portugol <Comentários>
![Page 22: Construcao de Algoritmos - Aula 03](https://reader034.vdocuments.net/reader034/viewer/2022052705/58a53c621a28ab4f088b4931/html5/thumbnails/22.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052705/58a53c621a28ab4f088b4931/html5/thumbnails/23.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052705/58a53c621a28ab4f088b4931/html5/thumbnails/24.jpg)
24
Portugol <Tipos de Dados>
![Page 25: Construcao de Algoritmos - Aula 03](https://reader034.vdocuments.net/reader034/viewer/2022052705/58a53c621a28ab4f088b4931/html5/thumbnails/25.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052705/58a53c621a28ab4f088b4931/html5/thumbnails/26.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052705/58a53c621a28ab4f088b4931/html5/thumbnails/27.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052705/58a53c621a28ab4f088b4931/html5/thumbnails/28.jpg)
28
Portugol <Variáveis>
![Page 29: Construcao de Algoritmos - Aula 03](https://reader034.vdocuments.net/reader034/viewer/2022052705/58a53c621a28ab4f088b4931/html5/thumbnails/29.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052705/58a53c621a28ab4f088b4931/html5/thumbnails/30.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052705/58a53c621a28ab4f088b4931/html5/thumbnails/31.jpg)
31
• Algoritmos• Variáveis• Exemplos:
nome1 $alario ano_de_nascimento remédio 1nome Ano de nascimento fimalgoritmo
![Page 32: Construcao de Algoritmos - Aula 03](https://reader034.vdocuments.net/reader034/viewer/2022052705/58a53c621a28ab4f088b4931/html5/thumbnails/32.jpg)
32
Não é sensitive case, ou seja, não diferencia letras maiúsculas
de minúsculas.
![Page 33: Construcao de Algoritmos - Aula 03](https://reader034.vdocuments.net/reader034/viewer/2022052705/58a53c621a28ab4f088b4931/html5/thumbnails/33.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052705/58a53c621a28ab4f088b4931/html5/thumbnails/34.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052705/58a53c621a28ab4f088b4931/html5/thumbnails/35.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052705/58a53c621a28ab4f088b4931/html5/thumbnails/36.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052705/58a53c621a28ab4f088b4931/html5/thumbnails/37.jpg)
37
Portugol <Comandos de Saída>
![Page 38: Construcao de Algoritmos - Aula 03](https://reader034.vdocuments.net/reader034/viewer/2022052705/58a53c621a28ab4f088b4931/html5/thumbnails/38.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052705/58a53c621a28ab4f088b4931/html5/thumbnails/39.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052705/58a53c621a28ab4f088b4931/html5/thumbnails/40.jpg)
40
Portugol <Comando de Entrada>
![Page 41: Construcao de Algoritmos - Aula 03](https://reader034.vdocuments.net/reader034/viewer/2022052705/58a53c621a28ab4f088b4931/html5/thumbnails/41.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052705/58a53c621a28ab4f088b4931/html5/thumbnails/42.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052705/58a53c621a28ab4f088b4931/html5/thumbnails/43.jpg)
43
• Algoritmos• Comando de Entrada
Resultado:
Digite uma mensagem:
![Page 44: Construcao de Algoritmos - Aula 03](https://reader034.vdocuments.net/reader034/viewer/2022052705/58a53c621a28ab4f088b4931/html5/thumbnails/44.jpg)
44
A Linguagem Portugol não permiti mais de uma instrução
por linha.