Pular para o conteúdo

Lista de exercícios básicos de Portugol e Python

lista exerc basic portugol python

Introdução

Esta é uma lista de exercícios oferecida para os meus alunos das aulas livres de Algoritmo e Lógica de Programação Básica em Python. É uma lista que busca a prática da lógica, do pensamento computacional, de pseudocódigo (Portugol), bem como os códigos ou algoritmos em Python no que diz respeito à:
– variáveis ou objetos de tipos simples;
– tipos de dados (int(), float(), str() e bool())
– função type();
– função print();
– função input();
– operadores aritméticos (matemáticos), relacionais (comparação) e lógicos;
– variáveis ou objetos de tipos compostos (listas, tuplas e conjuntos);
– funções list(), tuple() e set();
– alguns métodos dos objetos e como acessar os métodos dos objetos;
– operações entre conjuntos (.union(), .intersection(), .difference(), .symmetric_difference(), .issubset() e .issuperset());
– endereçamento (index()) e “slicing” de itens ou elementos em listas e tuplas;
– estrutura de controle condicional: if/else e if/elif/else; e
– estrutura de controle para repetição (looping): for e while.

Obs.: o material de apoio foi enviado no grupo de WhatsApp.

Orientações

  1. Resolva os exercícios pelo Google Colab e compartilhe comigo caso queira alguma orientação ou correção.
  2. Tente resolver os exercícios sem ajuda da IA.
  3. Lembre-se: quanto mais você escreve e treina, mais e melhor você aprende.
  4. Tenha o hábito de inserir comentários explicativos nos algoritmos. Além de lhe ajudar a estudar e entender mais, os comentários são importantes para que você e outras pessoas possam saber e entender o funcionamento do código.

Bloco A — Aquecimento (conceitos básicos)

✏️ Lembre-se:
Portugol serve para pensar o algoritmo antes de programar.
Python serve para ver o algoritmo funcionando na prática.

1) Escreva os algoritmos, em Portugol e em Python, dos seguintes problemas:

1.1) Imprimir na tela a mensagem “Olá, mundo! Eu gosto de Python!”.

1.2) Fazer um programa que pergunte o nome do usuário (input()) e imprima uma mensagem de boas vindas. Por exemplo: “Olá {nome}, parabéns por estudar Python!”.

1.3) Uma calculadora simples para somar dois números e mostrar o resultado.

1.4) Uma calculadora simples que some dois números e, depois, leia um terceiro número e subtraia-o do resultado da soma. Por fim, mostrar o resultado na tela.

1.5) Reescreva o algoritmo da questão 1.3, mas incremente esse código inserindo o código que solicite os valores para as variáveis (input()), faça a soma dos números lidos para as variáveis e exiba o resultado.

1.6) Uma calculadora que receba dois números digitados por um usuário qualquer e, depois, faça:
* a soma desses dois números e mostre o resultado;
* a subtração desses dois números e mostre o resultado;
* a multiplicação desses dois números e mostre o resultado;
* a divisão do primeiro pelo segundo e mostre o resultado.
Atenção! Na divisão, o divisor não pode ser 0 (zero), então precisa tratar isso, mostrando uma mensagem de que não pode ser dividido por zero.

Bloco B — Decisões e Laços

1.7) Uma calculadora para calcular a média aritmética de quatro valores (números reais) digitados por um usuário, e mostre o resultado da média calculada.

1.8) Uma calculadora que calcule a potência de uma base elevada a um expoente. A base e o expoente devem ser informados pelo usuário.

1.9) Escreva um programa que mostre se um número digitado é par ou ímpar.

1.10) Escrever um programa que diga se uma determinada pessoa é de maior. A pessoa digita a idade e se >= 18, mostrar uma mensagem de que ela pode obter a carteira de motorista, se não for, avisar que ainda é de menor.

2) Escrever programas para os seguintes problemas abaixo, colocando comentários que expliquem o programa e cada uma das etapas ou blocos que estão no programa.

