Esta é a lista de exercícios da matéria de Programação Estruturada, do curso de Gestão de TI, feito na FAPAM - Faculdade de Pará de Minas.

Introdução

De início estamos usando o Portugol Visualg, você pode baixar a versão 3.06 aqui, apenas para Windows.

Já existe a versão mais nova, a 3.07, porém ela é um pouco bugada e não permite a troca de temas da IDE (cores e visual)

Todos os códigos também vão estar em um repositório espelho no Github: https://github.com/mateusfg7/atividades-programacao-estruturada-fapam

Pra quem usa VSCode, pode instalar a extensão Design Líquido - Linguagens em Português para ter syntax hightlight em linguagens em português e outros dialetos de Portugol (Portugol Studio, Postugol VisuAlg, BRIL, êtc.).

Dicas Visualg

Atalhos

DescriçãoAtalho
Formatar automaticamenteCTRL + G
Rodar programaF9

Aula 2 - VisuAlg

Data: 15/02/2024

Exercício 1

Escreva um algoritmo que leia as três notas do aluno, calcule e imprima no console a média que ele obteve na disciplina.

algoritmo "MediaNotas"
// Disciplina  : Programação Estruturada
// Professor   : Adjenor Cristiano Queiroz
// Descrição   : Algoritmo que lê as três notas do aluno,
//               calcula e imprima no console a média que
//               ele obteve na disciplina.
// Autor(a)    : Mateus Felipe Gonçalves <[email protected]>
// Data atual  : 16/02/2024
 
var
   primeira_nota: inteiro
   segunda_nota:  inteiro
   terceira_nota: inteiro
   media: real
   loop:  caractere
 
inicio
   loop <- "sim"
 
   enquanto (loop = "sim") faca
      limpatela()
      escreval("-----| NOTAS |-----")
      escreval("")
 
      escreva("Primeira Nota --- ")
      leia(primeira_nota)
      escreva("Segunda Nota ---- ")
      leia(segunda_nota)
      escreva("Terceira Nota --- ")
      leia(terceira_nota)
 
      escreval("")
 
      media <- (primeira_nota+segunda_nota+terceira_nota)/3
      escreval("MÉDIA:", media)
 
      escreval("")
      escreval("-------------------")
      escreval("")
      escreval("Nova consulta? [sim|nao]")
      escreva("-> ")
      leia(loop)
   fimenquanto
 
fimalgoritmo

Exercício 2

Sabe-se que o m² de construção custa R$850. Escreva um algoritmo que leia as medidas de um terreno retangular e calcule e imprima quanto custa para construir uma casa que ocupe todo esse terreno.

Algoritmo "ValorM²"
// Disciplina  : Programação Estruturada
// Professor   : Adjenor Cristiano Queiroz
// Descrição   : Algoritmo que lê as medidas de um
//               terreno retangular e calcule e imprime quanto
//               custa para construir uma casa que ocupe todo
//               esse terreno.
// Autor(a)    : Mateus Felipe Gonçalves <[email protected]>
// Data atual  : 16/02/2024
Var
 
   VALOR_METRO_QUADRADO: real
   escolher_valor:       caractere
 
   altura_terreno:       real
   largura_terreno:      real
 
Inicio
   VALOR_METRO_QUADRADO <- 850
 
   escreval("-| FORMULARIO |-------------------------")
   escreval("")
 
   escreval("Largura do terreno (m)")
   escreva("-> ")
   leia(largura_terreno)
 
   escreval("")
 
   escreval("Altura do terreno (m)")
   escreva("-> ")
   leia(altura_terreno)
 
   escreval("")
 
   escreval("Escolher valor do m²? (Padrão: R$850.00)")
   escreva("[sim|nao] -> ")
   leia(escolher_valor)
 
   escreval("")
 
   se escolher_valor = "sim" entao
      escreval("Valor do m² (Ex.: 900.00)")
      escreva("-> ")
      leia(VALOR_METRO_QUADRADO)
 
      escreval("")
   fimse
 
   escreval("-| RESULTADOS |-------------------------")
   escreval("")
 
   escreval("Tamanho do terreno  =", altura_terreno*largura_terreno, "m²")
   escreval("Custo de construção = R$", (altura_terreno*largura_terreno)*VALOR_METRO_QUADRADO)
 
   escreval("")
   escreval("----------------------------------------")
Fimalgoritmo

Exercício 3

Escreva um algoritmo que leia o salário total de uma pessoa e quantas horas ela trabalha por dia, em seguida, calcule e imprima quanto essa pessoa recebe por hora. Considere o mês com 30 dias.

Algoritmo "CalcularSalario"
// Disciplina  : Programação Estruturada
// Professor   : Adjenor Cristiano Queiroz
// Descrição   : Algoritmo que lê o salário total de
//               uma pessoa e quantas horas ela trabalha por dia,
//               e calcula e imprime quanto essa pessoa
//               recebe por hora.
// Autor(a)    : Mateus Felipe Gonçalves <[email protected]>
// Data atual  : 16/02/2024
Var
   DIAS_NO_MES: inteiro
   dias_uteis:  inteiro
 
   salario:       real
   horas_por_dia: inteiro
 
   horas_por_mes:    inteiro
   salario_por_hora: real
 
Inicio
   DIAS_NO_MES <- 30
 
   escreval("-| CALCULAR SALÁRIO |------")
   escreval("")
 
   escreval("Seu salário (Ex.: 1400.00)")
   escreva("-> ")
   leia(salario)
 
   escreval("")
 
   escreval("Horas de trabalho (Ex.: 8)")
   escreva("-> ")
   leia(horas_por_dia)
 
   escreval("")
 
   // 4 semanas no mês, sábado e domingo não conta, ou seja:
   // 4*2 = 8 dias não úteis
   dias_uteis <- DIAS_NO_MES - 8
   horas_por_mes <-  dias_uteis * horas_por_dia
 
   salario_por_hora <- salario/horas_por_mes
 
   escreva("Seu valor /hora = R$", salario_por_hora)
 
   escreval("")
Fimalgoritmo
O exercício pede pra considerar 30 dias, e o cálculo de salário de uma pessoa considera fim de semanas e feriados, portando o código que calcula dias úteis é errado e desnecessário!

Exercício 4

Escreva um algoritmo que peça ao usuário para informar o peso e a altura com o comando leia, depois calcule e imprima na tela o IMC dessa pessoa sabendo que a fórmula do IMC é (peso/altura²).

Algoritmo "CalculaIMC"
// Disciplina  : Programação Estruturada
// Professor   : Adjenor Cristiano Queiroz
// Descrição   : Calcula IMC de uma pessoa
// Autor(a)    : Mateus Felipe Gonçalves <[email protected]>
// Data atual  : 16/02/2024
Var
   preso_em_km:  real
   altura_em_cm: inteiro
 
   IMC: inteiro
 
Inicio
   escreval("# CALCULADORA IMC ########")
   escreval("")
 
   escreval("Seu peso /Kg (Ex.: 59.9)")
   escreva("-> ")
   leia(preso_em_km)
 
   escreval("")
 
   escreval("Altura /cm (Ex.: 170)")
   escreva("-> ")
   leia(altura_em_cm)
 
   escreval("")
 
   escreval("# RESULTADOS #############")
   escreval("")
 
   escreval("Seu IMC =", preso_em_km/((altura_em_cm/100)^2))
 
   escreval("")
   escreval("##########################")
Fimalgoritmo

Aula 3 - VisuAlg

Data: 22/02/2024

Exercício 1

Desenvolva um software que receba uma idade do usuário e imprima na tela se ele é maior de idade ou menor de idade.

Algoritmo "Idade"
// Disciplina  : Programação Estruturada
// Professor   : Adjenor Cristiano
// Descrição   : Determina se o usuário é maior de idade ou não
// Autor(a)    : Mateus Felipe Gonçalves <[email protected]>
// Data atual  : 23/02/2024
Var
   idade: inteiro
 
Inicio
   escreval("Sua idade")
   escreva("-> ")
   leia(idade)
 
   escreval("")
 
   se (idade >= 18) entao
      escreva("Maior de idade")
   senao
      escreva("Menor de idade")
   fimse
 
   escreval("")
Fimalgoritmo

Exercício 2

Desenvolva um software que receba um nome e o sexo do usuário, após imprima na tela uma saudação conforme o sexo do usuário, EX: “Bem Vindo José” ou “Bem Vinda Maria”.

