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?

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 Playstation só nasceu porque uma parceria entre Sony e Nintendo, para desenvolver uma unidade de CD para o Super Nintendo, fracassou. Clique aqui e saiba mais.


O famoso título Final Fantasy, da Square Enix, tem este nome exatamente porque se tratava da última esperança da empresa, que estava à beira da falência quando o lançou. Clique aqui e conheça detalhes dessa história.


O personagem Mario só possui bigode porque quando ele foi criado, em 1981, a resolução de tela dos equipamentos disponíveis não permitia que fosse desenhada uma boca, então os desenvolvedores fizeram o grande bigode para contornar essa limitação tecnológica.


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".


Até a primeira metade dos anos 90 era bastante comum que as trilhas sonoras dos games fossem criadas por mulheres e a responsável pelas músicas do clássico Street Fighter 2 foi Yoko Shimomura. Segundo ela, o ritmo "Tararirarin" da música tema do personagem Blanka, do Brasil, veio à sua cabeça enquanto ela estava no trem a caminho da Capcom.


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.


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.


Criar um jogo é muito mais complexo do que parece. São milhares, às vezes, milhões de linhas de código. Isso não é exagero! Apenas o jogo Ultima Online possui 6.006.313 linhas de programação, totalizando 25.103.295 palavras


As primeiras máquinas de fliperama do mundo a utilizarem moedas, chamadas de Galaxy Game, custavam mais de 20 mil dólares para serem produzidas. Saiba mais sobre elas aqui.


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.