Programação

#11: Primos em Pi

Primos em Pi Introdução O número pi (π) é uma das mais famosas e mais facilmente reconhecidas constantes matemáticas. Originalmente definido como o resultado da divisão da circunferência de um círculo pelo seu diâmetro, π é um número irracional e a sua representação decimal é infinita e não se repete. Instruções Este desafio consiste em encontrar a sequência mais longa de números primos (entre 2 e 9973) no primeiro 1 milhão de casas decimais de π.

Continue lendo

#10: Turing Machine

Turing Machine Introdução Uma Máquina de Turing é um modelo computacional matemático que define uma máquina abstrata. Essa máquina manipula símbolos numa fita de papel de acordo com uma tabela de regras simples. Apesar da simplicidade do modelo, é possível construir uma Máquina de Turing capaz de simular qualquer algoritmo computacional. Funcionamento Uma máquina de Turing lê os dados de uma “fita” infinita, caracter por caracter (também conhecidos como “símbolos” na terminologia original) A máquina está sempre em um determinado “estado” (estado inicial == string “0”).

Continue lendo

#9: Big base!

Big base! Descrição Escreva um programa que leia um arquivo texto contendo uma lista de três numeros por linha: base_entrada, base_saida e numero_entrada e imprima o número fornecido (já na base de entrada) convertido para a base de saída. O formato exato da entrada é: base_entrada base_saida numero_entrada Exemplo: 10 16 1500 36 10 GOODBYE 36 16 HELLOWORLD 10 2 32452867 2 10 1234 Exemplo de saida para a entrada acima:

Continue lendo

#8: Frações simples

Frações simples Descrição Escreva um programa que leia um arquivo texto contendo uma lista de frações em ASCII (uma por linha) e produza na saída a versão simplificada de cada fração. Números simples assumem denominador 1 (apenas imprima o número). Em caso de erros na entrada (como divisão por zero), imprima “ERR” em maíusculas. Por exemplo, data a entrada abaixo: 14/3 3/8 4/8 4/3 5 10/0 A seguinte saída seria produzida:

Continue lendo

#7: Unix tac

TAC! Em Unix (e Linux), o comando cat mostra o conteúdo de um arquivo texto na saída padrão. Um comando similar (e menos conhecido) é o tac, que exibe um arquivo texto invertendo as linhas (da última para a primeira). O problema Implemente o comando tac na sua linguagem e bibliotecas preferidas. Condições de funcionamento: O programa deve ler um arquivo do disco especificado na linha de comando e imprimir o arquivo linha a linha, começando pela última linha e terminando na primeira.

Continue lendo

#6: Anagramas

Anagramas! Um anagrama é uma palavra ou frase formada com o re-arranjo de todas as letras de uma outra palavra ou frase (sem sobra ou falta). Exemplos: A palavra barco é um anagrama da palavra cobra (todas as letras de “cobra” usadas em “barco). A palavra mar não é um anagrama da palavra roma (a letra “o” em “roma” não foi usada). A palavra sal não é um anagrama da palavra mal (a letra “s” de “sal” não existe em “mal”).

Continue lendo

#5: Funcionários

Processando as informações da empresa: Considere, como exemplo, o seguinte arquivo funcionarios.json, com o seguinte conteúdo: { "funcionarios":[ { "id":0, "nome":"Marcelo", "sobrenome":"Silva", "salario":3200.00, "area":"SM" }, { "id":1, "nome":"Washington", "sobrenome":"Ramos", "salario":2700.00, "area":"UD" }, { "id":2, "nome":"Sergio", "sobrenome":"Pinheiro", "salario":2450.00, "area":"SD" }, { "id":3, "nome":"Bernardo", "sobrenome":"Costa", "salario":3700.00, "area":"SM" }, { "id":4, "nome":"Cleverton", "sobrenome":"Farias", "salario":2750.00, "area":"SD" }, { "id":5, "nome":"Abraão", "sobrenome":"Campos", "salario":2550.00, "area":"SD" }, { "id":6, "nome":"Letícia", "sobrenome":"Farias", "salario":2450.00, "area":"UD" }, { "id":7, "nome":"Fernando", "sobrenome":"Ramos", "salario":2450.

Continue lendo

#4: Xadrez

Contabilizar Peças de Xadrez. O xadrez é um jogo de tabuleiro estratégico, disputado por dois jogadores e que consiste em um tabuleiro com um arranjo de 8 linhas e colunas formando 64 posições diferentes como uma matriz [8 x 8]. Existem 6 diferentes tipos de peças no xadrez e cada tipo possui uma quantidade (destacada por parênteses): Peão (8) Bispo (2) Cavalo (2) Torre (2) Rainha (1) Rei (1) Um tabuleiro completo possui trinta e duas peças.

Continue lendo

Ponteiros em C

Introdução O uso de ponteiros em C é um dos aspectos mais poderosos e importantes da linguagem, e ainda assim, um dos mais confusos para os iniciantes. O objetivo deste documento é fornecer uma introdução básica ao funcionamento e uso de ponteiros em C. Importante: Vários conceitos foram simplificados para ajudar a compreensão do tópico principal, tais como a representação exata de números em memória, gerenciamento de memória e outros.

Continue lendo

Grupos sobre programação no Telegram

Grupos sobre programação no Telegram Arquitetura de Software | .NET Grupo sobre Arquitetura de Software | .NET. Assembly Brasil Grupo sobre Assembly. Android Dev Drops Grupo sobre desenvolvimento nativo para Android. Angular Brasil Grupo sobre AngularJS. BotCaverna Grupo sobre desenvolvimento de bots. C is LOVE Grupo destinado a assuntos relacionados a Linguagem “C”. C/C++ Brasil Grupo sobre C, C++ e outros assuntos. Cordova developers Grupo sobre desenvolvimento Cordova. CSS Brasil

Continue lendo

#3: Palíndromos

Números palindrômicos. Um palíndromo é uma palavra ou expressão que pode ser lida da esquerda para a direita ou da direita para a esquerda mantendo o mesmo significado. Um exemplo de palíndromo é a palavra “reviver”. Neste desafio, a idéia é imprimir todos os números palindrômicos entre dois outros números. Tal como as palavras, os números palindrômicos mantém o mesmo valor se lidos de trás para a frente. Exemplo 1: Dado o número inicial 1 e número final 20, o resultado seria: 1, 2, 3, 4, 5, 6, 7, 8, 9, 11.

Continue lendo

#2: Primos

Listando números primos. Escreva um programa para listar todos os números primos entre 1 e 10000, na linguagem de sua preferência. Se não souber por qual linguagem começar, recomendamos a leitura deste post no nosso site. Pontuação 20 pontos.

Continue lendo