Posts tagged ‘Algoritmos’

Representando e descrevendo algoritmos…

Já sabemos o que é um algoritmo e com o que ele se parece, mas como representar os algoritmos? Como descrevê-los? Como podemos ter uma representação física ou “tangível” da ideia que o algoritmo representa e do problema que ele resolve?

Há, basicamente, 3 formas de se representar algoritmos:

  1. Representação descritiva (ou descrição narrativa).
  2. Fluxogramas.
  3. Pseudocódigo.

Há também uma quarta forma, mas essa é especial  e falaremos dela depois.

1

A descrição narrativa (ou representação descritiva)

Bom, essa é a mais simples e menos formal de todas as formas de se representar um algoritmo. Consiste simplesmente de descrever ou narrar como o algoritmo funciona. Basicamente, serve para todos os tipos de algoritmos dada a sua generalidade. Exemplos:

Algoritmo para escovar os dentes:

  1. Pegar a escova de dentes e lavá-la.
  2. Pegar o tubo de creme dental .
  3. Abrir o tubo de creme dental.
  4. Apertar o tubo sobre a escova aplicando uma pequena quantidade de creme sobre a mesma.
  5. Fechar o tubo.
  6. Colocar a escova na boca e movimentá-la para a cima e para baixo em pequenos círculos por um determinado tempo (repetir esta operação até que os dentes estejam limpos)
  7. Enxaguar a boca.
  8. Limpar e guardar a escova.

escova_dentes

Esse algoritmo é bem genérico e pouco específico. Interessante notar que cada linha tem um verbo no infinitivo, um comando, uma ação. Uma instrução.

Neste contexto algorítmico, uma instrução indica uma ação elementar a ser executada.

As características da Descrição Narrativa (ou representação descritiva) são:

  • Uso da linguagem natural (no caso, Português);
  • Facilidade para quem conhece a linguagem e as ações a serem executadas;
  • Possibilidade de má interpretação, originando ambiguidades e imprecisões;
  • Pouca confiabilidade (a imprecisão gera desconfiança);
  • Extensão (se escreve muito para dizer pouco).

PARA EXERCITAR: Escrever algoritmos para trocar um pneu, fritar um ovo, trocar uma lâmpada, atravessar uma rua, tomar banho, calcular o dobro de um número, calcular a média do bimestre e descascar batatas.

Fluxogramas

flow chart diagram

Fluxograma é um diagrama que representa um processo ou um algoritmo passo a passo, descrevendo o fluxo do processo ou do algoritmo. Cada figura geométrica representa uma ação distinta. Esses diagramas ilustram, de forma simples, a sequência operacional do algoritmo (ou processo).

São usados para muito mais coisas do que descrever algoritmos ou processos de software. Alguns usos são:

Exemplo de um fluxograma simples mostrando como lidar com uma lâmpada que não funciona (fonte: Wikipedia)

Ficheiro:LampFlowchart pt.svg

Principais figuras (existem dezenas de outras)

principais_simbolos_fluxograma

Exemplo (cálculo de uma média, dados duas notas)

fluxograma-media

Vantagens e desvantagens dos fluxogramas:

Vantagens:

  • O fluxograma é uma das ferramentas mais conhecidas;
  • Figuras dizem mais do que palavras; (rsrsrs)
  • Padrão Mundial.

Desvantagens:

  • A solução é amarrada a dispositivos físicos;
  • Pouca atenção aos dados, não oferecendo recursos para descrevê-los ou representá-los coerentemente;
  • Complicação à medida que o algoritmo cresce.

Bom, esse post já ficou muito grande, portanto a terceira forma, o pseudocódigo eu deixarei para o próximo post sobre essa seção de algoritmos!

Até!

quarta-feira, 24 maio, 2017 at 6:03 pm Deixe um comentário

Os computadores dos filmes – Parte 1 – Wargames (Jogos de Guerra, 1983)

Eu não escondo de ninguém que uma das minhas grandes paixões (fora a Van, a TI, a ciência e a música) é o cinema. A sétima arte é, sem dúvida, uma das grandes realizações da humanidade. Reúne o melhor (e o pior) do que já produzimos além de nos contar histórias (antigamente, se contava) épicas, tristes, alegres, grandiloquentes, enfim, humanas, demasiado humanas.

Como uma de minhas outras paixões são os computadores resolvi procurar sobre os computadores que aparecem nos filmes. Há duas questões importantes a se ater aqui: primeiro, são os computadores dos filmes (quaisquer filmes) e outra são os filmes sobre computadores (geralmente fraquinhos).