Algoritmo "Saudação"
// Disciplina: Programação Estruturada
// Professor:  Adjenor Cristiano
// Descrição:  Saudações
// Autor(a):   Mateus Felipe Gonçalves <[email protected]>
// Data atual: 23/02/2024
Var
   nome: caractere
   sexo: caractere
 
Inicio
   escreval("Seu nome")
   escreva("-> ")
   leia(nome)
 
   escreval("")
 
   escreval("Seu sexo (apenas letra) | Ex.: M")
   escreval("[M] Masculino")
   escreval("[F] Feminino")
   escreva("-> ")
   leia(sexo)
 
   escreval("")
 
   se (sexo = "M") entao
      escreva("Bem Vindo ", nome, "!")
   senao
      escreva("Bem Vinda ", nome, "!")
   fimse
 
   escreval("")
Fimalgoritmo

Exercício 3

Doar sangue é uma atitude muito importante, entretanto é preciso atender alguns requisitos para poder doar sangue.

  • Ter entre 19 e 69 anos de idade
  • Pesar ao menos 50 kg
  • Não ter feito nenhuma tatuagem no último ano
  • Não ter ingerido álcool nas últimas 12 horas.

Desenvolva um software que pergunte ao usuário se ele atende os requisitos necessários para doar sangue. Faça as perguntas uma por vez, caso a resposta dele o impeça de doar, avise-o e encerre o sistema. Se ele atender todos os requisitos, aviseo que ele pode ser doador.

Algoritmo "Doacao"
// Disciplina: Programação Estruturada
// Professor:  Adjenor Cristiano
// Descrição:  Verifica disponibilidade de doação
// Autor(a):   Mateus Felipe Gonçalves <[email protected]>
// Data atual: 23/02/2024
Var
   idade:          inteiro
   peso:           real
   fez_tatuagem:   caractere
   ingeriu_alcool: caractere
 
Inicio
   escreval("Sua idade")
   escreva("-> ")
   leia(idade)
   escreval("")
 
   se ((idade < 19) OU (idade > 69)) entao
      escreval("Você deve ter entre 19 e 69 anos para doar sangue!")
      Fimalgoritmo
   fimse
 
   escreval("Seu peso (Kg)")
   escreva("-> ")
   leia(peso)
   escreval("")
 
   se (peso < 50.0) entao
      escreval("Você deve ter pelomenos 50Kg para doar sangue!")
      Fimalgoritmo
   fimse
 
   escreval("Fez tatuagem no último ano")
   escreva("[sim|nao]-> ")
   leia(fez_tatuagem)
   escreval("")
 
   se (NAO(fez_tatuagem = "nao")) entao
      escreval("Você não pode doar sangue se tiver feito tatuagem no último ano!")
      Fimalgoritmo
   fimse
 
   escreval("Ingeriu alcool nas últimas 12 horas")
   escreva("[sim|nao]-> ")
   leia(ingeriu_alcool)
   escreval("")
 
   se (NAO(ingeriu_alcool = "nao")) entao
      escreval("Você não pode doar sangue se tiver bebido nas últimas 12 horas!")
      Fimalgoritmo
   fimse
 
   escreval("")
   escreval("Você pode ser um doador!")
   escreval("")
Fimalgoritmo

Exercício 4

Crie um software que ajude a polícia rodoviária federal calcular o valor das multas dos motoristas. O software deve perguntar ao usuário qual a velocidade permitida e qual a velocidade do motorista.
Se o motorista estiver acima da velocidade permitida, o software deve informar qual o tipo de infração e qual o valor da multa. Se o motorista estiver dentro do limite permitido, o programa encerra dizendo que ele não precisa pagar multa. Veja abaixo os valores de multas reajustados de infração por excesso de velocidade:

  • Exceder velocidade em até 20% (infração média) = R$85,00 + 4 pontos
  • Exceder velocidade de 20 até 50% (infração grave) = R$127,00 + 5 pontos;
  • Exceder velocidade acima de 50% (infração gravíssima) = R$574,00 + 7 pontos + apreensão da carteira + suspensão do direito de dirigir.
Algoritmo "CalcularMulta"
// Disciplina: Programação Estruturada
// Professor:  Adjenor Cristiano
// Descrição:  Calcular Multa
// Autor(a):   Mateus Felipe Gonçalves  <[email protected]>
// Data atual: 23/02/2024
Var
   velocidade_permitida: inteiro
   velocidade_motorista: inteiro
   excedente: real
 
Inicio
   escreval("Velocidade máxima permitida (Km/h)")
   escreva("-> ")
   leia(velocidade_permitida)
   escreval("")
 
   escreval("Velocidade do motorista (Km/h)")
   escreva("-> ")
   leia(velocidade_motorista)
   escreval("")
 
   escreval("---------------------------------")
   escreval("")
 
   se (velocidade_motorista <= velocidade_permitida) entao
      escreva("Você não precisará pagar multa! ;)")
   senao
      excedente <- ((velocidade_motorista-velocidade_permitida)/velocidade_permitida)*100
      escreval("Você excedeu a velocidade máxima permitida em ", excedente:2:0, "%")
      escreval("")
      se (excedente <= 20.0) entao
         escreval("INFRAÇAO MÉDIA")
         escreval("")
 
         escreval("Sua multa é de R$85,00")
         escreval("+ 4 pontos")
      senao
         se (excedente <= 50.0) entao
            escreval("INFRAÇAO GRAVE")
            escreval("")
 
            escreval("Sua multa é de R$127,00")
            escreval("+ 5 pontos")
         senao
            escreval("INFRAÇAO GRAVÍSSIMA")
            escreval("")
 
            escreval("Sua multa é de R$574,00")
            escreval("+ 7 pontos")
            escreval("Suspensão do direito de dirigir")
         fimse
      fimse
   fimse
Fimalgoritmo

Exercício 5

Uma loja de salgadinhos precisa de ajuda para calcular o valor da conta dos clientes. Crie um programa que leia o código do produto que o cliente comprou e a quantidade e informe a ele quanto ele deverá pagar. Faça uso da estrutura ESCOLHA-CASO. A Tabela abaixo apresenta o código, a descrição e o preço de cada salgadinho.

CódigoDescriçãoPreço unitário
1Coxinha0,50
2Pastel0,75
3Pão de queijo0,40
4Enroladinho0,80

Algoritmo "CalcularConta"
// Disciplina: Programação Estruturada
// Professor:  Adjenor Cristiano
// Descrição:  Calcula Conta do Cliente
// Autor(a):   Mateus Felipe Gonçalves <[email protected]>
// Data atual: 23/02/2024
Var
   id_do_produto: inteiro
   quantidade:    real
   total:         real
 
   loop: caractere
 
Inicio
   loop <- "sim"
 
   enquanto (loop = "sim") faca
      loop <- "nao"
 
      limpatela()
      escreval("+---------------------------------------+")
      escreval("|               SALGADOS                |")
      escreval("|---------------------------------------|")
      escreval("| Cód. |    Salgado    | Valor unitário |")
      escreval("|---------------------------------------|")
      escreval("| [1]  | Coxinha       |     R$0,50     |")
      escreval("| [2]  | Pastel        |     R$0,75     |")
      escreval("| [3]  | Pão de Queijo |     R$0,40     |")
      escreval("| [4]  | Enroladinho   |     R$0,80     |")
      escreval("+---------------------------------------+")
      escreval("")
      escreva("Cód. -> ")
      leia(id_do_produto)
      escreva("Qtd. -> ")
      leia(quantidade)
 
      escolha id_do_produto
      caso 1
         total <-  quantidade*0.50
      caso 2
         total <-  quantidade*0.75
      caso 3
         total <-  quantidade*0.40
      caso 4
         total <-  quantidade*0.80
      fimescolha
 
      escreval("")
      escreval("TOTAL: R$", total:4:2)
      escreval("")
 
      escreval("Nova compra?")
      escreva("[sim|nao]-> ")
      leia(loop)
   fimenquanto
Fimalgoritmo

Aula 4 - VisuAlg

Data: 29/02/2024

Exercício 1

Crie um software que receba do usuário um valor inteiro e imprima na tela o mês do ano correspondente ao valor recebido (ex. recebendo o valor 1, o programa imprime “Janeiro”; recebendo o valor 2, o programa imprime “Fevereiro”...).

