38
LÓGICA E LINGUAGEM DE PROGRAMAÇÃO Introdução

LÓGICA E LINGUAGEM DE PROGRAMAÇÃO Introdução - 01 - Introdução.pdf · (dedução, indução, hipótese, inferência etc.) e das operações intelectuais que visam à determinação

  • Upload
    ngothu

  • View
    226

  • Download
    0

Embed Size (px)

Citation preview

LÓGICA E LINGUAGEM DE PROGRAMAÇÃO

Introdução

PARA DESCONTRAIR

03/05/2016 2IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO

OBJETIVOS DA AULA

03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 3

Apresentar os conceitos elementares de lógica e sua aplicação no cotidiano;

Definir algoritmo;

Estabelecer uma relação entre lógica e algoritmos: a lógica de programação;

Exemplificar a aplicação dos algoritmos utilizando situações do dia-a-dia;

Comparar as principais formas de representação dos algoritmos; e

Exercitar o conhecimento aprendido com exercícios diversos.

PROGRAMAR PARA QUE?

03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 4

Escrever páginas web

Acertar seu relógio

Aprender a usar mapas

Mostrar para seus amigos que você sabe programar

Parecer estranho

Entender melhor como seu computador funciona

Cozinhar

Salvar o mundo

Software livre

NOÇÕES DE LÓGICA

03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 5

Lógica é a ciência que estuda as formas de pensamento.

Lógica é a parte da filosofia que trata das formas do pensamento em geral(dedução, indução, hipótese, inferência etc.) e das operações intelectuais que visam àdeterminação do que é verdadeiro ou não.

Aristóteles é o autor do primeiro trabalho sobre lógica.

A lógica é frequentemente dividida em três partes: o raciocínio indutivo, oraciocínio abdutivo e o raciocínio dedutivo.

NOÇÕES DE LÓGICA

03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 6

A Lógica nos acompanha diariamente:

Um bebê sabe que precisa chorar para receber atenção.

Um casal com três filhos notou que um vaso estava quebrado, enquanto duas dascrianças estavam na escola. Quem é o culpado?

Pegar um chiclete. Retirar o papel. Mastigar o chiclete. Jogar o papel no lixo.

Se um carro está com a seta esquerda ligada. Significa que ele vai virar à direitaou à esquerda?

O pensamento (e a lógica) pode ser expresso por meio da linguagem oral ou escrita.

Um mesmo pensamento pode ser expresso em inúmeros idiomas, tanto oralmentequanto por escrito.

NOÇÕES DE LÓGICA

03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 7

• O que é Lógica?

A Lógica ensina a colocar “ordem no pensamento”.

• Exemplos:

a. Todo mamífero é um animal.Todo cavalo é um mamífero.Portanto, todo cavalo é um animal.

b. Kaiton é país do planeta Stix.Todos os Xinpins são de Kaiton.Logo, todos os Xinpins são Stixianos.

NOÇÕES DE LÓGICA

03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 8

• Existe Lógica no dia-a-dia?

Sempre que pensamos, a lógica ou a ilógica necessariamente nos acompanham.

• Exemplos:

a. A gaveta está fechada.A caneta está dentro da gaveta.Precisamos primeiro abrir a gaveta para depois pegar a caneta.

b. Anacleto é mais velho que Felisberto.Felisberto é mais velho que Marivaldo.Portanto, Anacleto é mais velho que Marivaldo.

NOÇÕES DE LÓGICA

03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 9

• Mas e a lógica de programação?

Significa usar a lógica para resolver problemas computacionais.

o O raciocínio é algo abstrato, intangível;

o Os seres humanos têm a capacidade de expressá-lo por meio da palavra;

o Um mesmo raciocínio pode ser expresso em inúmeros idiomas;

o A lógica de programação pode ser representada por inúmeras linguagens deprogramação;

o Algoritmos são uma representação fiel do raciocínio da lógica de programação.

NOÇÕES DE LÓGICA

03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 10

• O que é um algoritmo?

o O objetivo principal do estudo da Lógica de Programação é a construção de algoritmoscoerentes e válidos.

