Se você entendeu o conceito de filas, não terá qualquer dificuldade para entender as pilhas. Aqui vamos imaginar uma pilha de cartas de baralho, ok? Se formos adicionando cartas uma em cima da outra, teremos uma pilha. No entanto, se em determinado momento quisermos começar a retirar as cartas, uma a uma, a última carta colocada será a primeira a ser retirada. Este é o conceito de pilha! Enquanto nas filas o primeiro elemento a chegar era o primeiro a sair, nas pilhas o primeiro elemento a chegar é o último a sair, pois todos os outros estarão em cima dele e precisarão ser retirados primeiro.

Para criarmos essa estrutura em C#, utilizamos o comando Stack, vejam:

Pilhas - C#

O foreach, no final do código, é para realizar a impressão da pilha. Vejamos como ela está:

Pilhas - C#

Percebam que o último elemento a ser adicionado é o primeiro a aparecer, ou seja, o primeiro que sairá da pilha caso retiremos algum elemento. Essa é a grande diferença entre fila e pilha.

Exibindo o primeiro elemento da pilha

Para exibir o primeiro elemento de uma pilha o método a ser chamado é o mesmo do utilizado nas filas, o Peek.

Pilhas - C#

Executando, teremos:

Pilhas - C#

Removendo um elemento da pilha

O comando que remove elementos de uma pilha é o Pop. Vejam um exemplo de sua utilização abaixo:

Pilhas - C#

Inseri dois foreach, um antes da remoção e outro logo em seguida, para demonstrar, no Console, a alteração na pilha. Vejamos como ficou:

Pilhas - C#

Notem que a primeira carta, que foi a última a ser inserida, foi removida.

Contando elementos de uma pilha

Assim como numa fila, aqui também temos o método Count, que nos retorna um inteiro com o número de elementos presentes na pilha.

Pilhas - C#

Executando o código, teremos:

Pilhas - C#

Aí está nossa variável contendo o número de elementos presentes na pilha.

Excluindo todos os elementos da pilha

Para limparmos toda a pilha, deixando-a sem qualquer elemento, devemos utilizar o método Clear(), exatamente como fizemos na fila.

Pilhas - C#

Com o foreach do final do código, vamos tentar exibir a pilha:

Pilhas - C#

Está vazia, ou seja, os elemento foram corretamente removidos.

Bem, estas foram as funções que separei sobre pilhas. Assim como as filas, são muito utilizadas em jogos, mas seu uso é totalmente genérico. Seguramente você as usará em breve!

Com pilhas eu encerrei essa parte básica sobre C#. Alguns dos tópicos explicados até poderiam ter sido feitos utilizando a interface gráfica no lugar do Console, mas isso poderia dispersar sua atenção. A partir do próximo tópico já utilizarei a interface gráfica, ou seja, os famosos Windows Forms, com botões, menus, radiobuttons, checkbox, imagens, enfim, não mais teremos esta tela preta do Console nos exemplos! Teremos um minicurso mais bonito e interessante, pois teremos a aparência de uma aplicação real. Se você acompanhou tudo até aqui e absorveu boa parte do que foi explicado, ótimo! Saiba que a parte mais entediante já passou!


HARDWARE

Entendendo o seu computador

O que há dentro do meu computador?

Existem alguns componentes fundamentais presentes dentro do seu computador e é muito importante que você conheça um pouco sobre eles, seja para argumentar com algum vendedor durante a compra de um novo PC ou para identificar alguma atitude desleal de algum técnico que esteja te passando um orçamento para reparo. Na seção Raio-X aqui do Contém Bits você pode conhecer e entender mais detalhadamente sobre cada componente, ou também pode clicar abaixo no componente que deseja, para conhecê-lo melhor.

  • Gabinetes

  • Placas-Mãe

  • Processadores

  • Memória

  • Fontes

  • Drives Ópticos

  • Discos Rígidos

  • SSD

  • Placas de Som

  • Placas de Vídeo

Você Sabia?

Utilizar seu notebook em camas, sofás ou qualquer superfície macia pode obstruir as entradas e saídas de ar, elevando a temperatura e provocando danos a diversos componentes. Utilize-o sempre sobre uma superfície rígida. Saiba mais aqui.


A primeira versão do clássico Mega Man, para Nintendo 8 bits, tem seu recorde de pontos estabelecido em 03/11/2006, por David Archey, que cravou 2.396.700 pontos, terminando o jogo.


O console Nintendo Entertainment System (NES), da Nintendo, detém o recorde de videogame mais clonado em todo o mundo. Já foram catalogados mais de 300 aparelhos diferentes capazes de reproduzir seus jogos! Saiba mais sobre ele aqui.


O primeiro computador a conseguir rodar o jogo Spacewar era o PDP-1, que custava 120 mil dólares e pertencia ao Massachusetts Institute of Technology. O jogo demorou 200 horas para ser desenvolvido, em 1962, e seu criador foi um cientista da computação chamado Steve Russel.


O épico jogo River Raid, do Atari, foi desenhado e boa parte de sua programação foi feita por uma mulher: Carol Shaw, uma excelente programadora e funcionária da Activision em 1982. Saiba mais sobre a história deste incrível jogo, aqui.


O título Asteroids, do Atari, possui recorde de pontuação há 30 anos. Em 1982 um americano chamado Scott Safran atingiu a marca de 41.336.440. Atualmente ele faz parte de um minúsculo grupo de jogadores que conseguiram manter seus recordes por mais de 30 anos.


Considerando todas as adaptações de jogos de videogame para o cinema, a mais bem sucedida foi Lara Croft: Tomb Raider, lançado em 2001 e que faturou 274 milhões de dólares. Ele foi dirigido por Simon West e estrelado pela bela Angelina Jolie.


O título Tetris detém o recorde de jogo mais adaptado de todos os tempos. No total foram mais de 60 plataformas diferentes que receberam alguma versão do quebra-cabeças criado por Alexey Pajitnov. Conheça mais sobre este incrível jogo clicando aqui.


Ao completar o nível 99 do jogo Duck Hunt, para Nintendo, o jogo retorna ao primeiro nível, mas um bug impede que se acerte os patos neste recomeço. Este é um exemplo do que é chamado no mundo dos games de "Kill Screen".


A empresa Take-Two pagou à Infogrames mais de 22 milhões de dólares pelos direitos de Civilization, em novembro de 1994. Ainda sobre este título, Sid Meier, um dos seus fundadores, é o profissional da área dos games mais premiado em todo o mundo.


A IBM detém o recorde de patentes em um único ano, atingindo a marca de 4186 registros no ano de 2008. Clique aqui e saiba mais sobre esta gigante do mundo da tecnologia.