Algoritmo "Meses"
// Disciplina  : Programação Estruturada
// Professor   : Adjenor Cristiano
// Descrição   : Imprime o mês referente à um ID
// Autor(a)    : Mateus Felipe Gonçalves
// Data atual  : 03/03/2024
Var
   // Seção de declaração de variáveis
   id: inteiro
 
Inicio
   // Seção de Comandos, procedimento, funções, operadores, etc...
   escreval("Digite o número do mês")
   escreva("-> ")
   leia(id)
 
   escreval("")
 
   escolha(id)
   caso 1
      escreval("Janeiro")
   caso 2
      escreval("Fevereiro")
   caso 3
      escreval("Março")
   caso 4
      escreval("Abril")
   caso 5
      escreval("Maio")
   caso 6
      escreval("Junho")
   caso 7
      escreval("Julho")
   caso 8
      escreval("Agosto")
   caso 9
      escreval("Setembro")
   caso 10
      escreval("Outubro")
   caso 11
      escreval("Novembro")
   caso 12
      escreval("Dezembro")
   outrocaso
      escreval("ID Inválido!")
   fimescolha
Fimalgoritmo

Exercício 2

Crie um software que receba do usuário um valor inteiro de 1 a 10 e imprima na tela o número por extenso. Se o usuário digitar um número maior que 10 ele deve imprimir “Valor Inválido”.

Algoritmo "Numero"
// Disciplina  : Programação Estruturada
// Professor   : Adjenor Cristiano Queiroz
// Descrição   : Número por extenso
// Autor(a)    : Mateus Felipe Gonçalves
// Data atual  : 03/03/2024
Var
   // Seção de declaração de variáveis
   id: inteiro
 
Inicio
   // Seção de Comandos, procedimento, funções, operadores, etc...
   escreval("Digite o número")
   escreva("-> ")
   leia(id)
 
   escreval("")
 
   escolha(id)
   caso 1
      escreval("Um")
   caso 2
      escreval("Dois")
   caso 3
      escreval("Três")
   caso 4
      escreval("Quatro")
   caso 5
      escreval("Cinco")
   caso 6
      escreval("Seis")
   caso 7
      escreval("Sete")
   caso 8
      escreval("Oito")
   caso 9
      escreval("Nove")
   caso 10
      escreval("Dez")
   outrocaso
      escreval("Valor inválido!")
   fimescolha
 
Fimalgoritmo

Exercício 3

Desenvolva um software que receba o nome do usuário, o sexo, a cidade e o ano que ele nasceu e depois imprima na tela sua ficha cadastral utilizando “Sr” para homens e “Srª” para mulheres.
Considere apenas o ano para cálculo da idade (quem nasceu em 2002 considere que ele tem 22 anos, quem nasceu em 2001 considere 23...)
Ex: Ficha Cadastral
Sr: Adjenor Cristiano Queiroz
Idade: 22 anos
Cidade: Pará de Minas

Algoritmo "Ficha"
// Disciplina  : Programação Estruturada
// Professor   : Adjenor Cristiano
// Descrição   : Imprime o mês referente à um ID
// Autor(a)    : Mateus Felipe Gonçalves
// Data atual  : 03/03/2024
Var
   // Seção de declaração de variáveis
   nome:        caractere
   sexo:        caractere
   cidade:      caractere
   ano_nasc:    inteiro
   comprimento: caractere
 
Inicio
   escreval("Nome")
   escreva("-> ")
   leia(nome)
   escreval("")
 
   escreval("Sexo [M|F]")
   escreva("-> ")
   leia(sexo)
   escreval("")
 
   escreval("Cidade")
   escreva("-> ")
   leia(cidade)
   escreval("")
 
   escreval("Ano de nascimento")
   escreva("-> ")
   leia(ano_nasc)
   escreval("")
 
   se ano_nasc > 2024 entao
      escreval("ERRO | O ano de nascimento não pode ser no futuro")
      interrompa()
   fimse
 
   se maiusc(sexo) = "M" entao
      comprimento <- "Sr."
   senao
      comprimento <- "Srª."
   fimse
 
   escreval("FICHA CADASTRAL")
   escreval(comprimento, " -- ", nome)
   escreval("Idade --", 2024 - ano_nasc)
   escreval("Cidade - ", cidade)
Fimalgoritmo

Exercício 4

(DESAFIO) Desenvolva um Software para um restaurante que irá mostrar para o usuário um cardápio de refeições (com no mínimo 4 opções) para escolha:

Ex:
1 – Risotto ----- R$ 25,00
2 – Espaguete --- R$ 22,00

Depois pergunte a ele se ele deseja alguma bebida. Se ele desejar, mostre a ele um menu com as opções de bebida (ao menos 4).

Ex:
1 – Coca Cola -------- R$ 5,00
2 – Água Mineral ----- R$ 3,00
Ao final mostre a ele qual o seu pedido e o valor da conta.

Ex: PEDIDO:
Espaguete R$ 22,00
Coca Cola R$ 5,00
TOTAL: R$ 27,00.

Dica: Use uma variável do tipo caractere para armazenar os itens do pedido e uma variável real para armazenar os valores

Algoritmo "Cardápio"
// Disciplina  : Programação Estruturada
// Professor   : Adjenor Cristiano
// Descrição   : Imprime o mês referente à um ID
// Autor(a)    : Mateus Felipe Gonçalves
// Data atual  : 03/03/2024
Var
   prato: inteiro
   bebida: inteiro
   quer_bebida: caractere
   total: real
Inicio
   escreval("------------ PRATOS ------------")
   escreval("[1] Risoto ------------- R$25,00")
   escreval("[2] Espaguete ---------- R$22,00")
   escreval("[3] Strogonoff --------- R$30,00")
   escreval("[4] Macarrão na Chapa -- R$20,00")
   escreval("")
   escreva("-> ")
   leia(prato)
   escreval("")
 
   escreval("Aceita uma bebida? [S|N]")
   escreva("-> ")
   leia(quer_bebida)
   escreval("")
 
   se maiusc(quer_bebida) = "S" entao
      escreval("--------- BEBIDAS ---------")
      escreval("[1] Água Mineral -- R$ 3,00")
      escreval("[2] Coca Cola ----- R$ 5,00")
      escreval("[3] Limonada ------ R$ 5,00")
      escreval("[4] Jack&Coffee --- R$25,00")
      escreval("")
      escreva("-> ")
      leia(bebida)
      escreval("")
   fimse
 
   escreval("---------- PEDIDO ----------")
   escolha(prato)
   caso 1
      total <- 25.00
      escreval("Risoto ------------- R$25,00")
   caso 2
      total <- 22.00
      escreval("Espaguete ---------- R$22,00")
   caso 3
      total <- 30.00
      escreval("Strogonoff --------- R$30,00")
   caso 4
      total <- 20.00
      escreval("Macarrão na Chapa -- R$20,00")
   fimescolha
 
   se maiusc(quer_bebida) = "S" entao
      escolha(bebida)
      caso 1
         total <- total + 3.00
         escreval("Água Mineral ------- R$ 3,00")
      caso 2
         total <- total + 5.00
         escreval("Coca Cola ---------- R$ 5,00")
      caso 3
         total <- total + 5.00
         escreval("Limonada ----------- R$ 5,00")
      caso 4
         total <- total + 25.00
         escreval("Jack&Coffee -------- R$25,00")
      fimescolha
   fimse
 
   escreval("")
   escreval("TOTAL: R$", total:2:2)
Fimalgoritmo

Aula 5 - VisuAlg

Data: 05/03/2024

Exercício 1

Desenvolva um software em que receberá alguns números fornecidos pelo usuário, enquanto ele quiser continuar digitando números (a cada interação pergunte ao usuário se ele deseja continuar a soma), e ao final, exiba o resultado da soma dos números digitados na tela.

Algoritmo "SomaNumeros"
// Disciplina  : Programação Estruturada
// Professor   : Adjenor Cristino
// Descrição   : Soma vários números fornecidos pelo usuário
// Autor(a)    : Mateus Felipe Gonçalves <[email protected]>
// Data atual  : 08/03/2024
Var
   soma:   inteiro
   numero: inteiro
   continuar: caractere
   primeira_interacao: logico
 
