Ir para conteúdo
Faça parte da equipe! (2024) ×
Conheça nossa Beta Zone! Novas áreas a caminho! ×
  • Quem está por aqui   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.

2ª Competição de Programação


Ryokusei
 Compartilhar

Posts Recomendados

Sobre a Competição

 

Tema: Console Independente

Data de início: 07/12/2010 (terça-feira), às 09:39 (horário de Brasília).

Staffers responsáveis: Ryokusei, Surfistinha£

Número da competição: 0002

Nível: Iniciante/Intermediário (4/10)

Tipo de Competição: Avaliativa

Prêmios:

1º Lugar: Troca de Nick

2º Lugar: Set completo na fábrica

3º Lugar: Sign ou Avatar na fábrica

 

Requerimentos

 

Objetivo: Criar uma função (pode ser do tipo void, ou seja, que não retorne nada) que:

Leia uma string de 5 caracteres (no máximo, então não se preocupe com buffer overflow no seu source) do console (input), e imprima-a novamente em fundo azul e texto vermelho (output).

 

Requerimentos da função:

 

- Não receber argumentos (parâmetros);

- Poder ser usada a qualquer momento em um aplicativo console escrito na linguagem;

- Não utilizar variáveis nem qualquer região de memória previamente existente/alocada como buffer. É permitido usar a pilha, mas não usá-la como buffer e depois fazer um stack cleanup, só será aceito o uso de PUSH e POP para preservação de registradores. Não serão considerados o prólogo nem epílogo da função.

 

O resultado final deve ser mais ou menos assim:

prevl.png

 

Critérios de Avaliação:

 

Quanto menor o nível da linguagem, maior valor será atribuído à função, segundo a ordem:

- Assembly de 32 bits (10 pontos),

- Todas as outras(5 pontos);

Ou seja, quem fizer em assembly puro (macros farão o candidato perder credibilidade) terá uma vantagem sobre os demais.

 

Quanto mais a função for independente da linguagem (não utilizar funções prontas/macros da linguagem. O ideal é depender de API's), maior a pontuação que ela irá receber (de 0 a 10 pontos).

 

Eficiência e velocidade da função (de 0 a 5 pontos), quanto melhor o candidato aproveitar o code para evitar qualquer operação desnecessária, maior será sua pontuação.

 

Inscrição

 

Para se inscrever o candidato deve adicionar este item no modelo de inscrição padrão:

 

Função: SUA FUNÇÃO AQUI

 

Ex:

 

Desejo participar da competição de programação nº X, de tema Y.

A linguagem em que escrevi meu projeto é: Z

Download do source do projeto + projeto compilado: D

Scan do arquivo: S

Preview: P

Função:

É necessário se cadastrar para acessar o conteúdo.

 

Linguagens Permitidas

Assembly (32 bits), C, C++, C#, Pascal (Delphi), VB, VB.NET.

 

Término do prazo de inscrição

Inscrições Encerradas

 

Antes de participar, leia as regras: Regras das Competições de Programação

 

Qualquer dúvida sobre a competição deve ser postada neste tópico apenas.

 

Dicas

API's úteis:

 

VirtualAlloc

HeapAlloc

GetStdHandle

ReadConsoleA

WriteConsoleA

SetConsoleTextAttribute

Link para o comentário
Compartilhar em outros sites

Aiai, pra que eu fui postar o tutorial das API's substituindo as funções do conio.h....

 

Bom, você falou de macros e tal, mas mesmo assim, eu não posso escrever em Assembly 16 bits?

 

Enquanto você responde, vou me adiantando no MASM.

Link para o comentário
Compartilhar em outros sites

Aiai, pra que eu fui postar o tutorial das API's substituindo as funções do conio.h....[/color][/size][/font]

 

Bom, você falou de macros e tal, mas mesmo assim, eu não posso escrever em Assembly 16 bits?

 

Enquanto você responde, vou me adiantando no MASM.

 

Não, em 16 bits não tem como alocar memória (que eu saiba, se tiver me avise), então você seria obrigado a usar uma região da memória já existente como buffer.

Link para o comentário
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
 Compartilhar

×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.