o Um algoritmo pode ser definido como uma sequência de passos que visam atingir umobjetivo bem definido.

o Algoritmos são comuns em nosso cotidiano. Exemplo: manual de instalação de uma TV.

o Quando elaboramos um algoritmo, devemos especificar ações claras e precisas, que apartir de um estado inicial, após um período de tempo finito, produzem um estado finalprevisível e bem definido.

o Algoritmo é a descrição de um conjunto de comandos que, obedecidos, resultam em umasucessão finita de ações.

ALGORITMIZANDO A LÓGICA

03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 11

• Por que é importante construir um algoritmo?

o Um algoritmo tem por objetivo representar mais fielmente o raciocínio envolvido naLógica de Programação.

o Um algoritmo permite abstrair uma série de detalhes computacionais.

o Uma solução algorítmica para um problema pode ser traduzida para qualquerlinguagem de programação. Este processo é chamado de codificação.

o Alguns algoritmos presentes em nosso dia-a-dia: receita de bolo, orientaçãopara se chegar em algum endereço, realização de alguma tarefa rotineira.

ALGORITMOS - O QUE SÃO?

03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 12

Um algoritmo é uma sequência de instruções que resolve uma determinada tarefa.Essas instruções podem ser executadas por um computador ou até mesmo por um serhumano.

Um algoritmo pode ser comparado a uma receita de bolo, onde cada passo dapreparação do bolo corresponde a uma instrução do algoritmo.

Normalmente, desenvolver algoritmos eficientes não é uma tarefa simples. No meioacadêmico, diversas técnicas para o desenvolvimento de algoritmos mais eficientessão estudadas pela Ciência da Computação.

ALGORITMOS - EXEMPLOS

03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 13

Algoritmo 1 - Somar três números

Passo 1 - Receber os três números.

Passo 2 - Somar os três números.

Passo 3 - Mostrar o resultado obtido.

ALGORITMOS - EXEMPLOS

03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 14

Algoritmo 2 - Fazer um sanduíche

Passo 1 - Pegar o pão.

Passo 2 - Cortar o pão ao meio.

Passo 3 - Pegar a maionese.

Passo 4 - Passar a maionese no pão.

Passo 5 - Pegar e cortar a alface e o tomate.

Passo 6 - Colocar a alface e o tomate no pão.

Passo 7 - Pegar o hambúrguer.

Passo 8 - Fritar o hambúrguer.

Passo 9 - Colocar o hambúrguer no pão.

ALGORITMOS - EXEMPLOS

03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 15

Algoritmo 3 - Ir para a escola

Passo 1 - Acordar cedo.

Passo 2 - Ir ao banheiro.

Passo 3 - Abrir o armário para escolher uma roupa.

Passo 4 - Se o tempo estiver quente, pegar uma camiseta e uma calça jeans;

Caso contrário, pegar um agasalho e uma calça jeans.

Passo 5 - Vestir a roupa escolhida.

Passo 6 - Tomar café.

Passo 7 - Pegar uma condução.

Passo 8 - Descer próximo à escola.

ALGORITMOS - EXEMPLOS

03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 16

Algoritmo 4 - Sacar dinheiro no banco 24 horas

Passo 1 - Ir até um banco 24 horas.

Passo 2 - Colocar o cartão.

Passo 3 - Digitar a senha.

Passo 4 - Solicitar a quantia desejada.

Passo 5 - Se o saldo for maior ou igual à quantia desejada, sacar;

Caso contrário, mostrar mensagem de impossibilidade de saque.

Passo 6 - Retirar o cartão.

Passo 7 - Sair do banco 24 horas.

ALGORITMOS - TORRES DE HANÓI

03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 17

As Torres de Hanói é um quebra-cabeça composto por uma base contendo três torres(A, B e C) e três discos de diâmetros distintos (1, 2 e 3). Neste quebra-cabeça, oobjetivo é encontrar uma forma de mover todos os discos da torre A para a torre C,usando a torre B como espaço auxiliar, de modo que:

