domingo, 28 de agosto de 2011

Problema de Lógica: Quantos ovos na granja?

Um granjeiro, ao ser perguntado quantos ovos as galinhas haviam posto naquele dia, respondeu: Não sei, mas, contando de dois em dois, sobra um; contando de três em três, sobra um; contando de cinco em cinco, sobra um; porém, contando de sete em sete não sobra nenhum. Qual o menor número possível de ovos que as galinhas haviam posto?





RESPOSTA





O número não é múltiplo de dois, de três ou de cinco mas é múltiplo de sete.

Os múltiplos de sete são 7, 14, 21, 28, 35, 42, 49, 56, 63, 70, 77, 84, 91, 98, 105, 112, 119 ...

Como não é múltiplo de dois então os números pares estão fora, como não é múltiplo de três então os números 21, 63 e 105 estão fora, e como não é múltiplo de cinco então os números 35 e 70 estão fora. Restaram os números 7, 49, 77, 91, 119 (...).

Destes, os números 7, 49 e 77, se contar de cinco em cinco sobram 2, 4 e 2 respectivamente, portanto o menor número possível de ovos é 91 (2 x 45 + 1; 3 x 30 + 1; 5 x 18 + 1; 7 x 13).

domingo, 7 de agosto de 2011

Emulando o CP 400 no MESS

O CP 400 foi um computador pessoal, pra uso doméstico, produzido no Brasil na década de 1980 pela Prológica. Era compatível com o TRS-80 Color Computer da Tandy RadioShack.

A segunda versão, o CP 400 Color II, lançado no final de 1985, possuía como características técnicas um microprocessador Motorola 6809E com estrutura interna de 16 bits e externa de 8 bits, frequência de clock de 1,6 MHz, ROM de 16 Kbytes com programa monitor e interpretador Basic, RAM total de 64 Kbytes e vídeo no modo texto de 16 linhas por 32 colunas e no modo gráfico com resolução de 49152 pontos (256x192).

O CP 400 Color II tinha um teclado com 59 teclas tipo ASCII incorporado ao gabinete, uma saída de RF para ligação a uma TV e saída para monitor de vídeo composto. Além de saídas para joysticks, porta serial, porta para gravador cassete e suportava cartuchos e controlador de disquetes de 5 1/4.

Computador CP 400 Color II

Sua produção durou pouco devido a chegada do MSX, foi encerrada em 1987, entretanto a diversidade de aplicativos e jogos foi grande. Diversas empresas importaram os jogos do TRS-80 e comercializaram aqui no Brasil, com isso era fácil encontrar cópias "alternativas" dos programas.

