• Like
  • Save
Cap01
Upcoming SlideShare
Loading in...5
×
 

Cap01

on

  • 350 views

 

Statistics

Views

Total Views
350
Views on SlideShare
350
Embed Views
0

Actions

Likes
0
Downloads
1
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Cap01 Cap01 Document Transcript

    • Capítulo 1INTRODUÇÃO Programar é basicamente construir algoritmos. Essa definição relaciona o aspectofundamental, a construção de programas. Construção de programas são estruturas de dadosutilizadas no algoritmo para representar as informações do problema a ser resolvido. De fato, no processo de construção de programas, a formulação do algoritmo e a definiçãodas estruturas de dados a serem utilizadas estão intimamente relacionadas. Isto é, decisões sobreas estruturações dos dados não podem ser feitas sem conhecimento dos algoritmos aplicados aeles, e vice e versa. A estrutura e a escolha dos algoritmos depende, muitas vezes, da estrutura dedados. Em um algoritmo (e em particular em um programa) deve-se distinguir claramente doisaspectos complementares: um aspecto estático e um aspecto dinâmico. A formulação de um algoritmo geralmente consiste em um texto contendo instruções(comandos ou ações) que devem ser executadas em uma ordem prescrita. Uma ação é um eventoque ocorre em um período de tempo finito, estabelecendo um efeito intencionado e bemdefinido. Como exemplos: "caminhar até a próxima esquina", "colocar um livro em cima de umamesa", "descascar as batatas para o jantar", "atribuir o valor 3.14 a uma variável". Esses textos são representações concretas dos algoritmos e tem um caráter estático,expandindo somente no espaço. Por outro lado esses textos não tem importância em si, mas osefeitos que podem evocar quando executados no tempo, dado um conjunto de "valores iniciais".Cada execução de um algoritmo é um evento dinâmico, evoluindo no tempo. A grande dificuldade na concepção e no entendimento de algoritmos é o problema dorelacionamento desses aspectos, ou seja: como entender ("visualizar") as estruturas dinâmicas daspossíveis execuções do algoritmo a partir da estrutura estática do texto do algoritmo.Lógica Cotidiana A lógica do cotidiano (do dia a dia), as vezes é massivamente utilizada sem no entanto seperceber disso. A lógica pode ser descrita como coerência de raciocínio de idéias ou aindaseqüência coerente, regular e necessária de acontecimentos, de coisas. Como exemplo, têm-se:  O número 3 é menor que o número 5. O número 7 é maior que o número 5. Logo, o número 3 é menor que os números 5 e 7.  Quando chove, não é preciso regar as plantas no jardim. Hoje choveu. Logo, hoje não é preciso regar as plantas no jardim.  O Brasil fica na América do Sul. (Quem nasce no Brasil é brasileiro). A América do Sul fica no continente americano. (Quem nasce no continente americano é americano.) Logo, os brasileiros são americanos. O Raciocínio Lógico nasce de um conjunto de idéias desordenadas. Normalmente, pelomotivo de querer chegar ao resultado mais rapidamente. Como exemplo, na seqüência de ações aseguir (tabela 1), veja se é possível retirar o dinheiro de um banco, obedecendo, estritamente, aseqüência descrita.
    • 1. Sair do Banco. 2. Aguardar a vez de ser atendido. 3. Entrar na fila do caixa. 4. Digitar a senha. 5. Entrar no banco. 6. Informar o valor a ser retirado. 7. Procurar a fila do caixa. 8. Pegar o comprovante do saque, o cartão eletrônico e o dinheiro. 9. Conferir o valor em dinheiro. Seqüência de ações a serem efetuadas, para retirada de dinheiro. A Lógica de Programação tem como intuito resolver problemas com maior rapidez emenor esforço. Isso é possível quando se consegue automatizar tarefas. As tarefas devem serrealizadas pelo computador de forma automática, e ter sido anteriormente, divididas em etapas ecolocadas em uma seqüência de ações, e só então inseridas na máquina. Para isso, a metaprincipal de um programador é resolver problemas utilizando soluções lógicas, e dessa formaobter resultados eficientes (corretos) e eficazes (com qualidade). No exemplo da retirada de dinheiro acima, a ordem correta dos passos poderia ser: 1. Entrar no banco. 2. Procurar a fila do caixa. 3. Entrar na fila do caixa. 4. Aguardar a vez de ser atendido. 5. Informar o valor a ser retirado. 6. Digitar a senha. 7. Pegar o comprovante do saque, o cartão eletrônico e o dinheiro. 8. Conferir o valor em dinheiro. 9. Sair do Banco. Seqüência de ações a serem efetuadas, para retirada de dinheiro.EXERCÍCIOS PROPOSTOSQuestão 01:Aplicando um raciocínio lógico, resolva o enunciado:Existe um rio a ser atravessado por 3 pessoas. Essas pessoas pesam 50, 50 e 100kg. Paraatravessar esse rio, as 3 pessoas dispõem de uma canoa que leva no máximo 100kg por viagem.Essa canoa tem que ser conduzida, isto é, ela não navega sozinha. Como essas pessoas chegam aooutro lado da margem?
    • Questão 02:Menos conhecidos que seus primos distantes, companheiros da Branca de Neve, os cinco anõesdesta história raramente têm companhia. Eles são lenhadores. Quando vão para a floresta, cadaum põe na cabeça um boné de cor diferente. E cada anão derruba apenas um tipo de árvore,diferente da dos outros quatro. Com as indicações a seguir, associe cada anão ao seu boné e à suaárvore.a) Léo usa boné vermelho.b) Dino derruba olmos.c) O anão que derruba carvalhos não usa boné amarelo.d) Quem usa boné verde e corta salgueiros.e) Boni não usa boné amarelo.f) Leno usa boné azul e não preto.g) Boni derruba maçarandubas.h) O anão de boné azul derruba pinheiros.Questão 03:Em uma corrida, estão alinhados, lado a lado, 8 carros de marcas e cores diferentes. Estabeleça aordem em que os carros estão dispostos, com base nas informações:a) O Ferrari está entre os carros vermelho e cinza.b) O Lotus é o segundo carro à direita do carro creme e o segundo a esquerda do carro marrom.c) O carro cinza está à esquerda da Lotus.d) À direita do carro verde está o March.e) O Shadow não tem carro algum à sua esquerda e está à esquerda do carro verde.f) O Mclaren é o segundo carro à esquerda do Ferrari e o primeiro à direita do carro azul.g) O Tyrrel não tem carro à sua direita e está logo depois do carro preto.h) O carro preto está entre o Tyrrel e o carro amarelo.i) O Lola é o segundo carro à esquerda do Isso.Questão 04:Mary tinha um número de biscoitos. Depois de comer um, Ela deu metade do que sobrou para suairmã. Então ela comeu mais um e deu metade do restante para seu irmão. Mary tinha agorasomente cinco biscoitos. Com quantos biscoitos ela começou?Questão 05:No antigo Egito, havia um prisioneiro numa cela com duas saídas, cada uma delas com um guarda.Cada saída dava para um corredor diferente em que um dava para o campo e, portanto, para aliberdade e o outro para um fosso de crocodilos. Só os guardas sabiam qual a saída certa, mas um
    • deles dizia sempre a verdade e outro mentia sempre. O prisioneiro não sabia nem qual a saídacerta nem qual o guarda verdadeiro. Qual a pergunta (e uma só pergunta) que o prisioneirodeveria fazer a um dos guardas ao acaso, para saber qual a porta certa?