Inicio
   continuar <- "SIM"
   primeira_interacao <- verdadeiro
   numero <- 0
   soma <- 0
 
   enquanto (maiusc(continuar) = "SIM") faca
      limpatela()
 
      se(primeira_interacao) entao
         primeira_interacao <- falso
 
         escreval("Digite um número")
         escreva("-> ")
         leia(numero)
      senao
         escreval("Digite mais um número")
         escreva("-> ")
         leia(numero)
      fimse
 
      soma <- soma + numero
 
      escreval()
 
      escreval("Deseja somar mais um número?")
      escreva("-> ")
      leia(continuar)
 
   fimenquanto
 
   limpatela()
 
   escreval("Resultado da soma:")
   escreval()
   escreval("   [", soma, " ]   ")
Fimalgoritmo

Exercício 2

Desenvolva um software em que receba uma quantidade do usuário e imprima na tela essa quantidade de vezes “Programação é nossa melhor matéria!”.

Algoritmo "ProgramacaoMelhorMateria"
// Disciplina  : Programação Estruturada
// Professor   : Adjenor Cristino
// Descrição   : Imprime uma mensagem N vezes
// Autor(a)    : Mateus Felipe Gonçalves <[email protected]>
// Data atual  : 08/03/2024
Var
   quantidade: inteiro
   contador: inteiro
   certeza: caractere
 
Inicio
   certeza   <- "NÃO"
   quantidade <- 0
   contador <- 0
 
   enquanto ((maiusc(certeza) = "NÃO") OU (maiusc(certeza) = "NAO")) faca
      limpatela()
 
      escreval("Digite o número de vezes")
      escreva("-> ")
      leia(quantidade)
 
      se (quantidade > 100) entao
         escreval()
         escreval("A mensagem será repedita", quantidade, " vezes!")
         escreval("Você tem certeza que quer continuar?")
         escreva("-> ")
         leia(certeza)
      senao
         certeza <- "SIM"
      fimse
   fimenquanto
 
   limpatela()
 
   enquanto (contador <= quantidade) faca
      contador <- contador + 1
      escreval("Programação é a melhor matéria!")
   fimenquanto
 
Fimalgoritmo

Exercício 3

Atualize o software do exercício da Lanchonete de modo que o usuário possa fazer um pedido de vários itens no mesmo pedido. Quando ele desejar finalizar o pedido o sistema irá imprimir na tela a lista de produtos comprados e o valor da conta.
Dicas:

  • Trabalhe dentro de um laço de repetição enquanto.
  • Utilize uma variável do tipo caractere para armazenar os dados do pedido e a cada novo item adicionado, concatene a variável com ela mesma.
    Ex: produtos <- produtos + " 1 - COXINHA: R$ 6,00 | "
Algoritmo "Cardápio"
// Disciplina  : Programação Estruturada
// Professor   : Adjenor Cristiano
// Descrição   : Cardápio de lanchonete
// Autor(a)    : Mateus Felipe Gonçalves <[email protected]>
// Data atual  : 08/03/2024
Var
   prato:  inteiro
   pedido: caractere
   total:  real
   encerrar: logico
   primeira_iteracao: logico
Inicio
   encerrar <- falso
   primeira_iteracao <- verdadeiro
 
   enquanto (nao(encerrar)) faca
      limpatela()
 
      se(primeira_iteracao) entao
         primeira_iteracao <- falso
      senao
         escreval("Quer pedir mais alguma coisa?")
         escreval("Valor total: R$ ", total:2:2)
         escreval()
      fimse
 
      escreval("------------ PRATOS ------------")
      escreval("[1] Risoto ------------- R$25,00")
      escreval("[2] Espaguete ---------- R$22,00")
      escreval("[3] Strogonoff --------- R$30,00")
      escreval("[4] Macarrão na Chapa -- R$20,00")
      escreval("--------------------------------")
      escreval("[5] ENCERRAR PEDIDO")
      escreval("--------------------------------")
      escreval()
      escreva("-> ")
      leia(prato)
 
      escolha(prato)
      caso 1
         total <- total + 25.00
         pedido <- pedido + "Risoto - R$25,00 | "
      caso 2
         total <- total + 22.00
         pedido <- pedido + "Espaguete - R$22,00 | "
      caso 3
         total <- total + 30.00
         pedido <- pedido + "Strogonoff - R$30,00 | "
      caso 4
         total <- total + 20.00
         pedido <- pedido + "Macarrão na Chapa - R$20,00 | "
      caso 5
         encerrar <- verdadeiro
      fimescolha
   fimenquanto
 
   limpatela()
 
   escreval("-- PEDIDO ------------")
   escreval()
   escreval("| ", pedido)
   escreval()
   escreval("TOTAL: [ R$", total:2:2, " ]")
   escreval()
Fimalgoritmo

Aula 6 - VisuAlg

Data: 12/03/2024

Exercício 1

Escreva um algoritmo para imprimir os 10 primeiros números inteiros maiores que 100.

Algoritmo "DezNumerosMaioresQue100"
// Disciplina  : Programação Estruturada
// Professor   : Adjenor
// Descrição   : Imprime os 10 primeiros números inteiros maiores que 100.
// Autor(a)    : Mateus Felipe Gonçalves <[email protected]>
// Data atual  : 19/03/2024
 
Var
    numero: Inteiro
Inicio
    para numero de 100 ate 110 faca
        escreval(numero)
    fimpara
Fimalgoritmo

Exercício 2

Escreva um algoritmo que imprima os números pares de 1 a 100. Utilize o sinal de % para verificar o resto da divisão.

Algoritmo "NumerosParesAte100"
// Disciplina  : Programação Estruturada
// Professor   : Adjenor
// Descrição   : Imprime os números pares de 1 a 100.
// Autor(a)    : Mateus Felipe Gonçalves <[email protected]>
// Data atual  : 19/03/2024
 
Var
    numero: Inteiro
Inicio
    para numero de 1 ate 100 faca
        se numero % 2 = 0 entao
            escreval(numero)
        fimse
    fimpara
Fimalgoritmo

Exercício 3

Escreva um algoritmo que pergunte ao usuário quantos números ele quer imprimir na tela. Se o usuário digitar um número maior que 30, interrompa o laço de repetição e imprima na tela uma mensagem para o usuário.

Algoritmo "NumerosPersonalizados"
// Disciplina  : Programação Estruturada
// Professor   : Adjenor
// Descrição   : Pergunta ao usuário quantos números ele
//               quer imprimir e interrompe se for mais que 30.
// Autor(a)    : Mateus Felipe Gonçalves <[email protected]>
// Data atual  : 19/03/2024
 
Var
    contador, quantidade: Inteiro
 
Inicio
    escreval("Quantos números você deseja imprimir?")
    escreva("-> ")
    leia(quantidade)
 
    para contador de 1 ate quantidade faca
        se quantidade > 30 entao
            escreval("Número muito grande! O máximo permitido é 30.")
            interrompa
        senao
            escreval(contador)
        fimse
    fimpara
 
Fimalgoritmo

Exercício 4

Escreva um algoritmo receba um número do usuário e imprima na tela os próximos 10 números múltiplos de 5. Utilize o comando INTERROMPA para sair do loop.

Algoritmo "ProximosMultiplosDe5"
// Disciplina  : Programação Estruturada
// Professor   : Adjenor
// Descrição   : Imprime os próximos 10 números múltiplos de 5 a partir de um Número fornecido pelo usuário.
// Autor(a)    : Mateus Felipe Gonçalves <[email protected]>
// Data atual  : 19/03/2024
 
Var
    numero, contador: Inteiro
 
Inicio
    escreva("Digite um Número: ")
    leia(numero)
 
    para contador de 1 ate 10 faca
        se numero % 5 = 0 entao
            escreval(numero)
            numero <- numero + 5
        senao
            numero <- numero + 1
        fimse
    fimpara
Fimalgoritmo

Exercício 5

Escreva um algoritmo receba do usuário um número, depois receba do usuário uma opção (P para Par ou I para Ímpar) e imprima na tela todos os números de 0 até o número escolhido respeitando a opção escolhida (par ou ímpar). Ex: se o usuário digitar 6 e escolher ímpar, o sistema deve imprimir: 1 - 3 - 5

Algoritmo "ProximosMultiplosDe5"
// Disciplina  : Programação Estruturada
// Professor   : Adjenor
// Descrição   : Imprime os próximos 10 números múltiplos de 5 a partir de um Número fornecido pelo usuário.
// Autor(a)    : Mateus Felipe Gonçalves <[email protected]>
// Data atual  : 19/03/2024
 