2.1) Converta para lista, utilizando o método “split()”, a frase “Logo serei profissional em Python.” No final, exiba uma mensagem explicando que o método split() converte separando em palavras.

2.2) Converta para lista, utilizando a função “list()”, a frase “Logo serei profissional em Python.” No final, exiba uma mensagem explicando que a função list() converte separando todos os caracteres.

2.3) Escreva um programa que crie uma lista com os nomes das cinco disciplinas que você mais gosta. Utilize o “for”. No final, exiba a lista com os cinco nomes.

2.4) Escreva um programa que mostre, separadamente, os números ímpares e os números pares contidos em um range de 20 números.

2.5) Escreva um programa que faça duas listas de nomes, uma com nomes que iniciam com vogais e a outra que iniciam com consoantes. Ao iniciar, o programa deve pedir para o usuário quantos nomes ele irá digitar.

Bloco C — Desafios e Bônus

2.6) Um aluno quer saber como está de média na escola e a sua situação com relação a essa média. Ou seja, precisa saber o valor da média e se está ruim, regular ou ótimo. Para isso, desenvolva um programa que calcule as médias trimestrais das notas de uma disciplina. O programa deve ter as seguintes funcionalidades:
* perguntar e guardar o nome da disciplina;
* perguntar de quantos trimestres deseja calcular a média;
* perguntar o trimestre que será calculada a média;
* perguntar as notas correspondentes do trimestre escolhido;
* calcular a média correspondente aos trimestres escolhidos.
Por exemplo, se foi escolhido apenas um trimestre, calcular a média dele. Caso escolha 2 ou 3 trimestres, fazer a média de cada um dos trimestres e, depois, fazer a média das médias. Por fim, deve ser exibida a média. Conforme o valor da média, exibir uma mensagem conforme abaixo:
* se abaixo de 6: “Você precisa estudar melhor.”;
* se estiver entre 6 e 8: “Você está indo bem e passará se continuar assim.”; e
* se estiver acima de 8: “Você é um exemplo e possui ótimas chances de obter sucesso!”.
Depois de tudo pronto, a lista das notas deve ser convertida para tupla. Exibir a tupla com as notas.

2.7) Uma pessoa quer saber quanto ela poderá doar do seu próximo salário. Para isso, ela precisa de um programa que leia o salário da pessoa e, depois, leia as despesas que ela tem no mês (água, energia, aluguel, internet, transporte, mercado, academia e diversão) e, além disso, a parte que ela guardará para o futuro dela (20%). No final, o programa deverá mostrar na tela o quanto ela poderá doar em reais e em porcentagem em relação ao salário. Porém, se o resultado for nada ou negativo, mostrar a mensagem: “Você é quem precisa de doação!”.

2.8) É final de semana e uma pessoa quer decidir o que fazer dependendo das condições meteorológicas. Por exemplo, se estiver calor e ensolarado, a pessoa visitará a Patagônia; se estiver chovendo, a pessoa ficará em casa e assistirá “Eram os deuses astronautas?”; se estiver frio, irá para um sítio comer pizzas assadas no forno a lenha.

2.9) Uma pessoa precisa saber se um número é primo, ímpar, par ou zero. Lembre-se, números primos são números naturais, ou seja, não existem números primos negativos, sendo o primeiro número primo o número 2 (dois) que, aliás, é o único número primo que é par. Em suma, o programa deve ler um número e dizer se ele é:
* negativo, zero ou positivo;
* par ou ímpar; e
* primo (quando positivo e maior que 1).

2.10) Desafio final! Uma pessoa quer enviar uma mensagem sigilosa para uma outra pessoa. Para isso, ela decidiu utilizar a “Cifra de César”. Portanto, desenvolva um programa que cifre ou criptografe a mensagem e, também, descriptografe para poder ser lida pelo destinatário. Orientações: utilize apenas letras minúsculas e sem acentos ou cedilha; preserve os espaços.

eu 2023v22

sobre o autor

Daniel R. da Silva

Autodidata e apaixonado por ajudar pessoas e empresas com a utilização de TI & IA.

Compartilhar

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.