Skip to content

Latest commit

 

History

History
483 lines (329 loc) · 20.4 KB

README.md

File metadata and controls

483 lines (329 loc) · 20.4 KB

Estudos em Lógica de Programação

Lógica de Programação

Sumário

Introdução

Esse repositório foi criado com o objetivo de centralizar todos as questões de programação que eu estou estudando - e programando - no momento. Atualmente, o objetivo do repositório também foi expandido para contemplar questões de Maratonas de Programação. Estou participando de um curso de Programação Competitiva e lidamos com questões contextualizadas constantemente. Elas também podem ser encontradas neste repositório. Espero que, de alguma maneira, esse repositório possa colaborar com seus estudos.

Como executar os códigos (no Windows):

1. Em C:

  • Baixe o gcc através deste link: (http://tdm-gcc.tdragon.net/download) e instale-o normalmente no seu computador.
  • Caminhe, no terminal, até a pasta onde o seu código C está localizado.
  • Ao chegar na pasta, compile o código da questão: (O nome teste pode ser alterado para qualquer nome)

$ gcc -o teste arquivo.c

  • Feito isso é só executar:

$ teste

2. Em C#:

Vamos configurar as variáveis de ambiente para que os código em C# possam ser compilados e executados no terminal:

  • Em Computador (ou Meu Computador), clique em "Configurações Avançadas do Sistema" e depois na aba "Avançado".
  • Clique no botão "Variáveis de Ambiente", procure pela variável PATH e clique em "Editar".
  • Adicione, no final da variável PATH, o diretório em que o compilador do C# se encontra.
    • Um diretório comum é: “C:\Windows\Microsoft.NET\Framework64\v4.0.30319″.
    • OBS: Não esqueça de colocar o caractere ponto-e-vírgula (;) para inserir uma nova entrada na variável “PATH”.
  • Pronto! Agora é só verificar se deu certo! Abra o terminal e execute:

$ csc

  • Se tiver dado tudo certo aparecerá algo assim:

$ Microsoft (R) Visual C# Compiler version 4.6.1087.0 for C# 5 Copyright (C) Microsoft Corporation. All rights reserved.

  • Navegue até chegar na pasta onde o seu código C# se encontra, e execute: (essa linha de código gerará o '.exe')

$ csc nomedoarquivo.cs

  • Agora execute:

$ nomedoarquivo.exe

3. Em Java:

  • Instale o JDK e o JRE no seu computador. (http://www.oracle.com/technetwork/java/javase/downloads/index.html)
  • Em Computador (ou Meu Computador), clique em "Configurações Avançadas do Sistema" e depois na aba "Avançado".
  • Clique no botão "Variáveis de Ambiente" e depois crie uma nova variável do sistema.
  • O nome da variável será "JAVA_HOME" e o seu valor será o caminho até o JDK instalado. Ex: “C:/Arquivos de programas/Java/jdk1.5.0_05”.
  • Clique em OK e crie novamente outra variável de ambiente.
  • Nomeei ela com "CLASSPATH" e adicione este valor: (se houver algo no CLASSPATH coloque ';' e adicione este conteúdo após o sinal).

;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\htmlconverter.jar;%JAVA_HOME%\jre\lib;%JAVA_HOME%\jre\lib\rt.jar;

  • Clique em OK e depois procure por "PATH" nas variáveis de ambiente e clique em "Editar".

  • Adicione este conteúdo à variável: $ ;%JAVA_HOME%\bin

  • Clique em OK e feche todas as janelas.

  • Abra o terminal e caminhe até a pasta onde o código se encontra.

  • Ao chegar na pasta digite:

    $ javac arquivo.java

  • Feito isso é só executar:

    $ java arquivo

4. Em Ruby:

  • Instale o Ruby no seu computador. (https://rubyinstaller.org/downloads/)

  • Abra o terminal e caminhe até a pasta onde o código se encontra.

  • Execute o seguinte comando:

    $ ruby arquivo.ruby

5. Em PHP:

6. Em Python:

  • Instale o Python no seu computador. (https://www.python.org/downloads/)
  • Abra o terminal e caminhe até a pasta onde o código se encontra.
  • Execute o seguinte comando:

$ python arquivo.py

Questões Introdutórias:

1. Sequenciais

1 - Faça um programa que mostre a mensagem "Alo mundo" na tela.

C - C# - Java - PHP - Python - Ruby

2 - Faça um programa que peça um número e então mostre a mensagem: "O número informado foi {numero}."

C - Java - PHP - Python - Ruby

3 - Faça um programa que peça dois números e imprima a soma.

C - Java - PHP - Python - Ruby

4 - Faça um programa que peça as 4 notas bimestrais e mostre a média.

C - Java - PHP - Python - Ruby

5 - Faça um programa que converta metros para centímetros

C - Java - PHP - Python - Ruby

6 - Faça um programa que peça o raio de um círculo, calcule e mostre sua área.

C - Java - PHP - Python - Ruby

7 - Faça um programa que calcule a área de um quadrado, em seguida mostre o dobro desta área para o usuário.

C - Java - PHP - Python - Ruby

8 - Faça um programa que pergunte quanto você ganha por hora e o número de horas trabalhadas no mês. Calcule e mostre o total do seu salário no referido mês.

C - Java - PHP - Python - Ruby

9 - Faça um programa que peça a temperatura em graus Farenheit, transforme e mostre a temperatura em graus Celsius. C = (5 * (F-32) / 9)

C - Java - PHP - Python - Ruby

10 - Faça um programa que peça a temperatura em graus Celsius, transforme e mostre em graus Farenheit.

C - Java - PHP - Python - Ruby

11 - Faça um programa que peça 2 números inteiros e um número real. Calcule e mostre:

  • o produto do dobro do primeiro com metade do segundo
  • a soma do triplo do primeiro com o terceiro
  • o terceiro elevado ao cubo

C - Java - PHP - Python - Ruby

12 - Tendo como dados de entrada a altura de uma pessoa, construa um algoritmo que calcule seu peso ideal, usando a seguinte fórmula: (72.7 * altura) - 58.

C - Java - PHP - Python - Ruby

13 - Escreva um programa que leia um número real e faça o arredondamento para inteiro. Se a parte fracionária for maior do que 0.5 o arredondamento deve ser feito para o próximo inteiro.

C - Java - PHP - Python - Ruby

2. Condicionais

1 - Escreva um programa que leia um número e mostre se ele é igual a 10.

C - Java - PHP - Ruby

2 - Escreva um programa que leia um número e mostre se ele é múltiplo de 7.

C - Java - PHP - Ruby

3 - Escreva um programa que leia um número e mostre se ele é positivo.

C - Java - PHP - Ruby

4 - Escreva um programa que leia dois números e informe se eles são iguais.

C - Java - PHP - Ruby

5 - Escreva um programa que leia dois números e mostre o maior.

C - Java - PHP - Ruby

6 - Escreva um programa que leia dois nomes e mostre o que contém maior quantidade de caracteres.

C - Java - PHP - Ruby

7 - Escreva um programa que leia um número e mostre se ele é positivo.

C - Java - PHP - Ruby

8 - Escreva um programa que leia um número inteiro que corresponde a um ângulo e informe em qual quadrante este ângulo se encontra.

C - Java - PHP - Ruby

9 - Escreva um programa que leia um número inteiro que corresponde a um ângulo e informe em qual quadrante este ângulo se encontra e quantas voltas ele dá. (360º = uma volta)

C - Java - PHP - Ruby

10 - Escreva um programa que leia dois números inteiros e informe se o maior é múltiplo do menor

C - Java - PHP - Ruby

11 - Escreva um programa que leia dois nomes de times de futebol, a quantidade de gols do primeiro time, a quantidade de gols do segundo time e mostre o nome do time vencedor da partida.

C - Java - PHP - Ruby

12 - Brincadeira do ímpar ou par: escreva um programa que leia dois nomes e dois valores inteiros, que correspondem ao que cada um colocou, e informe quem ganhou o "impar ou par".

C - Java - PHP - Ruby

13 - Escreva um programa que leia 4 números e mostre o maior.

C - Java - PHP - Ruby

3. Laços

1 - Faça um programa que peça uma nota, entre zero e dez. Mostre uma mensagem caso o valor seja inválido e continue pedindo até que o usuário informe um valor válido.

PHP - Ruby

2 - Faça um programa que leia um nome de usuário e a sua senha e não aceite a senha igual ao nome do usuário, mostrando uma mensagem de erro e voltando a pedir as informações.

PHP - Ruby

3 - Faça um programa que leia 5 números e informe o maior número.

PHP - Ruby

4 - Faça um programa que leia 5 números e informe a soma e a média dos números.

PHP - Ruby

5 - Faça um programa que imprima na tela apenas os números ímpares entre 1 e 50.

PHP - Ruby

6 - Desenvolva um gerador de tabuada, capaz de gerar a tabuada de qualquer número inteiro entre 1 a 10. O usuário deve informar de qual numero ele deseja ver a tabuada.

PHP - Ruby

4. Vetores

1 - Escreva um programa que leia 30 números e armazene-os em um array. Depois leia mais um número inteiro, que deve corresponder a um índice do array, e troque o primeiro elemento com o elemento do índice lido. Caso o índice não seja válido o programa deve trocar o primeiro com o último elemento. Ao final o programa deve mostrar os elementos do array, um elemento por linha.

PHP - Ruby

2 - Escreva um programa que leia uma matriz de inteiros 5 x 5, e mostre a linha cuja a soma dos números é a maior.

PHP - Ruby

3 - Escreva um programa que leia uma matriz N x M, e imprima a sua transposta.

PHP - Ruby

4 - Escreva um programa que leia uma matriz N x M de strings, e mostre a posição com a string de maior tamanho.

PHP - Ruby

5 - Dadas as matrizes:

 |  1  2  3  |     | -7 -8  9  |     |  2  3 -4  |
 | -4  5  6  |     | 12  6  5  |     |  6  7  1  |
 |  4  6  8  |     |  8  7  4  |     |  2  8  7  |
       A                 B                 C

determine a matriz D resultante da operação A + B – C.

PHP - Ruby

6 - São dadas as matrizes A = (aij) e B = (bij), quadradas de ordem 4, com aij = 3i + 4j e bij = – 4i – 3j. Considerando C = A + B, escreva um programa que calcule a matriz C.

PHP - Ruby

5. Funções

1 - Escreva uma função, chamada maior2, que retorna o maior de dois números

PHP - Ruby

2 - Escreva uma função, chamada maior3, que retorna o maior de três números.

PHP - Ruby

3 - Escreva uma função chamada eImpar que retorna true se o número for ímpar ou false se ele não for ímpar.

PHP - Ruby

4 - Escreva uma função chamada fat que retorna o fatorial de um número. A função deve verificar se o parâmetro passado é inteiro e maior do que zero, caso contrário deve retornar -1.

PHP - Ruby

5 - Escreva uma função chamada soma_array que retorna a soma dos elementos de um array.

PHP - Ruby

6 - Escreva uma função, chamada media_ifrn, que recebe dois parâmetros reais e calcule a média ponderada, considerando o cálculo da média dos cursos superiores do IFRN.

PHP - Ruby

7 - Escreva uma função, chamada transposta_matriz, que recebe uma matriz como parâmetro e retorna sua transposta.

PHP - Ruby

8 - Escreva uma função, chamada ordenarArray, que recebe um array como parâmetro e retorna o array ordenado.

PHP - Ruby

6. Recursividade

1 - Escreva uma função recursiva que realize a operação de divisão.

PHP - Ruby

2 - Escreva uma função recursiva que gere o fatorial de um número "x".

PHP - Ruby

3 - Escreva uma função recursiva que gere a sequência fibonnaci até uma determinada posição "n" vinda por parâmetro.

PHP - Ruby

4 - Escreva uma função recursiva que retorne o resto de uma divisão inteira.

PHP - Ruby

5 - Escreva uma função recursiva que realize a operação de exponenciação.

PHP - Ruby

Problemas contextualizados:

Os problemas a seguir são retirados dos seguintes sites:

URI - Categoria Iniciante

Clique aqui para acessar a lista de questões.

URI - Categoria Ad-hoc

UVA - Contest Volumes