Var
    numero, contador: Inteiro
 
Inicio
    escreva("Digite um Número: ")
    leia(numero)
 
    para contador de 1 ate 10 faca
        se numero % 5 = 0 entao
            escreval(numero)
            numero <- numero + 5
        senao
            numero <- numero + 1
        fimse
    fimpara
Fimalgoritmo

Exercício 6

Reescreva o código do exercício anterior de modo que a impressão dos números seja escrita em ordem decrescente. Ex: se o usuário digitar 6 e escolher ímpar, o sistema deve imprimir: 5 - 3 - 1.

Algoritmo "NumerosParImparDecrescente"
// Disciplina  : Programação Estruturada
// Professor   : Adjenor
// Descrição   : Imprime números pares ou ímpares em ordem decrescente até o Número escolhido pelo usuário.
// Autor(a)    : Mateus Felipe Gonçalves <[email protected]>
// Data atual  : 19/03/2024
 
Var
   numero, contador: inteiro
   opcao: caractere
 
Inicio
   escreva("Digite um Número: ")
   leia(numero)
 
   escreva("Escolha uma opção (P para Par ou I para ímpar): ")
   leia(opcao)
 
   para contador de numero ate 0 passo -1 faca
      se (maiusc(opcao) = "P") entao
         se(contador % 2 = 0) entao
            escreval(contador)
         fimse
      senao se (maiusc(opcao) = "I") entao
         se(contador % 2 <> 0) entao
            escreval(contador)
         fimse
      fimse
   fimpara
 
Fimalgoritmo

Exercício 7

Escreva um algoritmo para pedidos de uma loja de calçados. O algoritmo deve mostrar um menu com ao menos 4 produtos predefinidos e oferecer ao usuário a opção de selecionar mais de um produto ou encerrar o pedido (similar ao exercício do restaurante). Ao final o algoritmo deve mostrar o resumo da compra e o valor total (formatado em reais).

Algoritmo "PedidoLojaCalcados"
// Disciplina  : Programação Estruturada
// Professor   : Adjenor
// Descrição   : Sistema de pedidos de uma loja de calçados.
// Autor(a)    : Mateus Felipe Gonçalves <[email protected]>
// Data atual  : 19/03/2024
 
Var
   opcao: caractere
   valor_total: real
Inicio
   valor_total <- 0
 
   repita
      limpatela()
      escreval("MENU DE PRODUTOS:")
      escreval("1 - Tênis Adidas: R$ 199.99")
      escreval("2 - Chinelo Nike: R$ 49.99")
      escreval("3 - Bota Timberland: R$ 299.99")
      escreval("4 - Sandália Havaianas: R$ 29.99")
      escreval("0 - Encerrar pedido")
 
      escreva("Escolha um produto ou 0 para encerrar: ")
      leia(opcao)
 
      escolha opcao
      caso "1"
         valor_total <- valor_total + 199.99
      caso "2"
         valor_total <- valor_total + 49.99
      caso "3"
         valor_total <- valor_total + 299.99
      caso "4"
         valor_total <- valor_total + 29.99
      fimEscolha
   ate opcao = "0"
 
   limpatela()
 
   se valor_total > 0 entao
      escreval("RESUMO DA COMPRA:")
      escreval("Valor total: R$", valor_total:0:2)
   senao
      escreval("Nenhum produto foi selecionado. Pedido cancelado.")
   fimse
 
Fimalgoritmo

Aula 7 - Python

Data: 26/03/2024

Exercício 1

Escreva um programa que leia as três notas do aluno e calcule e imprima no console a média que ele obteve na disciplina.

"""
Lê três notas do aluno, calcula e imprime a média no console.
 
Aluno:     Mateus Felipe Gonçalves <[email protected]>
Professor: Adjenor Cristiano
Curso:     Gestão da Tecnologia da Informação
Matéria:   Programação Estruturada
Turma:     1º Período - B
Data:      27/03/2024
"""
 
# Lê as notas do aluno
nota1 = float(input("Digite a primeira nota: "))
nota2 = float(input("Digite a segunda nota: "))
nota3 = float(input("Digite a terceira nota: "))
 
# Calcula a média
media = (nota1 + nota2 + nota3) / 3
 
# Imprime a média
print(f"A média do aluno é {media:.2f}")

Exercício 2

Sabe-se que o m² de construção custa R$850. Escreva um programa que leia as medidas de um terreno retangular e calcula e imprime quanto custa para construir uma casa que ocupe esse terreno.

"""
Programa que lê as medidas de um terreno retangular e calcula e imprime quanto custa
para construir uma casa que ocupe esse terreno. O m² de construção custa R$ 850,00.
 
Aluno:     Mateus Felipe Gonçalves <[email protected]>
Professor: Adjenor Cristiano
Curso:     Gestão da Tecnologia da Informação
Matéria:   Programação Estruturada
Turma:     1º Período - B
Data:      27/03/2024
"""
 
# Lê as medidas do terreno
largura = float(input("Digite a largura do terreno: "))
comprimento = float(input("Digite o comprimento do terreno: "))
 
# Calcula a área do terreno
area = largura * comprimento
 
# Calcula o custo da construção
custo = area * 850
 
# Imprime o custo da construção
print(f"O custo para construir uma casa nesse terreno é R$ {custo:.2f}")

Exercício 3

Escreva um programa que leia o salário total de uma pessoa e quantas horas ela trabalha por dia. Em seguida, calcule e imprima quanto essa pessoa recebe por hora. Considere o mês com 30 dias.

"""
Programa que lê o salário total de uma pessoa e quantas horas ela trabalha por dia.
Em seguida, calcula e imprime quanto essa pessoa recebe por hora.
 
Aluno:     Mateus Felipe Gonçalves <[email protected]>
Professor: Adjenor Cristiano
Curso:     Gestão da Tecnologia da Informação
Matéria:   Programação Estruturada
Turma:     1º Período - B
Data:      27/03/2024
"""
 
# Lê o salário total
salario = float(input("Digite o salário total\n-> "))
 
# Lê a quantidade de horas trabalhadas por dia
horas_por_dia = float(input("Digite a quantidade de horas trabalhadas por dia\n-> "))
 
# Calcula horas trabalhadas no mês
horas_por_mes = horas_por_dia * 30
 
# Calcula o valor da hora
valor_hora = salario / horas_por_mes
 
# Imprime o valor da hora
print(f"\nO valor da hora é R$ {valor_hora:.2f}")

Exercício 4

Escreva um programa que peça ao usuário para informar o peso e a altura com o comando leia, depois calcule e imprima na tela o IMC dessa pessoa sabendo que a fórmula do IMC é (peso/altura²).

"""
Programa que pede ao usuário para informar o peso e a altura com o comando leia, depois
calcula e imprime na tela o IMC dessa pessoa sabendo que a fórmula do IMC é (peso/altura²).
 
Aluno:     Mateus Felipe Gonçalves <[email protected]>
Professor: Adjenor Cristiano
Curso:     Gestão da Tecnologia da Informação
Matéria:   Programação Estruturada
Turma:     1º Período - B
Data:      27/03/2024
"""
 
# Lê o peso
peso = float(input("Digite o peso (kg)\n-> "))
 
# Lê a altura
altura_cm = float(input("Digite a altura (cm)\n-> "))
 
# Calcula o IMC
imc = peso / (altura_cm/100) ** 2
 
# Imprime o IMC
print(f"\nO IMC é {imc:.2f}")

Aula 8 - Python

Data: 02/04/2024

Exercício 1

Desenvolva um software que receba uma string do usuário e depois solicite a ele quantas letras da string ele quer que sejam separadas, depois imprima na tela as duas partes da string.
EX: se o usuário digitar “Faculdade” e o número 5, o software deve retornar:
Primeira Parte: “Facul”
Segunda Parta: “dade”

class bcolors:
    HEADER = '\033[95m'
    OKBLUE = '\033[94m'
    OKCYAN = '\033[96m'
    OKGREEN = '\033[92m'
    WARNING = '\033[93m'
    FAIL = '\033[91m'
    ENDC = '\033[0m'
    BOLD = '\033[1m'
    UNDERLINE = '\033[4m'
 
text = input("Texto a ser dividido: ")
position = input("Posição de divisão da string: ")
 