Minha primeiras lembranças de computadores em filmes vêm da série de TV Batman, Star Trek, e também dos filmes cult Jogos de Guerra (Wargames) e Tron (o primeiro!). Lembro também de uma coisa horrorosa chamada Superman III que mostrava um cracker, Stanley Jobson, que fazia coisas absolutamente insanas (e inverossímeis) com computadores.

Não vou me ater neste post aos absurdos cometidos nos filmes, apenas aos modelos utilizados e quanto de verossimilhança eles possuem.

Vamos começar com o clássico Wargames  (Jogos de Guerra, 1983). Este filme faz parte da “trilogia Mathew Broderick” que encantou os teens dos anos 80(entre 1983 e 1986). Os outros dois eram “O Feitiço de  Áquila” e “Curtindo a vida adoidado”.


(pôster de Wargames)

Estamos em 1983, a Compaq lança o seu primeiro computador (reza a lenda que desenhado em um guardanapo!) usando engenharia reversa para clonar o IBM-PC; Richard Stallman cria a Free Software Foundation; A Microsoft anunciava o desenvolvimento de um tal de Word; o físico indiano Subrahmanyan Chandrasekhar, citado no livro “Uma Breve História do Tempo” de Stephen Hawking, receberia o Prêmio de Nobel de Física.

No cinema, Fellini lança “E la nave va”, Bergman exibe “Fanny e Alexander” na América, o cineasta cinéfilo Brian de Palma e o grande Al Pacino nos deixam em êxtase com a explosão de violência da refilmagem de Scarface (e com a lindíssima Michelle Pfeifer em papel inesquecível!),  George Lucas expandia seu império com Star Wars Episódio VI: O Retorno de Jedi e saberíamos que Flashdance atormentaria as Sessões da Tarde para sempre. Ritchie tomou o Brasil de assalto com sua “menina veneno”, Clara Nunes morria e os Paralamas do Sucesso lançariam seu primeiro LP enquanto Michael Jackson enlouquecia o mundo inteiro com sua imortal Billy Jean (e seu MoonWalk) . O filme Gandhi levaria 8 estatuetas do Oscar para casa e Woody Allen faria o cine-documentário Zelig.

No ano em que morreria Luis Buñuel, um filme despretensioso sobre hackers e computadores marcaria sua geração e se tornaria um pequeno clássico de uma era de ouro na microinformática. Faturou cerca de U$ 80 milhões e foi indicado para 3 oscars(melhor roteiro original, melhor mixagem de som e melhor fotografia). Este é Wargames (Jogos de Guerra).

Wargames (Jogos de Guerra) é um filme com e sobre computadores e conta a história de um jovem hacker que, acidentalmente conecta seu microcomputador ao sistema de defesa aerospacial americano(NORAD), controlado por um supercomputador ultrassofisticado (para a época). A invasão acaba provocando um estado de alerta quase desencadeando a Terceira Guerra Mundial (entre EUA e URSS). E Broderick apenas jogava damas, xadrez, gamão e quase explodiu o mundo com seus “jogos de guerra”!

Os computadores do filme são dois: o primeiro é um IMSAI 8080, lançado em 1975 que era um aparelho para “hobbystas” e aficionados por eletrônica (basicamente um clone do MITS Altair, considerado o primeiro computador pessoal e para o qual Bill Gates e Paul Allen escreveram um interpretador BASIC, primeiro software da Microsoft). O IMSAI rodava uma muito modificada versão do Sistema Operacional CP/M chamado IMDOS. Foi desenvolvido pela IMS Associates, Inc. (depois renomeada para IMSAI Manufacturing Corp). Foram produzidas, no total, cerca de 20 mil unidades até 1978.

O IMSAI, como todos os clones do Altair, era um negócio meio tosco se comparado aos PC’s modernos. Um bando de luzes, led’s e botões que vinha sem monitor e em forma de kit, logo, tinha que ser montado pelo comprador. Usava um processador Intel 8080 de 2 a 3 Mhz (!!) (tataravô do Core) e um barramento S-100. Usava uma fita cassete para armazenamento (opcional) ou disquetes de 5 ¼” ou 8”(também opcionais) e memória de 4K(!!). Mais informações sobre o IMSAI, clique aqui. Sobre o ALTAIR, clique aqui. Para um vídeo sobre o Altair em uso, aqui e aqui.

Nas imagens, vemos Broderick e seu IMSAI 8080:

 

  

  

Algumas imagens do IMSAI 8080:

   

