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.

Download Scratch

Versão Online

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.

Exercícios propostos

Visualg 3.0

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.

Apostila de Exercícios

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

  1. 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
  2. linguagem de programação
  3. 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

  1. Deve começar com uma letra
  2. As próximas caracteres podem ser letras ou números
  3. Não pode utilizar nenhum símbolo, exceto _
  4. Não pode conter espaço em branco
  5. Não pode conter letras com acentos
  6. 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.
Arquivo da aula

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 aula

5º 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

Visualg

Situação 2: Creuza vai viajar para os Estados Unidos e precisa comprar dólares

Visualg

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

Visualg

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

Visualg

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
          
        

Prática 02: Par ou Ímpar?

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.

Prática 03: Cálculo do IMC

IMC=Massa/Altura²

Exercício 01: Está apto a dirigir?

Minha resolução Resolução do professor

Exercí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 03: Criança Esperança

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 professor

Exercí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 professor

9º 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.

Exercício 01: Contagem Inteligente

Minha resolução Resolução do professor

Exercício 02: Melhor aluno da turma

Minha resolução Resolução do professor