construcao de algoritmos - aula 03
TRANSCRIPT
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.