apenas um disco seja movido de cada vez;

nenhum disco seja posicionado sobre outro disco de diâmetro menor;

os discos sejam imediatamente transferidos de uma torre para outra.

ALGORITMOS - TORRES DE HANÓI

03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 18

Há várias soluções possíveis para este problema. Uma delas é a seguinte:

1º passo: mova o disco do topo da torre A para o topo da torre C.

2º passo: mova o disco do topo da torre A para o topo da torre B.

3º passo: mova o disco do topo da torre C para o topo da torre B.

4º passo: mova o disco do topo da torre A para o topo da torre C.

5º passo: mova o disco do topo da torre B para o topo da torre A.

6º passo: mova o disco do topo da torre B para o topo da torre C.

7º passo: mova o disco do topo da torre A para o topo da torre C.

ALGORITMIZANDO A LÓGICA

03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 19

• Vamos a um exemplo?

ALGORITMO 1.1 Troca de lâmpada

• Pegar uma escada;

• Posicionar a escada embaixo da lâmpada;

• Buscar uma lâmpada nova;

• Subir na escada;

• Retirar a lâmpada velha;

• Colocar a lâmpada nova.

ALGORITMIZANDO A LÓGICA

03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 20

• E se a lâmpada não estiver queimada?

ALGORITMO 1.2 Troca de lâmpada com teste

• Pegar uma escada;

• Posicionar a escada embaixo da lâmpada;

• Buscar uma lâmpada nova;

• Acionar o interruptor;

• Se a lâmpada não acender, então

• Subir na escada;

• Retirar a lâmpada velha;

• Colocar a lâmpada nova.

ALGORITMIZANDO A LÓGICA

03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 21

• Podemos melhorar o algoritmo anterior?

ALGORITMO 1.3 Troca de lâmpada com teste no início

• Acionar o interruptor;

• Se a lâmpada não acender, então

• Pegar uma escada;

• Posicionar a escada embaixo da lâmpada;

• Buscar uma lâmpada nova;

• Acionar o interruptor;

• Subir na escada;

• Retirar a lâmpada queimada;

• Colocar a lâmpada nova.

ALGORITMIZANDO A LÓGICA

03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 22

• E se a nova lâmpada não funcionar?

ALGORITMO 1.4 Troca de lâmpada com teste e repetição indefinida

• Acionar o interruptor;

• Se a lâmpada não acender, então

• Pegar uma escada;

• Posicionar a escada embaixo da lâmpada;

• Buscar uma lâmpada nova;

• Acionar o interruptor;

• Subir na escada;

• Retirar a lâmpada queimada;

• Colocar a lâmpada nova;

• Se a lâmpada não acender, então

• Retirar a lâmpada queimada;

• Colocar a lâmpada nova;

Até quando???

ALGORITMIZANDO A LÓGICA

03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 23

• Como corrigir o algoritmo anterior?

ALGORITMO 1.5 Troca de lâmpada com teste e condição de parada

• Acionar o interruptor;

• Se a lâmpada não acender, então

• Pegar uma escada;

• Posicionar a escada embaixo da lâmpada;

• Buscar uma lâmpada nova;

• Acionar o interruptor;

• Subir na escada;

• Retirar a lâmpada queimada;

• Colocar a lâmpada nova;

• Enquanto a lâmpada não acender, faça

• Retirar a lâmpada queimada;

• Colocar uma lâmpada nova;

ALGORITMIZANDO A LÓGICA

03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 24

• E se eu tivesse que trocar várias lâmpadas?

ALGORITMO 1.6 Troca de lâmpada com teste para 10 soquetes

• Acionar o interruptor do primeiro soquete;

• Se a lâmpada não acender, então

• Pegar uma escada;

• Posicionar a escada embaixo da lâmpada;

• Buscar uma lâmpada nova;

• Acionar o interruptor;

• Subir na escada;

• Retirar a lâmpada queimada;

• Colocar a lâmpada nova;

• Enquanto a lâmpada não acender, faça

• Retirar a lâmpada queimada;

• Colocar uma lâmpada nova;

