Aula Algoritmo
Aula Algoritmo
Aula Algoritmo
Abrir (Ctrl-A): Abre um arquivo anteriormente gravado, substituindo o texto presente no editor. Se este tiver
sido modificado, o VisuAlg pedirá sua confirmação para salvá-lo antes que seja sobreposto.
Novo (Ctrl-N): Cria um novo "esqueleto" de pseudocódigo, substituindo o texto presente no editor. Se este tiver
sido modificado, o VisuAlg pedirá sua confirmação para salvá-lo antes que seja sobreposto.
Salvar (Ctrl-S): Grava imediatamente o texto presente no editor. Na primeira vez que um novo texto é gravado, o
VisuAlg pede seu nome e localização.
Imprimir: Imprime imediatamente na impressora padrão o texto presente no editor. Para configurar a
impressão, use o comando Imprimir do menu Arquivo (acessível também pelo atalho Ctrl-P).
Cortar (Ctrl-X): Apaga texto selecionado, armazenando-o em uma área de transferência.
Copiar (Ctrl-C): Copia o texto selecionado para a área de transferência.
Colar (Ctrl-V): Copia texto da área de transferência para o local em que está o cursor.
Gravar bloco de texto: Permite a gravação em arquivo de um texto selecionado no editor. A extensão sugerida para o
nome do arquivo é .inc.
Inserir bloco de texto: Permite a inserção do conteúdo de um arquivo. A extensão sugerida para o nome do arquivo
é .inc.
Desfazer (Ctrl-Z): Desfaz último comando efetuado.
Refazer (Shift-Ctrl-Z): Refaz último comando desfeito
Localizar (Ctrl-L): Localiza no texto presente no editor determinada palavra especificada.
Substituir (Ctrl-U): Localiza no texto presente no editor determinada palavra especificada, substituindo-a por outra.
Corrigir Indentação (Ctrl-G): Corrige automaticamente a indentação (ou tabulação) do pseudocódigo, tabulando
cada comando interno com espaços à esquerda.
Numerar linhas: Ativa ou desativa a exibição dos números das linhas na área à esquerda do editor. A linha e a coluna
do editor em que o cursor está em um determinado momento também são mostradas na barra de status (parte
inferior da tela). Por motivos técnicos, esta opção é automaticamente desativada durante a execução do
pseudocódigo, mas volta a ser ativada logo em seguida.
Mostrar variáveis modificadas: Ativa ou desativa a exibição da variável que está sendo modificada. Como o número
de variáveis pode ser grande, muitas podem estar fora da janela de visualização; quando esta característica está
ativada, o VisuAlg rola a grade de exibição de modo que cada variável fique visível no momento em está sendo
modificada. Este recurso é especialmente útil quando se executa um pseudocódigo passo a passo. Por questões de
desempenho, a configuração padrão desta característica é desativada, quando o pseudocódigo está sendo executado
automaticamente. No entanto, basta clicar este botão para executá-lo automaticamente com a exibição ativada. No
final da execução, a configuração volta a ser desativada.
Executar (F9): Inicia (ou continua) a execução automática do pseudocódigo.
Executar com timer (Shift-F9): Insere um atraso (que pode ser especificado no intervalo ao lado) antes da
execução de cada linha. Também realça em fundo azul o comando que está sendo executado, da mesma forma
que na execução passo a passo.
Intervalo do timer: Atraso em cada linha, para quando se deseja executar o pseudocódigo com timer.
Passo (F8): Inicia (ou continua) a execução linha por linha do pseudocódigo, dando ao usuário a oportunidade de
acompanhar o fluxo de execução, os valores das variáveis e a pilha de ativação dos subprogramas.
Parar (Ctrl-F2): Termina imediatamente a execução do pseudocódigo. Evidentemente, este botão fica desabilitado
quando o pseudocódigo não está sendo executado.
Liga/desliga breakpoint (F5): Insere/remove um ponto de parada na linha em que esteja o cursor. Estes pontos de
parada são úteis para a depuração e acompanhamento da execução dos pseudocódigos, pois permitem a
verificação dos valores das variáveis e da pilha de ativação de subprogramas.
Desmarcar todos os breakpoints (Ctrl-F5): Desativa todos os breakpoints que estejam ativados naquele momento.
Executar em modo DOS: Com esta opção ativada, tanto a entrada como a saída-padrão passa a ser
uma janela que imita o DOS, simulando a execução de um programa neste ambiente.
Gerar valores aleatórios: Ativa a geração de valores aleatórios que substituem a digitação de dados.
A faixa padrão de valores gerados é de 0 a 100 inclusive, mas pode ser modificada (basta alterar
intervalo ao lado). Para a geração de dados do tipo caractere, não há uma faixa pré-estabelecida: os
dados gerados serão sempre strings de 5 letras maiúsculas.
Intervalo dos valores aleatórios: Faixa de valores que serão gerados automaticamente, quando esta
opção estiver ativada.
Perfil (F7): Após a execução de um pseudocódigo, exibe o número de vezes que cada umas das suas
linhas foi executada. É útil para a análise de eficiência (por exemplo, nos métodos de ordenação).
Mostrar pilha de ativação (Ctrl-F3): Exibe a pilha de subprogramas ativados num dado momento.
Convém utilizar este comando em conjunto com breakpoints ou com a execução passo a passo.
Ajuda (F1): Possibilita acesso às páginas de ajuda e às informações sobre o VisuAlg.
Formato Básico do Pseudocódigo e Inclusão de Comentários
O formato básico do nosso pseudocódigo é o seguinte:
algoritmo "semnome"
// Função :
// Autor :
// Data :
// Seção de Declarações
var
inicio
// Seção de Comandos
fimalgoritmo
A primeira linha é composta pela palavra-chave algoritmo seguida do seu nome delimitado por aspas duplas. Este
nome será usado como título nas janelas de leitura de dados. A seção que se segue é a de declaração de variáveis,
que termina com a linha que contém a palavra-chave inicio. Deste ponto em diante está a seção de comandos, que
continua até a linha em que se encontre a palavra-chave fimalgoritmo. Esta última linha marca o final do
pseudocódigo: todo texto existente a partir dela é ignorado pelo interpretador.
O VisuAlg permite a inclusão de comentários: qualquer texto precedido de "//" é ignorado, até se atingir o final da
sua linha. Por este motivo, os comentários não se estendem por mais de uma linha: quando se deseja escrever
comentários mais longos, que ocupem várias linhas, cada uma delas deverá começar por "//"
Variáveis
• Identificador : Tipo
*como não podemos usar uma seta, usamos o sinal de menor seguido
de um hífem para fazer uma atribuição.
Comandos de Saída
Escreva (“msg”)
Escreva (msg)
fimalgoritmo
Utilizando atribuições
inicio
// Seção de Comandos
escreva ("Por favor informe seu nome: ")
leia (nome)
escreva (“Muito prazer, ", nome)
fimalgoritmo
Operadores Aritméticos
A <- 5
B <- 2
+ Adição A+B 7
- Subtração A-B 3
* Multiplicação A*B 10
/ Divisão A/B 2.5
\ Divisão inteira A\B 2
^ Exponenciação A^B 25
% Módulo (resto) A%B 1
Ordem de Precedência
() Parênteses
^ Exponenciação
*/ Multiplicação e Divisão
+- Adição e Subtração
3 + 2/2 = 4
(3 + 2)/2 = 2.5
Funções Aritméticas
p q p OU q
V V V
V F V
F V V
F F F
p NÂO p
V F
F V
P (Paula) Q(Queila) pEq
P (Paula) Q(Queila) p OU q
algoritmo "semnome" algoritmo "semnome"
// Função : // Função :
// Autor : // Autor :
// Data : 17/11/2018 // Data : 17/11/2018
// Seção de Declarações // Seção de Declarações
var var
A, B, C: inteiro
inicio inicio
// Seção de Comandos // Seção de Comandos
escreva (verdadeiro ou falso) A<-2
fimalgoritmo B<-3
C<-5
Escreva((A=B) ou (C>A))
fimalgoritmo
ORDEM DE PRECEDENCIA
( )
Aritméticos • /
+-
Relacionais TODOS
OU
Lógicos
NÃO
Exercícios
1. Solicitar para o usuário informar 1 número e imprimir esse número na tela
2. Solicitar 2 números para o usuário e informar a soma entre eles.
3. Solicitar 2 números para o usuário e informar a média entre eles.
4. Faça um algoritmo que apresente 5 retornos Falsos e 5 verdadeiros.
5. Faça um algoritmo que apresente o valor absoluto de um número a sua escolha. (use 3
números diferentes para esse exercício)
6. Faça um algoritmo que apresente o valor exponencial de um numero a sua escolha. (use 6
números diferentes)
7. Faça um algoritmo que apresente o valor da raiz quadrada de um número a sua escolha. (use 5
números diferentes)
8. Faça um triangulo usando três valores informados pelo usuário e diga se o mesmo é equilátero
ou escaleno.
9. Verifique se o algoritmo anterior pode formar um triangulo.
10. Faça um algoritmo que informe a idade que a pessoa terá no ano atual.
11. Calcule quantos dólares podem ser comprados com o valor informado pelo usuário.
(Utilize o valor do dólar a 3,87)
12. Faça um algoritmo em que o usuário informe o valor da compra, o valor pago e o algoritmo retorne o
valor do troco.
13. Criar um programa que leia o nome de um vendedor e seu salário, mostrando o nome e seu salário
com acréscimo de 10%.
14. A loja Xô Flango está vendendo seus produtos em 5 (cinco) prestações sem juros. Faça um programa
que receba um valor de uma compra e mostre o valor das prestações.
15. Faça um algoritmo que leia duas notas e informe se o aluno foi aprovado (média >= 5) ou reprovado
(média <5).
16. Criar um programa que leia dois valores inteiros e efetue a troca desses valores na sua respectiva
variável, e imprima na tela os valores invertidos.
17. Ler uma temperatura em graus Celsius e apresentá-la convertida em graus Fahrenheit. A fórmula de
conversão é: (F=(9*C+160)/5), sendo F a temperatura em Fahrenheit e C a temperatura em Celsius.
18. Faça um programa que receba um valor que foi depositado e exiba o valor com rendimento após um
mês. Considere fixo o juro da poupança em 0,50% a. m.
19. Informar o valor do litro do Álcool e da Gasolina e mostrar para o usuário qual é o percentual do
álcool em relação a gasolina.
20. Faça um programa que receba o preço de custo de um produto e mostre o valor de venda.
Sabe-se que o preço de custo receberá um acréscimo de acordo com um percentual informado pelo
usuário.
Estrutura Condicional Simples
A Estrutura Condicional Simples executa um comando ou vários comandos
se a condição for verdadeira. Se a condição for falsa, a estrutura é finalizada
sem executar os comandos. O comando que define a estrutura é
representado pela palavra SE.
• Pseudocódigo:
INICIO ALGORITMO
SE condição ENTAO
comando
FIM SE
FIM ALGORITMO
O comando somente será executado se a condição for verdadeira
Estrutura de decisões “SE” e “SENAO”
Estrutura Condicional Composta
A Estrutura Condicional Composta segue o mesmo princípio da Estrutura Condicional Simples, com a diferença de
que quando a condição não é satisfeita, será executado o outro comando. O comando que define a estrutura é
representado pelas palavras SE e SE NÃO.
• Pseudocódigo:
INICIO ALGORITMO
SE condição ENTAO
comando A
SENAO
comando B
FIM SE
FIM ALGORITMO
SE-ENTÃO-SENÃO NA PRÁTICA!
Vejamos um exemplo de utilização desta estrutura com um algoritmo, para isso vamos utilizar o VisuAlg . Neste
algoritmo, vamos simular um caixa eletrônico quando vamos sacar dinheiro. O caixa eletrônico verifica se o valor
que desejamos sacar é menor que o saldo disponível. Assumiremos que há R$ 1000 de saldo disponível para o
saque.
algoritmo "SacarDinheiro"
var
SaldoDisponivel : REAL
ValorDoSaque : REAL
inicio
SaldoDisponivel := 1000
//Assumimos que há 1000 reais de saldo na conta
disponível para saque
ESCREVA ("Informe o valor do Saque: ")
LEIA (ValorDoSaque)
SE ValorDoSaque <= SaldoDisponivel ENTAO
SaldoDisponivel := SaldoDisponivel - ValorDoSaque
ESCREVAL ("Sacando R$ ", ValorDoSaque, ".")
SENAO
ESCREVAL ("O valor solicitado é maior que o valor
disponível para saque!")
FIMSE
fimalgoritmo
Exercícios
1. Faça um algorítimo que leia um numero e imprima na tela se o numero é menor do que 10, se o numero é igual
ao numero 10 e se o numero é maior do que o numero 10.
2. Faça algorítimo que leia três notas de um aluno, e mostre na tela como a seguir:
Calcular e imprimir na tela a media do aluno
Se media for menor do que 3 ( Aluno reprovado )
Se media for mair ou igual a 3 e menor do que 5 ( Aluno ficou de recuperação )
Se media for maior maior ou igual a 5 ( Aluno aprovado )
3. Em uma papelaria, até 100 folhas, a cópia custa R$0,25, e acima de 100 folhas custa R$0,20. Dado o total de
cópias, informe o total a ser pago.
4. Faça um algoritmo que receba um número e mostre uma mensagem caso este número seja maior que 10.
5. Escrever um algoritmo que leia dois valores inteiro distintos e informe qual é o maior.
6. Faça um algoritmo que receba um número e diga se este número está no intervalo entre 100
e 200.
7. Em uma fábrica, uma máquina precisa de manutenção sempre que o número de peças defeituosas supera 10%
da produção. Dados o total de peças produzidas e o total de peças defeituosas, informe se a máquina precisa de
manutenção.
8. Dada a idade de um nadador, informe a sua categoria: Infantil (até 10 anos), Juvenil (até 17 anos) ou Sênior
(acima de 17 anos).
9. Em uma escola digitar suas 4 notas bimestrais, aprovação da
instituição, assim mostrando sua situação: aprovado ou reprovado.
10. Dados três números distintos, exiba-os em ordem crescente.
11. Ler um número e se for maior que 20, mostrar a metade desse
número.