if not text or not position:
    print(f"\n{bcolors.FAIL}Quantidade de parâmetros insuficientes ou inválidos!{bcolors.ENDC}")
    quit()
 
position = int(position)
 
if position > len(text):
    print(f"\n{bcolors.FAIL}Posição de divisão maior que o tamanho do texto!{bcolors.ENDC}")
    print(f"Tamanho do texto: {bcolors.BOLD}{len(text)}{bcolors.ENDC}")
    print(f"Posição de divisão: {bcolors.BOLD}{position}{bcolors.ENDC}")
    quit()
 
first_part, second_part = text[:position], text[position:]
 
print(f"\n{bcolors.OKGREEN}Primeira parte:{bcolors.ENDC} {bcolors.BOLD}{first_part}{bcolors.ENDC}")
print(f"{bcolors.OKGREEN}Segunda parte:{bcolors.ENDC}  {bcolors.BOLD}{second_part}{bcolors.ENDC}")

Exercício 2

Desenvolva um software que receba do usuário seu nome, seu sobrenome e uma quantidade. Depois solicite a ele quantas vezes ele deseja imprimir o conjunto (nome e sobrenome) e imprima na tela essa quantidade de vezes. Utilize \n para quebra de linha.

from os import system, name
 
nome = input("Digite seu nome: ")
sobrenome = input("Digite seu sobrenome: ")
n = int(input("Número de repetições: "))
 
# limpa terminal
if name == 'nt':
    # windows
    system('cls')
else:
    # outros unix (linux, mac...)
    system('clear')
 
for i in range(n):
    print(f"{nome} {sobrenome}")

Exercício 3

Desenvolva um software que receba do usuário um valor e imprima na tela este valor formatado para reais (R$) utilizando composição.

valor = float(input('Digite o valor: '))
print("R$ %.2f"%valor)

Exercício 4

Desenvolva um software que receba do usuário um valor de compra, depois receba um valor em dinheiro e calcule o troco e imprima na tela este valor formatado para reais (R$) utilizando composição.

valor_compra = float(input('Digite o valor da compra: '))
valor_pago = float(input('Digite o valor pago: '))
 
troco = valor_pago - valor_compra
 
if troco < 0:
    print('\nValor pago insuficiente, falta R$ %.2f.'%abs(troco))
else:
    print('\nTroco: R$ %.2f'%troco)

Aula 9 - Python

Data: 09/04/2024

Exercício 1

Desenvolva um software que leia dois números e que pergunte qual operação você deseja realizar. Você deve poder calcular a soma (+), subtração (-), multiplicação (*) e divisão (/). Exiba o resultado da operação solicitada.

"""
Nome:      Mateus Felipe Gonçalves <[email protected]>
Professor: Adjenor Cristiano
Data:      10/04/2024
Matéria:   Programação Estruturada
Turma:     1º Perí. B
"""
 
# lê dois números e uma operação
num1 = float(input("Digite o primeiro número: "))
num2 = float(input("Digite o segundo número: "))
operacao = input("Digite a operação [+|-|*|/]: ")
 
# exiba o resultado da operação solicidada
if operacao == "+":
    print(f"O resultado da soma é: {num1 + num2}")
elif operacao == "-":
    print(f"O resultado da subtração é: {num1 - num2}")
elif operacao == "*":
    print(f"O resultado da multiplicação é: {num1 * num2}")
elif operacao == "/":
    # 0 não pode ser dividido
    if num2 == 0:
        print("Não é possível dividir por zero.")
    else:
        print(f"O resultado da divisão é: {num1 / num2}")
else:
    print("Operação inválida.")

Exercício 2

Desenvolva um software para aprovar o empréstimo bancário para compra de uma casa. O programa deve perguntar o valor da casa a comprar, o salário e a quantidade de anos a pagar. O valor da prestação mensal não pode ser superior a 30% do salário. Calcule o valor da prestação como sendo o valor da casa a comprar dividido pelo número de meses a pagar.

"""
Nome:      Mateus Felipe Gonçalves <[email protected]>
Professor: Adjenor Cristiano
Data:      10/04/2024
Matéria:   Programação Estruturada
Turma:     1º Perí. B
"""
 
valor_casa = float(input("Digite o valor da casa: R$ ").strip().replace(",", "."))
salario = float(input("Digite o salário: R$ ").strip().replace(",", "."))
anos = int(input("Digite a quantidade de anos a pagar: "))
 
meses = anos * 12
 
prestacao = valor_casa / meses
 
if prestacao > (salario * 0.3):
    print("Empréstimo negado.")
else:
    print(f"Empréstimo aprovado. A prestação será de R$ {prestacao:.2f}.")

Exercício 3

Desenvolva um software de lanchonete que apresente para o cliente um menu com ao menos 4 opções de salgado para que ele escolha, depois apresente ao menos 4 opções de bebidas. Ao final, o software deve mostrar na tela o valor total da compra e os itens comprados.

"""
Nome:      Mateus Felipe Gonçalves <[email protected]>
Professor: Adjenor Cristiano
Data:      10/04/2024
Matéria:   Programação Estruturada
Turma:     1º Perí. B
"""
 
# menu com 4 opções de salgados
print("+------ MENU SALGADOS -------+")
print("| [1] Coxinha ------ R$ 3,50 |")
print("| [2] Pastel ------- R$ 4,00 |")
print("| [3] Empada ------- R$ 3,00 |")
print("| [4] Enroladinho -- R$ 2,50 |")
print("+----------------------------+")
salgado = int(input("-> "))
 
if salgado < 1 or salgado > 4:
    print("Opção inválida.")
    exit()
 
# menu com 4 opções de bebidas
print("\n+------ MENU BEBIDAS --------+")
print("| [1] Refrigerante - R$ 3,00 |")
print("| [2] Suco --------- R$ 2,50 |")
print("| [3] Água --------- R$ 2,00 |")
print("| [4] Chá ---------- R$ 2,50 |")
print("+----------------------------+")
bebida = int(input("-> "))
 
if bebida < 1 or bebida > 4:
    print("Opção inválida.")
    exit()
 
# cálculo do valor total
total = 0
 
if salgado == 1:
    total += 3.50
elif salgado == 2:
    total += 4.00
elif salgado == 3:
    total += 3.00
elif salgado == 4:
    total += 2.50
 
if bebida == 1:
    total += 3.00
elif bebida == 2:
    total += 2.50
elif bebida == 3:
    total += 2.00
elif bebida == 4:
    total += 2.50
 
print("\nTotal a pagar: R$ %.2f" % total)

Exercício 4

Desenvolva um software para analisar se um aluno foi aprovado. O software deve receber 4 notas (entre 0 e 25) e ao final atestar as seguintes possibilidades:

  • Se o total for maior ou igual 80 - ALUNO APROVADO - EXCELENTE
  • Se o total for entre 60 e 79 - ALUNO APROVADO
  • Se o total for entre 40 e 59 - ALUNO EM RECUPERAÇÃO
  • Se o total for menor que 40 - ALUNO REPROVADO
  • Se alguma das notas estiver fora do intervalo (entre 0 e 25) o software deve exibir a mensagem de “Valor inválido” e encerrar.
"""
Nome:      Mateus Felipe Gonçalves <[email protected]>
Professor: Adjenor Cristiano
Data:      11/04/2024
Matéria:   Programação Estruturada
Turma:     1º Perí. B
"""
 
nota1 = float(input("Nota 1: "))
nota2 = float(input("Nota 2: "))
nota3 = float(input("Nota 3: "))
nota4 = float(input("Nota 4: "))
 
if nota1 < 0 or nota1 > 25:
    print("Valor inválido.")
    exit()
elif nota2 < 0 or nota2 > 25:
    print("Valor inválido.")
    exit()
elif nota3 < 0 or nota3 > 25:
    print("Valor inválido.")
    exit()
elif nota4 < 0 or nota4 > 25:
    print("Valor inválido.")
    exit()
 
total = nota1 + nota2 + nota3 + nota4
 
if total >= 80:
    print("ALUNO APROVADO - EXCELENTE")
elif total >= 60:
    print("ALUNO APROVADO")
elif total >= 40:
    print("ALUNO EM RECUPERAÇÃO")
else:
    print("ALUNO REPROVADO")

Exercício 5

