Algoritmo - Gustavo Guanabara
Estou começando este curso no dia 1 de Dezembro de 2025
1º Video
Introdução a Algoritmos
1 de Dezembro de 2025
algoritmo ≠ algarismo
Algoritmos são conjuntos de passos finitos e organizados que, quando executados, resolvem um determinado problema. - Jose Augusto Navarro Garcia Manzano
proporção áurea
a/b = φ = 1,6180339885
homem vitruviano de Da Vinci
calcular beleza; distânica da cabeça aos pés & a distância do umbigo até os pés -> a/b = φ
Algoritmo = Rotina
Exemplo:
Ver. 1 [certa]
Algoritmo AtravessarRua
Olhar para a direita
Olhar para a esquerda
Se estiver vindo carro
Não Atravesse
senão
Atravesse
Fim-Se
Fim-Algoritmo
Ver. 2 [certa]
Algoritmo AtravessarRua
Olhar para a esquerda
Olhar para a direita
Se não estiver vindo carro
Atravesse
senão
Não Atravesse
Fim-Se
Fim-Algoritmo
Ver. 3 [errada]
Algoritmo AtravessarRua
Atravesse
Se estiver vindo carro
Olhar para a direita
senão
Olhar para a esquerda
Fim-Se
Fim-Algoritmo
Conteúdo para o Curso de Algoritmo
1 de Dezembro de 2025
Download das Ferramentas de Aprendizado
Durante a aula, utilizaremos duas ferramentas simples para que você possa testar a execução de algoritmos diretamente no seu computador. Basta clicar sobre o ícone do aplicativo abaixo e fazer seu download.
Obs: Você será redirecionado para o site oficial da ferramenta. O CursoemVideo não se responsabiliza pela disponibilidade dos arquivos em questão. Entretanto, caso o esteja fora do ar, pedimos que nos avise para mudarmos o link para não prejudicar seu estudo. Contamos com sua colaboração!
Download do Visualg + Exercícios Resolvidos e Atividades Propostas
A partir da Aula 07, serão feitos exercícios e algumas atividades serão sugeridas. Clicando no pacote abaixo você terá acesso a o Visualg e todos os exercícios propostos. Não se esqueça de praticar a criação dos seus próprios algoritmos. Exercitar é fundamental!
Atenção!!!: Para abrir os exercícios precisa acessar o visualg, ir em arquivos no canto superior esquerdo e Abrir, pesquise a página de exercícios e escolha um exercício.
Importante: O Visualg não tem compatibilidade com MacOS e Linux, a melhor opção para utilizar é no Windows.
Download da Apostila
Para complementar o material das aulas em vídeo, vamos disponibilizar aqui as Apostilas do Curso de Algoritmos, produzidas por terceiros. É só escolher um dos ícones a seguir e baixar seu material de apoio.
2º Vídeo
Primeiro Algoritmo
7 de Dezembro de 2025
Algoritmos Computacionais
São passos a serem seguidos por um módulo processador e seus respectivos usuários que, quando executados na ordem correta, conseguem realizar determinada tarefa.
- módulo processador - é tudo que pode efetuar processamento; tudo aquilo pode ser programado
- usuários - você e/ou outras pessoas
- realizar (determinada) tarefa - resolver determinado problema e/ou necessidade
Exemplos: sistemas de gestão, home bank(conta no banco[app; site]), redes sociais, vídeos, jogos
Como fazer um algoritmo computacional
- lógica de programação
- Fluxograma - antigo e não é muitos usado
- Nassi Shneiderman (diagrama de chapin) - antigo e não é muitos usado
- Portugol - pseudo-código -> maneira de representar a lógica de programação na linguagem nativa/mother tongue
- linguagem de programação
- sistema completo
Comandos de Saída Visualg
Escreva("Qualquer coisa")
Escreval("Qualquer coisa") -> escreve e pula a linha
Variáveis
São "caixas" na memória do computador, identificadas por um nome, que armazenam dados(números, textos, etc) que podem mudar durante a execução do programa.
var
identificador: tipo
Ex: BOLA: Brinquedo
Identificador
Identifica determinados variáveis
- Deve começar com uma letra
- As próximas caracteres podem ser letras ou números
- Não pode utilizar nenhum símbolo, exceto _
- Não pode conter espaço em branco
- Não pode conter letras com acentos
- Não pode ser uma palavra reservada -> geralmente vem sublinhadas e/ou azul no Visualg
- Nota1 - ✔️
- Média - ✖️
- Salário Bruto - ✖️
- 9dade - ✖️
- Algoritmo - ✖️
- Inicio_Algoritmo - ✔️ -> é um identificador porque "Inicio_Algoritmo" não é uma palavra reserva, mas sim, "Inicio" e "Algoritmo".
Tipos Primitivos
- Inteiro - Ex: 1 3 5 -5 198 0
- Números inteiros podem ser reais, mas não ao contrário; os inteiros são um subconjunto dos reais
- Real - Ex: 0.5 5.0 9.8 -77.3 3.1415
- Eles são um conjunto que engloba todos os inteiros, racionais (como frações e decimais) e irracionais (como π e √2)
- Caracteres - Ex: "Gustavo" "Algoritmo" "123"
- Podem ter acentos e símbolos
- Lógico - Ex: verdadeiro falso
Atribuições (<-)
Inicio
Escreva("Olá, Mundo!")
⬇️
var
msg: caractere
Inicio
Escreva("Olá, Mundo!")
⬇️
var
msg: caractere
Inicio
msg < "Olá, Mundo!"
Escreva(msg)
- Escreva("msg") - escreve as caracteres que estão entre as aspas.
- Escreva(msg) - escreve o que foi atribuido à variável.
- Escreva("Mensagem: ", msg) - escreve as caracteres que estão entre as aspas & escreve o que foi atribuido à variável.
3º Vídeo
Comando de Entrada e Operadores
8 & 9 de Dezembro de 2025
Comando de Entrada - solicita algo do usuário para prosseguir
Algoritmo "MeuNome"
var
Nome: caracteres
Inicio
Escreva("Digite seu nome: ")
Leia(Nome) -> este comando deixa o usuário responder
Escreva("Muito Prazer ", Nome)
FimAlgoritmo
Prática: solicitar dois números para o usuário e mostrar a soma entre eles
Algoritmo "a primeira soma"
var
N1, N2, S: inteiro
Inicio
Escreva("Informe um número: ")
Leia(N1)
Escreva("Informe outro número: ")
Leia(N2)
S < N1+N2
Escreva("A soma entre ", N1, " e ", N2, " é igual a ", S)
FimAlgoritmo
Operadores Aritméticos
/ -> divisão -> divisão normal
\ -> divisão inteira -> pega só o número inteiro da divisão
Ordem de Precedência
Funções Aritméticas
rad -> radiano
sen, cos & tan só aceitam valores em radiano
Exemplos:
1º Arquivo da aula
2º Arquivo da aula
3º Arquivo da aula
4º Vídeo
Operadores Lógicos e Relacionais
9 de Dezembro de 2025
Operadores Relacionais - vão criar as relações entre as variáveis ou expressões; criar comparações e criar resultados lógicos
Prática: comparar valores numéricos
var
A, B, C: Inteiro
Inicio
A < 2
B < 3
C < 5
Escreva(C>=B^A) -> falso
Escreva(C=A+B) -> verdadeiro
Escreva(C=6) -> falso
Escreva(B<=C%2) - dividiu C por 2 e o resto(%) é 1 -> falso
Escreva(1=C%2) -> verdadeiro
Operadores Lógicos
E -> quero este e este; quero as (neste caso) duas coisas; só dá o resultado lógico V quando as premissas (p e q neste caso) estiverem com V, se não, dá F. Exemplo: Paula e Quézia felizes = eu feliz / p feliz, mas q não = eu não feliz / p triste, mas q feliz = eu não feliz / p e q triste = eu triste
OU -> só dá o resultado lógico F se os valores nas premissas forem F e se não, V; p e q feliz = eu feliz / p feliz, mas q não = eu feliz / p triste, mas q feliz = eu feliz / p e q não feliz = eu não feliz
Exemplo:
A < 2
B < 3
C < 5
Escreva((A=B[F]) ou (C>A[V])) = verdadeiro
Escreva(nao(A=B) ou (C>A)) = falso
Ordem de Precedência dos Operadores
os relacionais não tem uma ordem; o que aparecer primeiro é primeiro a ser resolvido
Arquivo da aula5º Vídeo
Introdução ao Scratch
9 de Dezembro de 2025
introdução à algumas coisas simples
Fizemos um joguinho onde ao tocar num bloco que fizemos, 1 ponto é adicionado ao placar.
6º Vídeo
Exercícios de Algoritmo Resolvidos (no scratch e Visualg)
11 de Dezembro de 2025
Situação 1: Creuza vai fazer aniversário, mas não sabe quantas velas que é para por no bolo
Situação 2: Creuza vai viajar para os Estados Unidos e precisa comprar dólares
Situação 3: Creuza não sabe a temperatura usada nos Estados Unidos (C=F-32/1,8)
Escreva("No Brasil estaria ", C:4:1) -> 4 casas, 1 delas sendo depois da vírgula
Situação 4: Creuza comprou muita muamba; muitos equipamentos eletrônicos e vai ter que pagar a taxação (60% -> x*60/100
Escreva("O imposto será de US$", imposto:5:2) -> 5 casas, 2 sendo depois da vírgula
Situação 5 (extra): Creuza teve que pegar um empréstimo no banco, considerando: 2o% de juros & parcelado
não consegui fazer ainda(ainda o mesmo dia) porque não tem um símbolo que faça a porcentagem que não seja para descobrir a porcentagem de um número. O que quero fazer é empréstimo + 20% e não 20% do empréstimo
não comecei a fazer o visualg ainda
7º Vídeo
Estruturas Condicionais 1
13 & 14 de Dezembro de 2025
Condicional simples - um bloco sendo executado caso uma expressão seja verdadeira.
Se (dinheiro >= 10000) entao
Escreva("Partiu Disney")
FimSe
Prática 01: Aprimorando o Algoritmo da Idade
Condicional Composta - um bloco sendo executado caso uma expressão seja verdadeira, e se não, outro bloco será executado.
Se (dinherio >= 10000) entao
Escreva("Partiu Disney")
senao
Escreva("#chateado:(")
FimSe
Ctrl + g -> faz as indentações para você no Visualg, mas não se acostumar com isso porque outros programas geralmente não têm as função.
IMC=Massa/Altura²
Exercício 01: Está apto a dirigir?
Minha resolução Resolução do professorExercício 02: Aluno aprovado ou reprovado?
Minha resolução Resolução do professor
Escreval -> ele sem texto pula uma linha
8º Vídeo
Estruturas Condicionais 2
18 de Dezembro de 2025
Condição Aninhada
Se (situação 1) entao
Bloco A
senao
Se (situação 2)
Bloco B
senao
Bloco C
FimSe
FimSe
Exemplo:
Se (dinheiro >= 10000) entao
Escreval("Partiu Disney")
senao
Se (dinheiro >= 5000) e (dinheiro <10000) entao
Escreval("Visitar família")
senao
Escreva("#chateado")
FimSe
FimSe
Prática 01: Aluno aprovado, reprovado ou em recuperação?
Prática 02: Cálculo do IMC completo
Condição Escolha Caso
Escolha (variável)
Caso valor
Bloco A
Caso valor
Bloco B
Caso valor
Bloco C
OutroCaso
Bloco D
FimEscolha
OutroCaso é quando nenhum dos outros casos sejam escolhidos e então o bloco do outrocaso será exibido; ele é opicional
Prática 04: Quantidade de dependentes de um funcionário
NSal <- Sal + (Sal*5/100)
= 1000+(1000*5%)
=1000+50
=1050
Escolha dep
Caso 0
NSal <- Sal + (Sal*5/100)
Caso 1, 2, 3
NSal <- Sal + (Sal*10/100)
Caso 4, 5, 6
NSal <- Sal + (Sal*15/100)
OutroCaso
NSal <- Sal + (Sal*18/100)
FimEscolha
Exercício 01: Aproveitamento de um aluno
Minha resolução Resolução do professorExercício 02: Uma partida de futebol (esse precisei olhar a resposta porque o resultado porque o resultado estava dando negativo as vezes)
Minha resolução Resolução do professor9º Vídeo
Estruturas de Repetição 1
2 de Janeiro de 2026
Enquanto -> looping
Enquanto expressão faca
bloco
FimEnquanto
Exemplo genérico:
mão <- 0
Enquanto (mão ≤ 5) faca
troca
mão < mão + 1
FimEnquanto
Prática 01: Contar de 0 até 10
Prática 02: Contar de 10 até 0
Prática 03: Contar de 0 até onde o usuário quiser
Prática 04: Ler 10 números e somá-los
Prática 05: Fazer conversão de moedas 4x
Não pode esquecer do "contador <- contador + 1" depois do "Escreval(contador)" senão ele vai entrar em um loop infinito.