Hoje, 26 anos depois, podemos utilizar os softwares emuladores para reproduzir o ambiente do CP 400 e assim executar os jogos que foram sucesso na época. Um emulador bem interessante é o MESS (http://www.mess.org/). O MESS é capaz de emular muitos consoles de jogos e sistemas de computador. Este artigo descreve o uso do MESS no sistema Linux.

Para que um emulador consiga reproduzir o ambiente de um computador antigo, são necessários basicamente dois itens, uma ROM da máquina real e um arquivo imagem de algum dispositivo de armazenamento que o computador antigo suportava, contendo os programas que deseja executar.

Estes arquivos, tanto a ROM quanto imagens de programas, são facilmente encontrados pela Internet. Para o CP 400 Color II, os arquivos com as ROMs são cp400bas.rom e cp400dsk.rom, ou, pode utilizar as ROMs do seu equivalente, o TRS-80 Color Computer II (CoCo2), os arquivos com as ROMs são bas12.rom, disk11.rom e extbas11.rom. Procure na Internet e acesse o site "Programas para o CP-400 Color" (http://sites.mpc.com.br/ric/cp400/cocomain.htm).

Estes arquivos de ROMs são a reprodução da BIOS da máquina real. Na instalação do MESS em um sistema Linux, os arquivos .rom devem ficar no caminho /usr/share/mess/roms/, em um diretório com um nome que identifique o sistema. Para o CP 400 Color II, os arquivos (cp400bas.rom e cp400dsk.rom) devem ficar em /usr/share/mess/roms/cp400/, e para o TRS-80 Color Computer II, os arquivos (bas12.rom, disk11.rom e extbas11.rom) devem ficar em /usr/share/mess/roms/coco2/.

Feito isso o MESS está pronto para ser executado. A sintaxe da linha de comando do MESS é:

mess [sistema] [mídia] [opções]

Se desejar conhecer as opções de linha de comando, execute o MESS com a opção -showusage. A princípio a opção que pode ser útil é a -window, que ativa o modo de janela, senão o MESS será executado em tela cheia. Para conhecer as mídias suportadas em cada sistema, use a opção -listmedia. Os parâmetros de mídia servem para carregar pela linha de comando alguma imagem de um dispositivo de armazenamento, como por exemplo -flop1 jogos.dsk ou -cass jogos.wav. Um exemplo de comando para execução do MESS, emulando o sistema CP 400:

$ mess cp400 -window

Com a execução do MESS, a tela inicial do sistema emulado aparecerá e a partir daí a operação será específica do sistema emulado, no nosso caso o CP 400 Color II (ou CoCo2). Caso não especifique o sistema pela linha de comando, o MESS exibirá um menu para a escolha, de acordo com as ROMs encontradas em /usr/share/mess/roms/.

Tela inicial do CP 400 Color II

Apesar de ter diversas opções para linha de comando, também é possível operar o MESS através de sua Interface de Usuário (UI). Esta interface é apresentada pressionando a tecla Tab, estando o teclado no modo de emulação parcial. A emulação do teclado pode ser alternada pressionando a tecla ScrLock, entre emulação total e emulação parcial.

Algumas teclas de função no MESS são apresentadas a seguir. Estas teclas só tem efeito com o teclado no modo de emulação parcial. Estas são as tarefas padrões destas teclas, é possível personalizar:

ScrLock     alterna a emulação do teclado;
Tab         acessa a Interface de Usuário;
P           pausa a emulação;
Esc         sai da emulação (MESS).

Para carregar uma imagem de disquete enquanto a emulação está em execução, entre na UI (tecla Tab), escolha o menu File Manager, selecione uma das entradas de disquete e navegue pelo seu HD para encontrar o arquivo imagem. Feito isso a emulação será automaticamente reiniciada com o disquete inserido. No CP 400 e no CoCo2 é possível ter até quatro disquetes inseridos ao mesmo tempo.

As instruções a partir daqui são específicas do sistema operacional do CP 400. São os comandos para o interpretador do CP 400.

Em uma operação com uso de imagens de disquetes, para listar o conteúdo de um disquete usa-se o comando DIR, para carregar o programa usa-se LOAD, LOADM etc., e para executar usa-se o comando EXEC. Exemplo:

DIR

SHENANI  BIN  2 B 13
TREKBOER BIN  2 B 13
SANCTUN  TRD  2 B 13
CALIXTO  TRD  2 B 13
SEAQUEST TRD  2 B 13
OK
LOADM "CALIXTO.TRD"
OK
EXEC

Quando há carregado mais de um disquete, é necessário especificar a unidade, por exemplo DIR 0, DIR 1 lista o conteúdo, LOADM "CALIXTO.TRD:1" carrega o programa da segunda unidade. Veja:

DIR 1

SHENANI  BIN  2 B 13
TREKBOER BIN  2 B 13
SANCTUN  TRD  2 B 13
CALIXTO  TRD  2 B 13
SEAQUEST TRD  2 B 13
OK
LOADM "CALIXTO.TRD:1"
OK
EXEC

Indo além, para apagar, copiar ou renomear um arquivo de programa usa-se KILL, COPY TO ou RENAME TO. Exemplos:

KILL "SHENANI.BIN"

COPY "SHENANI.BIN:1" TO "SHENANI.BIN:0"

RENAME "SANCTUN.TRD" TO "BLKSANC.TRD"

Também pela Internet é possível encontrar alguns documentos para operação do CP 400 Color II (Color Basic, Extended Color Basic e Color Disk Basic). O site "Color Computer stuff" (http://www.cs.unc.edu/~yakowenk/coco.html) é um bom ponto de partida.

Consulte a documentação do MESS para obter mais informações sobre a linha de comando e a interface de usuário.

Jogos do CP 400 Color II

quinta-feira, 4 de agosto de 2011

A Estação Espacial Internacional

Com pouco mais de 417 toneladas, a Estação Espacial Internacional (ISS) orbita a Terra numa altitude entre 278 km e 460 km, viajando em uma velocidade média de 27,7 mil quilômetros por hora, completando 15,7 órbitas por dia. Cada órbita leva 91 minutos. O projeto da ISS iniciou em 1994 o primeiro módulo foi lançado em 1998 pela Rússia.

Atualmente a ISS é composta de 15 módulos pressurizados e uma extensa Estrutura de Pilastras Integradas (ITS) que dá suporte a radiadores, painéis solares, compartimentos de carga despressurizados e outros equipamentos. A energia é fornecida por 16 painéis solares montados na ITS em adição a quatro pequenos painéis nos módulos russos. O último módulo, o décimo sexto, está previsto para ser incorporado em 2012.

O volume pressurizado total, com a combinação de todos os módulos, é atualmente 837 metros cúbicos. Estes módulos incluem laboratórios, compartimentos de ancoragem, câmaras impermeáveis ao ar, ligações e quartos de moradia. Com a adição do último módulo o volume passará a aproximadamente 1000 metros cúbicos.

Para dar um ambiente adequado à tripulação, a ISS conta com um Sistema de Suporte à Vida e Controle Ambiental (ECLSS). É um sistema que proporciona e controla a pressão atmosférica, a detecção e supressão de incêndio, os níveis de oxigênio e o suprimento de água. A prioridade do ECLSS é a atmosfera na ISS mas o sistema também coleta, processa e armazena a água utilizada pela tripulação. O sistema é capaz de reciclar a água usada no chuveiro, banheiro e condensação do ar.

A atmosfera a bordo da ISS é similar a da Terra. A pressão normal na estação é a mesma do nível do mar na Terra. Uma atmosfera como a da Terra oferece maior conforto aos tripulantes e é muito mais segura do que uma atmosfera de oxigênio puro, pois esta eleva o risco de incêndios.

No ambiente da estação espacial, a gravidade é a única força significante agindo nos astronautas e objetos. Em alguns momentos há a percepção de resistência da atmosfera, aceleração e correção da órbita, inclinação, rotação etc.

Por causa da alta velocidade de deslocamento, a ISS está em uma constante queda livre sobre o horizonte. Com isto a tripulação tem uma percepção de ausência de peso, da própria sensação de queda livre, dando o efeito de microgravidade.

Os efeitos adversos mais significantes, de um longo período em baixa gravidade, são atrofia muscular e osteopenia. Outros efeitos significantes incluem a redistribuição dos fluidos, lentidão no sistema cardiovascular, baixa produção de glóbulos vermelhos e enfraquecimento do sistema imunológico. Para prevenir alguns destes efeitos fisiológicos adversos, a estação é equipada com esteiras ergométricas, um dispositivo para exercícios resistidos, que fornece vários tipos de exercícios com peso, e uma bicicleta ergométrica. Cada astronauta realiza duas horas de exercícios por dia.

O fuso horário usado a bordo da ISS é o Tempo Universal Coordenado (UTC). As janelas da ISS são cobertas nas horas noturnas para dar a impressão da escuridão da noite, pois a estação passa, por dia, por 16 eventos de nascer do sol e por do sol.

Durante as visitas das missões espaciais, a tripulação da ISS segue o fuso da missão (MET), que é baseado na hora do lançamento do foguete. Como os períodos de sono entre o UTC e o MET geralmente diferem, a tripulação da ISS precisa ajustar seu sono já antes da missão espacial chegar e retornar ao fuso UTC após os visitantes partirem. Em um dia típico na estação, a tripulação dorme das 21:30 até as 06:00 e trabalha 10 horas nos dias úteis e 5 horas aos sábados.

A maioria dos alimentos para os tripulantes da ISS são armazenados de forma congelada, refrigerada ou enlatada. O cardápio é preparado pelos próprios astronautas, com a ajuda de nutricionistas, antes deles voarem para a estação. Como a sensibilidade do sabor fica reduzida pela redistribuição dos fluidos na cabeça, os alimentos apimentados são os preferidos pela maioria da tripulação. Cada tripulante possui um estoque individual de alimento.

Atualmente, a tripulação da ISS é composta de seis astronautas. A cada expedição enviada à estação, parte dos astronautas são substituídos, enquanto a outra parte fica até a próxima expedição. Nas últimas expedições a tripulação foi substituída de três em três astronautas. O período médio de um tripulante na estação são seis meses.

O propósito da Estação Espacial Internacional é ser um laboratório de pesquisa, observatório e fábrica no espaço. Também é planejada para proporcionar transporte, serviço e base para futuras missões à Lua, Marte e asteroides.

É uma parceria internacional de diversas agências espaciais, com as principais sendo a Administração Nacional do Espaço e da Aeronáutica (NASA), a Agência Espacial Federal Russa (RKA), a Agência Japonesa de Exploração Aeroespacial (JAXA), a Agência Espacial Canadense (CSA) e a Agência Espacial Europeia (ESA).