Escreva um programa que calcule o preço pelo fornecimento de energia elétrica. Pergunte a quantidade de kWh consumidos e o tipo de instalação: R para residências, I para indústrias e C para comércios. Calcule o preço a pagar de acordo com a tabela a seguir:

  • Residências:
    • Até 500 kWh: R$ 0,40
    • Acima de 500 kWh: R$ 0,65
  • Comércios:
    • Até 1000 kWh: R$ 0,55
    • Acima de 1000 kWh: R$ 0,60
  • Indústrias:
    • Até 5000 kWh: R$ 0,55
    • Acima de 5000 kWh: R$ 0,60
"""
Nome:      Mateus Felipe Gonçalves <[email protected]>
Professor: Adjenor Cristiano
Data:      11/04/2024
Matéria:   Programação Estruturada
Turma:     1º Perí. B
"""
 
kwh = int(input("Quantidade de kWh consumido: "))
 
print("\n+- TIPO DE INSTALAÇÃO -+")
print("|  [R] Residencial     |")
print("|  [C] Comercial       |")
print("|  [I] Industrial      |")
print("+----------------------+")
instalacao = input("-> ").upper()
 
total = 0
if instalacao == "R":
    if kwh <= 500:
        total = kwh * 0.40
    else:
        total = kwh * 0.65
elif instalacao == "C":
    if kwh <= 1000:
        total = kwh * 0.55
    else:
        total = kwh * 0.60
elif instalacao == "I":
    if kwh <= 5000:
        total = kwh * 0.55
    else:
        total = kwh * 0.60
else:
    print("Tipo de instalação inválido.")
    exit()
 
print("\nTotal a pagar: R$ %.2f" % total)

Aula 10 - Python

Data: 16/04/2024

Exercício 1

Desenvolva um software que receba do usuário uma quantidade e imprima na tela todos os números pares de 0 até o número digitado.

"""
Nome:      Mateus Felipe Gonçalves <[email protected]>
Professor: Adjenor Cristiano
Data:      21/04/2024
Matéria:   Programação Estruturada
Turma:     1º Perí. B
"""
 
limite = int(input("Digite um número\n-> "))
 
for n in range(0, limite+1, 2):
  print(n)

Exercício 2

Altere o software do exercício anterior para que o sistema receba também um tipo (P para Pares e I para Impares) e imprima apenas os números de acordo com a escolha.

"""
Nome:      Mateus Felipe Gonçalves <[email protected]>
Professor: Adjenor Cristiano
Data:      21/04/2024
Matéria:   Programação Estruturada
Turma:     1º Perí. B
"""
 
limite = int(input("Digite um número\n-> "))
opcao = input("\nOpção | [P]ar ou [I]mpar\n-> ").upper()
 
print()
 
if opcao == "P":
  for i in range(0, limite+1, 2):
    print(i)
elif opcao == "I":
  for i in range(1, limite+1, 2):
    print(i)

Exercício 3

Valide a opção digitada, caso o usuário digite um valor diferente se P ou I, solicite a ele que digite novamente. DICA: Utilize repetições aninhadas.

"""
Nome:      Mateus Felipe Gonçalves <[email protected]>
Professor: Adjenor Cristiano
Data:      21/04/2024
Matéria:   Programação Estruturada
Turma:     1º Perí. B
"""
 
limite = int(input("Digite um número\n-> "))
 
opcoes_validas = ["P", "I"]
opcao = ""
while opcao not in opcoes_validas:
  opcao = input("\nOpção | [P]ar ou [I]mpar\n-> ").upper()
 
  if opcao not in opcoes_validas:
    print("Opção inválida. Tente novamente.")
 
print()
 
if opcao == "P":
  for i in range(0, limite+1, 2):
    print(i)
elif opcao == "I":
  for i in range(1, limite+1, 2):
    print(i)

Exercício 4

Escreva um programa que leia um número e verifique se é ou não um número primo. Para fazer essa verificação, calcule o resto da divisão do número por 2 e depois por todos os números ímpares até o número lido. Se o resto de uma dessas divisões for igual a zero, o número não é primo. Observe que 0 e 1 não são primos e que 2 é o único número primo que é par.

import sys
 
"""
Nome:      Mateus Felipe Gonçalves <[email protected]>
Professor: Adjenor Cristiano
Data:      21/04/2024
Matéria:   Programação Estruturada
Turma:     1º Perí. B
"""
 
def e_primo(primo: bool = True):
  if primo:
    print(f"{numero} é primo.")
  else:
    print(f"{numero} não é primo.")
 
  sys.exit()
 
numero = int(input("Digite um número\n-> "))
 
if numero < 2:
  e_primo(primo=False)
 
primo = True
for i in range(2, numero):
  if numero % i == 0:
    primo = False
    break
 
e_primo(primo)
 
 

Exercício 5

Desenvolva um software de restaurante que apresente ao menos 4 tipos de produtos e a opção de finalizar o pedido. O software deve perguntar ao usuário se ele deseja adicionar outro produto Ao final ele deve mostrar na tela todos os produtos que o cliente comprou e o total do pedido.
DICA: Utilize uma variável String para armazenar os produtos escolhidos e uma variável float para armazenar o total do pedido. Apresente o total formatado para Real.

"""
Nome:      Mateus Felipe Gonçalves <[email protected]>
Professor: Adjenor Cristiano
Data:      21/04/2024
Matéria:   Programação Estruturada
Turma:     1º Perí. B
"""
 
total = 0.0
pedidos = []
 
while True:
  print("\n+" + " Cardápio ".center(31, "-") + "+")
  print("| [1] Hambúrguer ----- R$ 10.00 |")
  print("| [2] Pizza ---------- R$ 20.00 |")
  print("| [3] Refrigerante --- R$ 5.00  |")
  print("| [4] Batata Frita --- R$ 8.00  |")
  print("| [5] FINALIZAR PEDIDO          |")
  print("+" + "".center(31, "-") + "+")
  escolha = int(input("Escolha uma opção\n-> "))
 
  if escolha == 1:
    total += 10.00
    pedidos.append("Hambúrguer")
  elif escolha == 2:
    total += 20.00
    pedidos.append("Pizza")
  elif escolha == 3:
    total += 5.00
    pedidos.append("Refrigerante")
  elif escolha == 4:
    total += 8.00
    pedidos.append("Batata Frita")
  elif escolha == 5:
    break
 
print("\n" + "+" + " Pedido ".center(31, "-") + "+")
 
for pedido in pedidos:
  print(f"| {pedido} ".ljust(32, " ") + "|")
 
print("+" + "".center(31, "-") + "+")
print(f"| Total: R$ {total:.2f} ".ljust(32, " ") + "|")
print("+" + "".center(31, "-") + "+")
 

Aula 11 - Python

Data: 23/04/2024

Exercício 1

Altere o software do Exemplo I de modo que ele agora receba as notas do usuário e calcule a média e mostre na tela um resumo das notas.
DICA: inicie a lista de notas zerada: notas=[0,0,0,0,0]

Utilize duas estruturas while

"""
Nome:      Mateus Felipe Gonçalves <[email protected]>
Professor: Adjenor Cristiano
Data:      29/04/2024
Matéria:   Programação Estruturada
Turma:     1º Perí. B
"""
 
notas = [0,0,0,0,0]
 
indice = 0
while indice < 5:
    notas[indice] = int(input('Nota %d: ' % (indice + 1)))
    indice += 1
 
soma = 0
x = 0
 
while x < 5:
    soma += notas[x]
    x += 1
 
print()
 
print("*"*22)
print("*", "RESUMO DAS NOTAS".center(18), "*")
print("*"*22)
 
print()
 
 
indice = 0
while indice < 5:
    print('Nota %d: %d' % (indice + 1, notas[indice]))
    indice += 1
 
print('Média: %5.2f' % (soma / x))

Exercício 2

Altere o software do restaurante desenvolvido na semana passada de modo que a cada interação o software mostrará para o cliente todos os produtos comprados e o total da compra. O software deve permitir a ele que ele remova produtos ou adicione mais produtos.
DICA: Utilize ao menos duas listas, uma para os produtos e outra para os valores.

"""
Nome:      Mateus Felipe Gonçalves <[email protected]>
Professor: Adjenor Cristiano
Data:      29/04/2024
Matéria:   Programação Estruturada
Turma:     1º Perí. B
"""
 
pratos = [
  "Hambúrguer",
  "Pizza",
  "Refrigerante",
  "Batata Frita"
]
 
valores = [
  10.00,
  20.00,
  5.00,
  8.00
]
 