• Acionar o interruptor do segundo soquete;

ALGORITMIZANDO A LÓGICA

03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 25

ALGORITMO 1.7 Troca de lâmpada com teste para 10 soquetes com repetição

• Ir até o interruptor do primeiro soquete;

• Enquanto a quantidade de soquetes testados for menor que dez, faça

• Acionar o interruptor

• Se a lâmpada não acender, então

• Pegar uma escada;

• Posicionar a escada embaixo da lâmpada;

• Buscar uma lâmpada nova;

• Acionar o interruptor;

• Subir na escada;

• Retirar a lâmpada queimada;

• Colocar a lâmpada nova;

• Enquanto a lâmpada não acender, faça

• Retirar a lâmpada queimada;

• Colocar uma lâmpada nova;

• Ir até o interruptor do próximo soquete;

ALGORITMIZANDO A LÓGICA

03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 26

Algumas considerações:

Construção de algoritmos usando uma linguagem coloquial;

Estrutura Sequencial: conjunto de ações executadas sequencialmente;

Estrutura Seletiva: teste condicional para executar ou não um conjunto de ações;

Estrutura de Repetição: repetição de um mesmo trecho do algoritmo;

Um programa de computador tradicional não tem conhecimento prévio nemadquire experiências;

Programadores: Construtores de Algoritmos.

ALGORITMIZANDO A LÓGICA

03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 27

• De que maneira representaremos o algoritmo?

o Um algoritmo é uma linha de raciocínio, que pode ser descrito de diversas maneiras, deforma gráfica ou textual;

o Os algoritmos vistos até aqui estavam na forma textual, usando português coloquial.

o As formas gráficas são mais puras por serem mais fiéis ao raciocínio original, substituindoum grande número de palavras por convenções de desenhos.

o No material de apoio há um representação do algoritmo 1.7 em formato de fluxogramatradicional e outro em Chapin.

o Quais as vantagens e desvantagens das representações textuais e gráficas?

ALGORITMIZANDO A LÓGICA

03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 28

• Qual o problema de usar a língua pátria para escrever algoritmos?

Vejamos a seguinte frase: “O pregador foi grampeado durante o conserto.”

Esse exemplo, quando falado, pode ter até oito sentidos diferentes. Você sabe quais?

o O computador é desprovido do raciocínio necessário para interpretar a frase.

o Para evitar esse e outros problemas, utilizaremos um conjunto de regras que visamrestringir e estruturar o uso do português na representação dos algoritmos.

MÉTODO PARA A CONSTRUÇÃO DE ALGORITMOS

03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 29

Para a construção de qualquer tipo de algoritmo, é necessário seguir estes passos:

• Compreender completamente o problema a ser resolvido, destacando os pontos maisimportantes e os objetos que o compõem.

• Definir os dados de entrada, ou seja, quais dados serão fornecidos e quais objetosfazem parte desse cenário problema.

• Definir o processamento, ou seja, quais cálculos serão efetuados e quais as restriçõespara esses cálculos. O processamento é responsável pela transformação dos dados deentrada em dados de saída. Além disso, deve-se verificar quais objetos sãoresponsáveis pelas atividades.

• Definir os dados de saída, ou seja, quais dados serão gerados depois doprocessamento.

• Construir o algoritmo usando um dos tipos descritos nos próximos slides.• Testar o algoritmo realizando simulações.

TIPOS DE ALGORITMOS

03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 30

Os três tipos mais utilizados de algoritmos são: descrição narrativa, fluxograma,pseudocódigo ou portugol.

Descrição Narrativa

A descrição narrativa consiste em analisar o enunciado do problema e escrever, usandouma linguagem natural (por exemplo, a língua portuguesa), os passos a serem seguidospara sua resolução.

Vantagem: não é necessário aprender nenhum conceito novo, pois uma língua naturalneste ponto, já é bem conhecida.Desvantagem: a língua natural abre espaço para várias interpretações, o queposteriormente dificultará a transcrição desse algoritmo para programa.

TIPOS DE ALGORITMOS

03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 31