O outro computador do filme é o, muito mais famoso (ao menos no cinema), IBM NA/FSQ-7. Este computador (o maior já construído) era peça importante do sistema Semi Automatic Ground Environment (SAGE) da rede aérea de defesa, (Ambiente semiautomático de, ou em,  solo) usado para rastrear e interceptar bombas inimigas no final dos anos 50 e 60 pela Força Aérea Americana. Era também conhecido como IBM AN/FSQ-7 Combat Direction Central (Direção Central de Combate) ou “Q7” para os íntimos. Além de um computador enorme, ele possuía um sistema de controle gigantesco. Durante a guerra fria foi usado para interceptar mísseis e fazer controle de missões em solo.

O Q7 é conhecido como o maior sistema de computador já construído (Cada uma de suas 24 centrais pesava 250 toneladas e tinha dois computadores Whirlwind completos). Suportava mais de 100 usuários. A IBM usava cerca de 60 funcionários apenas para “dar manutenção” ao monstrengo.  Para fazer seu trabalho ele usava o algoritmo  Automatic Target and Battery Evaluation (ATABE). Usava leitores de cartões perfurados para entrada de dados (IBM 723) e uma impressora em linha IBM 718. Usava fitas magnéticas para armazenamento (IBM 728 magnetic tape drives). Tinha uma memória central com uma word(palavra) de 32 bits (mais 1 bit de paridade) que operava em um clock de 6 microssegundos(!!). Ambos os computadores tinham (se a Wikipedia estiver correta) dois bancos de memória, um com 65.536 words e o outro com 4096 words, o que dá cerca de 262.144 bytes no primeiro e 16.384 bytes no segundo (ou seja, era um colosso para sua época!).

Seu aparecimento no filme:


(David vê um vídeo do professor Falken, que usa um painel de um supercomputador Q7 para jogar games (meu ídolo eterno!!)

Fotos do Q7: Continue lendo, porque tem mais!!

sexta-feira, 19 outubro, 2012 at 10:31 am 1 comentário

Aulas de Fundamentos de Programação e Algoritmos (04, 05 e 06) e Exercício – 50 Algoritmos

Caros alunos de Fundamentos de Programação e Algoritmos. Seguem as aulas 04, 05 e 06 além do exercício maravilhoso dos 50 algoritmos! Para baixar é só clicar.

Fund. de Programação e Algoritmos –  Aula 04
Fund. de Programação e Algoritmos –  Aula 05
Fund. de Programação e Algoritmos –  Aula 06

Exercícios de Algoritmos (50 Algoritmos).

Não esqueçam que as apresentações dos trabalhos começam nesta semana (dia 22/06), portanto, estejam preparados!

Bons estudos!

terça-feira, 19 junho, 2012 at 1:38 am Deixe um comentário

Aula 03 e lista de exercícios 03 de Fundamentos de Programação e Algoritmos

Caros alunos de Fundamentos de Programação e Algoritmos, segue a lista de exercícios 03 e a aula 03.
Não esqueçam que só a prática leva à perfeição. O sucesso é construído com esforço e dedicação.
Um grande Abraço!

quarta-feira, 2 maio, 2012 at 12:48 am Deixe um comentário


Follow Computador de papel: o conteúdo da forma on WordPress.com

Feeds

direto do Twitter

O Computador de Papel

O computador de papel nada mais é do que a tentativa de "humanizar" o computador, trazê-lo para a fantasia lúdica da realidade, fazê-lo compreendido pelos milhares que o usam, mas não o entendem. Nasceu de minhas viagens intelectuais defronte da tela de fósforo um dia em que ele retrucou-me: decifra-me ou te devoro. Para não ser devorado, ousei decifrá-lo. É também onde posto minhas aulas, meus trabalhos, minhas impressões de um pouco de nada sobre coisa nenhuma. É o local onde falo das minhas paixões, entre elas, a música, o cinema, a TI e a ciência. É um espaço de discussão sobre a realidade do computador, sua influência, seus avanços, o exercício do óbvio que é mostrar a sua importância no e para o mundo. Tem o estilo de seu criador, acelerado, com um tom sempre professoral, tresloucado, por vezes verborrágico, insano, nevrálgico, sem arroubos literários, atônito e contemplativo diante da realidade, apaixonado, livre, feito para mostrar que a TI é antes de tudo, feita por gente!

Estatísticas do blog

  • 124,191 cliques e contando...

Agenda de posts

junho 2017
S T Q Q S S D
« maio    
 1234
567891011
12131415161718
19202122232425
2627282930