total = 0.0
pedido = []
 
while True:
  print("\n+" + " Menu ".center(22, "-") + "+")
  print("| [1] Adicionar prato  |")
  print("| [2] Remover prato    |")
  print("| [3] FINALIZAR PEDIDO |")
  print("+" + "-"*22 + "+")
  escolha = int(input("Escolha uma opção\n-> "))
 
  if escolha == 1:
    # ADICIONAR PEDIDO
 
    print("\n+" + " Cardápio ".center(28, "-") + "+")
 
    indice = 0
    while indice < len(pratos):
      opcao = f"[{indice + 1}] {pratos[indice]} - R$ {valores[indice]:.2f}"
      print("|", opcao.ljust(26, " "), "|")
      indice += 1
 
    print("+" + "".center(28, "-") + "+")
    prato = int(input("Escolha um prato\n-> ")) - 1
    total += valores[prato]
    pedido.append(pratos[prato]) # adiciona um elemeto à lista
 
  elif escolha == 2:
    # REMOVER PEDIDO
 
    print("\n+" + " Pedidos ".center(28, "-") + "+")
 
    indice = 0
    while indice < len(pedido):
      opcao = f"[{indice + 1}] {pedido[indice]}"
      print("|", opcao.ljust(26, " "), "|")
      indice += 1
 
    print("+" + "".center(28, "-") + "+")
 
    prato = int(input("Escolha um prato para remover\n-> ")) - 1
    total -= valores[prato]
    del pedido[prato] # OU pedido.pop(prato) # remove um elemento da lista
 
  elif escolha == 3:
    break
  else:
    print("Opção inválida")
 
 
# resulmo do pedido e valor total
print("\n+" + " Pedido ".center(25, "-") + "+")
 
indice = 0
while indice < len(pedido):
  print(f"| {pedido[indice]} ".ljust(26, " ") + "|")
  indice += 1
 
# exibe o valor total antes de encerrar o quadro
print("+" + "".center(25, "-") + "+")
print(f"| Total: R$ {total:.2f} ".ljust(26, " ") + "|")
print("+" + "".center(25, "-") + "+")

Exercício 3

Faça um programa que leia duas listas e que gere uma terceira com os elementos das duas primeiras.

"""
Nome:      Mateus Felipe Gonçalves <[email protected]>
Professor: Adjenor Cristiano
Data:      29/04/2024
Matéria:   Programação Estruturada
Turma:     1º Perí. B
"""
 
L1 = [7,5,3]
L2 = [4,6,8]
 
resultado = L1[:] + L2[:]
 
print(L1) # [7, 5, 3]
print(L2) # [4, 6, 8]
print(resultado) # [7, 5, 3, 4, 6, 8]

Exercício 4

Faça um programa que percorra duas listas e gere uma terceira sem elementos repetidos.

"""
Nome:      Mateus Felipe Gonçalves <[email protected]>
Professor: Adjenor Cristiano
Data:      29/04/2024
Matéria:   Programação Estruturada
Turma:     1º Perí. B
"""
 
L1 = [7,5,3,1,2,9]
L2 = [1,4,9,8,3,6]
 
resultado = list(set(L1 + L2))
 
print(L1) # [7, 5, 3, 1, 2, 9]
print(L2) # [1, 4, 9, 8, 3, 6]
print(resultado) # [1, 2, 3, 4, 5, 6, 7, 8, 9]

Aula 12 - Python

Não foi feita

Aula 13 - Python

Data: 14/05/2024

Exercício 1

Altere o programa anterior de modo que ele receba os valores para preencher a lista, a cada valor digitado o sistema ofereça ao usuário a opção de imprimir a lista com seus índices ([0] - 4). O programa também deve oferecer ao usuário a opção de adicionar mais um valor ou excluir um valor. Ao finalizar o sistema deve apresentar na tela todos os números digitados, o maior, menor e a média.

# verificação do maior valor
lista = []
 
 
while True:
    novo_valor = int(input("Digite um valor: "))
    lista.append(novo_valor)
    print("")
 
    exibir = input("Deseja exibir a lista? (s/n)")
 
    if exibir == "s":
        print(f"(I) N")
        for cont, item in enumerate(lista):
            print(f"({cont}) {item}")
 
    print("Escolha uma opção:")
    print("[1]> Adicionar novo valor")
    print("[2]> Excluir valor")
    print("[3]> Finalizar")
    escolha = int(input("-> "))
 
    print("")
    if escolha == 1:
        continue
    elif escolha == 2:
        print(f"(I) N")
        for cont, item in enumerate(lista):
            print(f"({cont}) {item}")
        excluir = int(input("Digite o índice do valor que deseja excluir: "))
        del lista[excluir]
    elif escolha == 3:
        break
 
 
maior = 0
menor = 0
soma = 0
 
for cont, item in enumerate(lista):
    if (item > maior) or cont == 0:
        maior = item
 
for cont, item in enumerate(lista):
    if (item < menor) or cont == 0:
        menor = item
 
for item in lista:
    soma += item
 
 
for cont, item in enumerate(lista):
    print(f"({cont}) {item}")
 
print(f"O maior valor é: {maior}")
print(f"O menor valor é: {menor}")
print(f"A média dos valores é: {soma / len(lista)}")

Exercício 2

Desenvolva um programa para separar os valores da lista [9,8,7,12,0,13,21,35,6,11,1] em duas listas, uma com os pares e outra com os ímpares.

lista = [9,8,7,12,0,13,21,35,6,11,1]
 
pares = []
impares = []
 
for item in lista:
    if item % 2 == 0:
        pares.append(item)
    else:
        impares.append(item)
 
print(f"Pares: {pares}")
print(f"Ímpares: {impares}")

Exercício 3

Altere o software do exercício anterior de forma que ele receba os dados do usuário para criar na lista de compras. O sistema deve oferecer ao usuário a possibilidade de exibir a lista de compras, adicionar e remover itens, além de mostrar os totais (valor total da compra e quantidade total de ítens).

import os
from time import sleep
 
limpar = lambda: os.system("clear")
 
itens = []
 
while True:
    limpar()
    print("+-- MENU PRINCIPAL --+")
    print("| [1] Adicionar item |")
    print("| [2] Remover item   |")
    print("| [3] Listar itens   |")
    print("| [4] Sair           |")
    print("+--------------------+")
    opcao = input("-> ")
 
    if not opcao.isdigit():
        print("\nOpção inválida!")
        sleep(2)
        continue
 
    opcao = int(opcao)
 
    if opcao == 1:
        limpar()
 
        print("[ ADICIONAR ITEM ]\n")
 
        nome = input("Nome do item: ")
        quantidade = int(input("Quantidade: "))
        valor_unitario = float(input("Valor unitário: ").replace(",", "."))
 
        itens.append([nome, quantidade, valor_unitario])
 
        print("\nItem adicionado com sucesso!")
        sleep(2)
    elif opcao == 2:
        limpar()
 
        if len(itens) == 0:
            print("Nenhum item para remover!")
            sleep(2)
            continue
 
        print("[ REMOVER ITEM ]\n")
 
        print("[ID] Nome\n")
        for indice, item in enumerate(itens):
            print("[%d] %s" % (indice, item[0]))
 
        print("\nID do ítem que deseja remover")
        id_item = int(input("-> "))
 
        if id_item < 0 or id_item >= len(itens):
            print("\nID inválido!")
            sleep(2)
            continue
        else:
            del itens[id_item]
            print("\nItem removido com sucesso!")
            sleep(2)
    elif opcao == 3:
        limpar()
 
        print("[ ITENS ]\n")
 
        quantidade_total = 0
        valor_total = 0
 
        print("ID | Nome - Quantidade - Valor unitário (Valor total)")
        print("---|-----------------------------------------------")
        for indice, item in enumerate(itens):
            print("%d  | %s - %d unidade(s) - R$ %.2f (R$ %.2f)" % (indice, item[0], item[1], item[2], item[1] * item[2]))
            quantidade_total += item[1]
            valor_total += item[1] * item[2]
 
        print("\nQuantidade unitária de itens -- %d" % len(itens))
        print("Quantidade total de itens ----- %d" % quantidade_total)
        print("Valor total da compra --------- R$ %.2f" % valor_total)
 
        input("\nPressione enter para continuar...")
    elif opcao == 4:
        limpar()
        break
    else:
        print("\nOpção inválida!")
        sleep(2)