Os três tipos mais utilizados de algoritmos são: descrição narrativa, fluxograma,pseudocódigo ou portugol.

Fluxograma

O fluxograma consiste em analisar o enunciado do problema e escrever, utilizandosímbolos gráficos predefinidos, os passos a serem seguidos para sua resolução.

Vantagem: o entendimento de elementos gráficos é mais simples que o entendimentode textos.Desvantagem: é necessário aprender a simbologia dos fluxogramas, e além disso, oalgoritmo resultante não apresenta muitos detalhes, dificultando sua transcrição paraum programa.

FLUXOGRAMA

03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 32

Símbolo Significado

Símbolo utilizado para indicar o início e o fim do algoritmo.

Símbolo que permite indicar o sentido do fluxo de dados. Serve exclusivamente

para conectar os símbolos ou blocos existentes.

Símbolo utilizado para indicar cálculos e atribuições de valores.

Símbolo utilizado para representar a entrada de dados.

Símbolo utilizado para representar a saída de dados.

Símbolo utilizado para indicar que deve ser tomada uma decisão, apontando a

possibilidade de desvios.

TIPOS DE ALGORITMOS

03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 33

Os três tipos mais utilizados de algoritmos são: descrição narrativa, fluxograma,pseudocódigo ou portugol.

Pseudocódigo ou portugol

O pseudocódigo ou portugol consiste em analisar o enunciado do problema e escrever,por meio de regras predefinidas, os passos a serem seguidos para sua resolução.

Vantagem: a passagem do algoritmo para qualquer linguagem de programação équase imediata, bastando conhecer as palavras reservadas da linguagem que seráutilizada.Desvantagem: é necessário aprender as regras do pseudocódigo, que serãoapresentadas nas próximas aulas.

RESUMO

03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 34

A lógica se relaciona com a ‘ordem da razão’, com a ‘correção do pensamento’;

É necessário utilizar processos lógicos de programação para construir algoritmos;

Um algoritmo é uma sequência de passos bem definidos que têm por objetivo solucionar umdeterminado problema;

O exemplo das lâmpadas introduziu o conceito de fluxo de execução.

A estrutura sequencial significa que o algoritmo é executado passo a passo, sequencialmente, daprimeira à última ação.

A estrutura de seleção permite que uma ação seja ou não executada, dependendo do valorresultante da inspeção de uma condição.

A estrutura de repetição permite que trechos de algoritmos sejam repetidos até que uma condiçãoseja satisfeita ou enquanto uma condição não estiver satisfeita.

03/05/2016 35

o Criação de Fluxogramas online

http://www.draw.io

SOFTWARES

IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO

03/05/2016 36

o Racha Cuca

http://rachacuca.com.br/

o Oito sites infalíveis para aprender programação por conta própria

http://computerworld.com.br/gratis-oito-sites-infaliveis-para-aprender-programacao-por-conta-propria

PÁGINAS NA INTERNET

IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO

03/05/2016 37

o Uma breve história da lógica

https://www.youtube.com/watch?v=ozMbmBp3onE

o Historia de la Lógica

https://www.youtube.com/watch?v=tl_wRb3m6ME

o Piada Tunes - Portuga e a Lógica - ANIMATUNES

https://www.youtube.com/watch?v=ziy0py8hAUw

o Desafio de lógica dos cinco triângulos - Matchstick Puzzles

https://www.youtube.com/watch?v=M9oUKYXpBs4

VÍDEOS NA INTERNET

IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO

REFERÊNCIAS BIBLIOGRÁFICAS

FARRER, H. Algoritmos Estruturados. 3. ed. São Paulo: LTC, 1999. 260 p.

FORBELLONE, A. L. V.; EBERSPACHER, H. F. Lógica de Programação: a construçãode algoritmos e estruturas de dados. 3. ed. São Paulo: Prentice Hall Brasil, 2005.232 p.

03/05/2016 IFPR QUEDAS DO IGUAÇU - LÓGICA E LINGUAGEM DE PROGRAMAÇÃO - DANILO GIACOBO 38