Skip to content

tiagosathler/curso_algoritmos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Curso de Algoritmos e Lógica de Programação

✅ Conteúdo

⏲️ Carga horária do curso: 30h 43min

  1. 1. Apresentação do curso - 2 aulas - 12m
  2. 2. Introdução à programação - 12 aulas - 38m
  3. 3. Estrutura sequencial - 23 aulas - 2h 55m
  4. 4. Estrutura condicional - 20 aulas - 2h 56m
  5. 5. Estruturas repetitivas - 28 aulas - 4h 9m
  6. 6. Vetores - 21 aulas - 3h 55m
  7. 7. Matrizes - 16 aulas - 2h 57m
  8. 8. Instalação das ferramentas para linguagens - 10 aulas - 32m
  9. 9. Linguagem C - 35 aulas - 4h 33m
  10. 10. Linguagem C++ - 18 aulas - 1h 47m
  11. 11. Linguagem Java - 20 aulas - 2h 5m
  12. 12. Linguagem C# - 20 aulas - 2h 3m
  13. 13. Linguagem Python - 22 aulas - 2h 3m

Udemy

Curso de Algoritmos e Lógica de Programação

Ministrado pelo Prof. Dr. Nelio Alves

📝 Exercícios

Carga horária dos exercícios:

wakatime

Os exercícios foram feitos em Portugol Studio, C, C++, C#, Java e Python.

  1. Estruturas sequenciais

  2. Problema: terreno

    Fazer um programa para ler as medidas da largura e comprimento de um terreno retangular com uma casa decimal, bem como o valor do metro quadrado do terreno com duas casas decimais. Em seguida, o programa deve mostrar o valor da área do terreno, bem como o valor do preço do terreno, ambos com duas casas decimais.

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: retângulo

    Fazer um programa para ler as medidas da base e altura de um retângulo. Em seguida, mostrar o valor da área, perímetro e diagonal deste retângulo, com quatro casas decimais,

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: idades

    Fazer um programa para ler o nome e idade de duas pessoas. Ao final mostrar uma mensagem com os nomes e a idade média *entre essas pessoas, com uma casa decimal

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: soma

    Fazer um programa para ler dois valores inteiros X e Y, e depois mostrar na tela o valor da soma destes números.

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: troco

    Fazer um programa para calcular o troco no processo de pagamento de um produto de uma mercearia. O programa deve ler o preço unitário do produto, a quantidade de unidades compradas deste produto, e o valor em dinheiro dado pelo cliente (suponha que haja dinheiro suficiente). Seu programa deve mostrar o valor do troco a ser devolvido ao cliente.

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: círculo

    Fazer um programa para ler o valor 'r' do raio de um círculo, e depois mostrar o valor da área do círculo com três asas decimais. A fórmula da área do círculo é a seguinte: area = 𝜋. 𝑟. Você pode usar o valor de 𝜋 fornecido pela biblioteca da sua linguagem de programação, ou então, se preferir, use diretamente o valor 3,14159.

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: pagamento

    Fazer um programa para ler o nome de um(a) funcionário(a), o valor que ele(a) recebe por hora, e a quantidade de horas trabalhadas por ele(a). Ao final, mostrar o valor do pagamento do funcionário com uma mensagem explicativa

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: consumo

    Fazer um programa para ler a distância total (em km) percorrida por um carro, bem como o total de combustível gasto por este carro ao percorrer tal distância. Seu programa deve mostrar o consumo médio do carro, com três casas decimais.

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: medidas

    Fazer um programa para ler três medidas A, B e C. Em seguida, calcular e mostrar (imprimir os dados com quatro casas decimais): a) a área do quadrado com lado A b) a área do triângulo retângulo que base A e altura B c) a área do trapézio com bases A e B, e altura C

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: duração

    Fazer um programa para ler uma duração de tempo em segundos, daí imprimir na tela esta duração no formato: horas:minutos:segundos.

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
  3. Estruturas condicionais

  4. Problema: notas

    Fazer um programa para ler as duas notas que um aluno obteve no primeiro e segundo semestres de uma disciplina anual. Em seguida, mostrar a nota const que o aluno obteve (com uma casa decimal) no ano juntamente com um texto explicativo. Caso a nota final do aluno seja inferior a 60,00, mostrar a mensagem "REPROVADO"

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: bhaskara

    Fazer um programa para ler os três coeficientes de uma equação do segundo grau. Usando a fórmula de Bháskara, calcular e mostrar os valores das raízes x1 e x2 da equação com quatro casas decimais. Se a equação não possuir raízes reais, mostrar uma mensagem.

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: menor de três

    Fazer um programa para ler três números inteiros. Em seguida, mostrar qual o menor dentre os três números lidos. Em caso de empate, mostrar apenas uma vez.

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: operadora

    Uma operadora de telefonia cobra R$ 50.00 por um plano básico que dá direito a 100 minutos de telefone. Cada minuto que exceder a franquia de 100 minutos custa R$ 2.00. Fazer um programa para ler a quantidade de minutos que uma pessoa consumiu, daí mostrar o valor a ser pago.

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: troco verificado

    Fazer um programa para calcular o troco no processo de pagamento de um produto de uma mercearia. O programa deve ler o preço unitário do produto, a quantidade de unidades compradas deste produto, e o valor em dinheiro dado pelo cliente. Seu programa deve mostrar o valor do troco a ser devolvido ao cliente. Se o dinheiro dado pelo cliente não for suficiente, mostrar uma mensagem informando o valor restante.

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: glicose

    Fazer um programa para ler a quantidade de glicose no sangue de uma pessoa e depois mostrar na tela a classificação desta glicose conforme a tabela de referência abaixo:

    Glicose Classificação
    Até 100 mg/dl Normal
    Maior que 100 até 140 mg/dl Elevado
    Maior de 140 mg/dl Diabetes

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: dardo

    No arremesso de dardo, o atleta tem três chances para lançar o dardo à maior distância que conseguir. Você deve criar um programa para, dadas as medidas das três tentativas de lançamento, informar qual foi a maior.

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: temperatura

    Deseja-se converter uma medida de temperatura da escala Celsius para Fahrenheit ou vice-versa. Para isso, você deve construir um programa que leia a letra "C" ou "F" indicando em qual escala vai ser informada uma temperatura. Em seguida o programa deve mostrar a temperatura na outra escala com duas casas decimais. A seguir são dadas as fórmulas para converter de Fahrenheit para Celsius e vice-versa:

    C = (F - 32)* 5 / 9

    F = C * 9 / 5 + 32

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: lanchonete

    Uma lanchonete possui vários produtos. Cada produto possui um código e um preço. Você deve fazer um programa para ler o código e a quantidade comprada de um produto (suponha um código válido), e daí informar qual o valor a ser pago, com duas casas decimais, conforme tabela de produtos abaixo.

    Código do produto Preço do produto
    1 R$ 5.00
    2 R$ 3.50
    3 R$ 4.80
    4 R$ 8.90
    5 R$ 7.32

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: múltiplos

    Fazer um programa para ler dois números inteiros, e dizer se um número é múltiplo do outro. Os números podem ser digitados em qualquer ordem.

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: aumento

    Uma empresa vai conceder um aumento percentual de salário aos seus funcionários dependendo de quanto cada pessoa ganha, conforme tabela ao lado. Fazer um programa para ler o salário de uma pessoa, daí mostrar qual o novo salário desta pessoa depois do aumento, quanto foi o aumento e qual foi a porcentagem de aumento.

    Salário atual Aumento
    Até R$ 1000.00 20%
    Acima de R$ 1000.00 até R$ 3000.00 15%
    Acima de R$ 3000.00 até R$ 8000.00 10%
    Acima de R$ 8000.00 5%

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: tempo de jogo

    Leia a hora inicial e a hora final de um jogo. A seguir calcule a duração do jogo, sabendo que o mesmo pode começar em um dia e terminar em outro, tendo uma duração mínima de 1 hora e máxima de 24 horas.

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: coordenadas

    Leia os valores das coordenadas X e Y de um ponto no plano cartesiano. A seguir, determine qual o quadrante ao qual pertence o ponto (Q1, Q2, Q3 ou Q4). Se o ponto estiver na origem, escreva a mensagem “Origem”. Se o ponto estiver sobre um dos eixos escreva “Eixo X” ou “Eixo Y”, conforme for a situação.

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
  5. Estruturas repetitivas

  6. Problema: crescente

    Leia uma quantidade indeterminada de duplas de valores inteiros X e Y. Escreva para cada X e Y uma mensagem que indique se estes valores foram digitados em ordem crescente ou decrescente. O programa deve finalizar quando forem digitados dois valores iguais.

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: média idades

    Faça um programa para ler um número indeterminado de dados, contendo cada um, a idade de um indivíduo. O último dado, que não entrará nos cálculos, contém um valor de idade negativa. Calcular e imprimir a idade média deste grupo de indivíduos. Se for entrado um valor negativo na primeira vez, mostrar a mensagem "IMPOSSÍVEL CALCULAR".

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: senha fixa

    Escreva um programa que repita a leitura de uma senha até que ela seja válida. Para cada leitura de senha incorreta informada, escrever a mensagem "Senha Inválida! Tente novamente:". Quando a senha for informada corretamente deve ser impressa a mensagem "Acesso Permitido" e o algoritmo encerrado. Considere que a senha correta é o valor 2002.

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: quadrante

    Escreva um programa para ler as coordenadas (X, Y) de uma quantidade indeterminada de pontos no sistema cartesiano. Para cada ponto escrever o quadrante a que ele pertence (Q1, Q2, Q3 ou Q4). O algoritmo será encerrado quando pelo menos uma de duas coordenadas for NULA (nesta situação sem escrever mensagem alguma).

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: validação de nota

    Faça um programa que leia as notas referentes às duas avaliações de um aluno. Calcule e imprima a média semestral. Faça com que o algoritmo só aceite notas válidas (uma nota válida deve pertencer ao intervalo [0, 10]). Cada nota deve ser validada separadamente.

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: combustível

    Um posto de combustíveis deseja determinar qual de seus produtos tem a preferência de seus clientes. Escreva um algoritmo para ler o tipo de combustível abastecido (codificado da seguinte forma: 1. Álcool 2. Gasolina 3. Diesel 4. Fim). Caso o usuário informe um código inválido (fora da faixa de 1 a 4) deve ser solicitado um novo código (até que seja válido). O programa será encerrado quando o código informado for o número 4, devendo então mostrar a mensagem "MUITO OBRIGADO", bem como as quantidades de cada combustível.

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: pares consecutivos

    O programa deve ler um valor inteiro X indefinidas vezes. (O programa irá parar quando o valor de X for igual a 0). Para cada X lido, imprima a soma dos 5 pares consecutivos a partir de X, inclusive o X, se for par. Se o valor de entrada for 4, por exemplo, a saída deve ser 40, que é o resultado da operação: 4+6+8+10+12, enquanto que se o valor de entrada for 11, por exemplo, a saída deve ser 80, que é a soma de 12+14+16+18+20.

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: tabuada

    Ler um número inteiro N, daí mostrar na tela a tabuada de N para 1 a 10.

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: soma ímpares

    Leia 2 valores inteiros X e Y (em qualquer ordem). A seguir, calcule e mostre a soma dos números impares entre eles.

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: sequência ímpares

    Leia um valor inteiro X. Em seguida mostre os ímpares de 1 até X, um valor por linha, inclusive o X, se for o caso.

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: dentro / fora

    Leia um valor inteiro N. Este valor será a quantidade de valores inteiros X que serão lidos em seguida. Mostre quantos destes valores X estão dentro do intervalo [10, 20] e quantos estão fora do intervalo.

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: par / ímpar

    Leia um valor inteiro N. Este valor será a quantidade de números inteiros que serão lidos em seguida. Para cada valor lido, mostre uma mensagem dizendo se este valor lido é PAR ou IMPAR, e também se é POSITIVO ou NEGATIVO. No caso do valor ser igual a zero (0), seu programa deverá imprimir apenas NULO.

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: média ponderada

    Leia um valor inteiro N, que representa o número de casos de teste que segue. Cada caso de teste consiste em 3 valores reais, para os quais você deverá calcular e mostrar a média ponderada, sendo que o primeiro valor tem peso 2, o segundo valor tem peso 3 e o terceiro valor tem peso 5. Vale lembrar que a média ponderada é a soma de todos os valores multiplicados pelo seu respectivo peso, dividida pela soma dos pesos.

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: divisão

    Escreva um algoritmo que leia dois números e imprima o resultado da divisão do primeiro pelo segundo. Caso não for possível, mostre a mensagem “DIVISÃO IMPOSSÍVEL”

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: fatorial

    Fazer um programa para ler um número natural N (valor máximo: 15), e depois calcular e mostrar o fatorial de N.

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: experiências

    Maria acabou de iniciar seu curso de graduação na faculdade de medicina e precisa de sua ajuda para organizar os experimentos de um laboratório o qual ela é responsável. Ela quer saber no final do ano, quantas cobaias foram utilizadas no laboratório e o percentual de cada tipo de cobaia utilizada. Este laboratório em especial utiliza três tipos de cobaias: sapos, ratos e coelhos. Para obter estas informações, ela sabe exatamente o número de experimentos realizados, o tipo de cobaia utilizada e a quantidade de cobaias utilizadas em cada experimento. Faça um programa que leia um valor inteiro N que indica os vários casos de teste que segue. Cada caso de teste contém um inteiro que representa a quantidade de cobaias utilizadas e uma letra ('C', 'R' ou 'S'), indicando o tipo de cobaia (R: Rato S: Sapo C: Coelho). Apresente o total de cobaias utilizadas, o total de cada tipo de cobaia utilizada e o percentual de cada uma em relação ao total de cobaias utilizadas, sendo que o percentual deve ser apresentado com dois dígitos após o ponto.

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
  7. Vetores

  8. Problema: negativos

    Faça um programa que leia um número inteiro positivo N (máximo = 10) e depois N números inteiros e armazene-os em um vetor. Em seguida, mostrar na tela todos os números negativos lidos.

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: soma vetor

    Faça um programa que leia N números reais e armazene-os em um vetor. Em seguida: - Imprimir todos os elementos do vetor - Mostrar na tela a soma e a média dos elementos do vetor

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: alturas

    Fazer um programa para ler nome, idade e altura de N pessoas, conforme exemplo. Depois, mostrar na tela a altura média das pessoas, e mostrar também a porcentagem de pessoas com menos de 16 anos, bem como os nomes dessas pessoas caso houver.

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: números pares

    Faça um programa que leia N números inteiros e armazene-os em um vetor. Em seguida, mostre na tela todos os números pares, e também a quantidade de números pares.

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: maior posição

    Faça um programa que leia N números reais positivos e armazene-os em um vetor. Em seguida, mostrar na tela o maior número do vetor (supor não haver empates). Mostrar também a posição do maior elemento, considerando a primeira posição como 0 (zero).

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: soma vetores

    Faça um programa para ler dois vetores A e B, contendo N elementos cada. Em seguida, gere um terceiro vetor C onde cada elemento de C é a soma dos elementos correspondentes de A e B. Imprima o vetor C gerado.

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: abaixo da média

    Fazer um programa para ler um número inteiro N e depois um vetor de N números reais. Em seguida, mostrar na tela a média aritmética de todos os elementos com três casas decimais. Depois mostrar todos os elementos do vetor que estejam abaixo da média, com uma casa decimal cada.

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: média pares

    Fazer um programa para ler um vetor de N números inteiros. Em seguida, mostrar na tela a média aritmética somente dos números pares lidos, com uma casa decimal. Se nenhum número par for digitado, mostrar a mensagem "NENHUM NÚMERO PAR"

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: mais velho

    Fazer um programa para ler um conjunto de nomes de pessoas e suas respectivas idades. Os nomes devem ser armazenados em um vetor, e as idades em outro vetor. Depois, mostrar na tela o nome da pessoa mais velha.

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: aprovados

    Fazer um programa para ler um conjunto de N nomes de alunos, bem como as notas que eles tiraram no 1º e 2º semestres. Cada uma dessas informações deve ser armazenada em um vetor. Depois, imprimir os nomes dos alunos aprovados, considerando aprovado aqueles cuja média das notas seja maior ou igual a 6,0 (seis).

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: dados pessoas

    Tem-se um conjunto de dados contendo a altura e o gênero (M, F) de N pessoas. Fazer um programa que calcule e escreva a maior e a menor altura do grupo, a média de altura das mulheres, e o número de homens.

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: comerciante

    Um comerciante deseja fazer o levantamento do lucro das mercadorias que ele comercializa. Para isto, mandou digitar um conjunto de N mercadorias, cada uma contendo nome, preço de compra e preço de venda das mesmas. Fazer um programa que leia tais dados e determine e escreva quantas mercadorias proporcionaram:

    - lucro < 10%

    - 10% ≤ lucro ≤ 20%

    - lucro > 20%

    Determine e escreva também o valor total de compra e de venda de todas as mercadorias, assim como o lucro total.

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
  9. Matrizes

  10. Problema: diagonal negativos

    Fazer um programa para ler um número inteiro N (máximo = 10) e uma matriz quadrada de ordem N contendo números inteiros. Em seguida, mostrar a diagonal principal e a quantidade de valores negativos da matriz.

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: soma linhas

    Fazer um programa para ler dois números inteiros M e N (máximo = 10). Em seguida, ler uma matriz de M linhas e N colunas contendo números reais. Gerar um vetor de modo que cada elemento do vetor seja a soma dos elementos da linha correspondente da matriz. Mostrar o vetor gerado.

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: negativos matriz

    Ler dois números M e N (máximo = 10), e depois ler uma matriz MxN de números inteiros. Em seguida, mostrar na tela somente os números negativos da matriz.

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: cada linha

    Ler um inteiro N e uma matriz quadrada de ordem N (máximo = 10). Mostrar qual o maior elemento de cada linha. Suponha não haver empates.

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: soma matrizes

    Fazer um programa para ler duas matrizes de números inteiros A e B, contendo de M linhas e N colunas cada (M e N máximo = 10). Depois, gerar uma terceira matriz C onde cada elemento desta é a soma dos elementos correspondentes das matrizes originais. Imprimir na tela a matriz gerada.

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: acima diagonal

    Ler um inteiro N (máximo = 10) e uma matriz quadrada de ordem N contendo números inteiros. Mostrar a soma dos elementos acima da diagonal principal.

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language
    Problema: matriz geral

    Ler uma matriz quadrada de ordem N (máximo = 10), contendo números reais. Em seguida, fazer as seguintes ações: a) calcular e imprimir a soma de todos os elementos positivos da matriz; b) fazer a leitura do índice de uma linha da matriz e, daí, imprimir todos os elementos desta linha; c) fazer a leitura do índice de uma coluna da matriz e, daí, imprimir todos os elementos desta coluna; d) imprimir os elementos da diagonal principal da matriz; e) alterar a matriz elevando ao quadrado todos os números negativos da mesma. Em seguida imprimir a matriz alterada.

    Soluções:

    portugoal studioc languagec++ languagec# languagejava languagepython language

📜 Certificado

certificado