Curso Tcnico Integrado em Informtica Disciplina Fundamentos de

  • Slides: 19
Download presentation
Curso: Técnico Integrado em Informática Disciplina : Fundamentos de Lógica e Algoritmo INTRODUÇÃO A

Curso: Técnico Integrado em Informática Disciplina : Fundamentos de Lógica e Algoritmo INTRODUÇÃO A ALGORITMO Profª. Katiuscia Lopes dos Santos

Objetivo Ao final desta aula, você será capaz de: n Conceituar Lógica de Programação

Objetivo Ao final desta aula, você será capaz de: n Conceituar Lógica de Programação e disciplinar o raciocínio no sentido de solucionar problemas. n Conceituar algoritmos e construir algoritmos simples de forma eficaz. 2

Introdução RELEMBRANDO AS AULAS ANTERIORES n REVISÃO DO 1º BIMESTRE

Introdução RELEMBRANDO AS AULAS ANTERIORES n REVISÃO DO 1º BIMESTRE

LÓGICA Observe as seguintes afirmações: n O número 4 é menor que o número

LÓGICA Observe as seguintes afirmações: n O número 4 é menor que o número 7. O número 9 é maior que o número 7. Logo, o número 4 é menor que os números 9 e 7. n Um casal com três filhos notou que um vaso estava quebrado, enquanto duas das crianças estavam na escola. Quem é o culpado? n Há uma caneta dentro de uma gaveta fechada. Sabemos que, para pegar a caneta, devemos, antes, abrir a gaveta. Podemos deduzir a partir dessas afirmações, que em nosso cotidiano, sempre que pensamos, já estamos utilizando a lógica. Se consultarmos em um dicionário da língua portuguesa o verbete "lógica", veremos que se trata de uma parte da filosofia que estuda as leis do raciocínio. É uma ciência que estuda as formas do pensamento.

LÓGICA Xavier (2005, p. 25) define a lógica como "uma sequência coerente, regular e

LÓGICA Xavier (2005, p. 25) define a lógica como "uma sequência coerente, regular e necessária de acontecimentos, de coisas". Veja, a seguir, uma sequência de passos para comprar um determinado produto em uma loja. Imagine se seria possível comprar o produto seguindo os passos dessa sequência: n sair da loja; n pagar pelo produto; n entrar na loja; n retirar o dinheiro da carteira; n dirigir-se ao caixa; n escolher o produto na prateleira.

LÓGICA n n n Seria impossível conseguir efetuar a compra do produto, pois apesar

LÓGICA n n n Seria impossível conseguir efetuar a compra do produto, pois apesar de todas as ações estarem corretas, a sequência está errada. Como você poderia pagar pelo produto após sair da loja? Ou escolher o produto após pagar por ele? A sequência correta, nesse caso, seria: entrar na loja; escolher o produto na prateleira; dirigir-se ao caixa; retirar o dinheiro da carteira; pagar pelo produto; sair da loja.

LÓGICA A lógica, dessa forma, é utilizada para conduzir pensamentos ou ações voltados para

LÓGICA A lógica, dessa forma, é utilizada para conduzir pensamentos ou ações voltados para a solução de problemas. Você sabe que a lógica está correta em determinada situação, se a solução do problema tiver sido atingida. n Na programação de computadores, o treino dessa habilidade é fundamental para aprimorarmos a nossa capacidade de resolver problemas e programar. n Devemos, portanto, aprender a pensar de forma estruturada. O que isso significa? Significa desenvolver e aperfeiçoar a técnica de pensamento, dentro de um raciocínio lógico e matemático, que é a base de todo o trabalho na programação de computadores n

Algoritmos Para resolver um problema em um computador, de modo semelhante ao que fazemos

Algoritmos Para resolver um problema em um computador, de modo semelhante ao que fazemos para resolver um problema do nosso cotidiano, devemos encontrar uma maneira de descrever esse problema de uma forma clara e precisa, através de uma sequência de passos a serem seguidos até que se atinja a solução procurada (CRUZ; KNOPMAN, 2001). n Vimos que essa estruturação deve seguir uma determinada lógica para se atingir um objetivo. A lógica aplicada à programação de computadores, dessa forma, também deve buscar a melhor sequência de ações para se resolver um problema. A essa sequência de ações damos o nome de algoritmo. n

Algoritmo n Um algoritmo é um conjunto finito de regras que fornece uma sequência

Algoritmo n Um algoritmo é um conjunto finito de regras que fornece uma sequência de operações para resolver um problema específico. É algo como uma receita, ou uma rotina.

RECEITA DE BOLO COMUM DE OVOS Passo 1: Receber os ingredientes n n n

RECEITA DE BOLO COMUM DE OVOS Passo 1: Receber os ingredientes n n n Ingredientes: 2 xícaras de açúcar; 3 ovos; 250 g de margarina; 3 xícaras de farinha de trigo; 1 e ½ colher de fermento; 1 xícara de leite.

RECEITA DE BOLO COMUM DE OVOS Modo de preparo: Passo 2: aqueça o forno

RECEITA DE BOLO COMUM DE OVOS Modo de preparo: Passo 2: aqueça o forno a 180 graus; Passo 3: bata as claras em neve e reserve; Passo 4: em uma travessa, bata o açúcar, a manteiga e as gemas; Passo 5: misture a farinha e o leite; Passo 6: bata bem, até ficar bem homogêneo; Passo 7: com a ajuda de uma colher, acrescente o fermento; Passo 8: por último, adicione as claras em neve e mexa cuidadosamente; Passo 9: coloque em uma forma untada com manteiga e farinha de trigo e leve ao forno médio para assar por aproximadamente 35 minutos ou até que, ao espetar um palito, esse saia seco; Passo 10: após assado, desligue o forno e deixe o bolo esfriar; Passo 11: desenforme e saboreie.

Algoritmo Observando a receita de bolo, podemos contemplar as cinco características que são inerentes

Algoritmo Observando a receita de bolo, podemos contemplar as cinco características que são inerentes aos algoritmos (CRUZ; KNOPMAN, 2001): 1. Finitude – um algoritmo sempre deve terminar após um número finito de passos. Veja que o algoritmo do nosso exemplo encerra no momento em que o bolo está pronto para ser saboreado. 2. Definição – cada passo do algoritmo deve ser bem definido e sem ambiguidades, ou seja, não deve dar margem para uma interpretação dupla. 3. Entradas – um algoritmo deve ter zero ou mais entradas, que são as informações que devem ser fornecidas antes do algoritmo ser iniciado (no caso da receita de bolo, as entradas são os ingredientes, ou seja, o açúcar, os ovos, etc. ).

Algoritmo 4. 5. Saídas – um algoritmo deve ter uma ou mais saídas. O

Algoritmo 4. 5. Saídas – um algoritmo deve ter uma ou mais saídas. O número de saídas tem uma relação específica com as entradas. Mais uma vez, observando a nossa receita, vemos que os ingredientes (entradas) são misturados dentro da sequência de passos, gerando uma única saída (o bolo). Efetividade – todo algoritmo deve ser descrito por operações básicas e possíveis de ser realizadas de forma precisa, dentro de um determinado tempo, por qualquer pessoa. Por exemplo, se na receita víssemos uma instrução do tipo "coloque açúcar à vontade", isso impossibilitaria a sua execução de uma forma precisa.

Algoritmo Veja agora um exemplo de algoritmo utilizando números e expressões matemáticas. Cálculo da

Algoritmo Veja agora um exemplo de algoritmo utilizando números e expressões matemáticas. Cálculo da média aritmética do aluno Passo 1: Passo 2: Passo 3: Passo 4: Passo 5: informe a primeira nota; informe a segunda nota; some a primeira nota com a segunda nota; divida o resultado da soma por dois; mostre o resultado obtido.

Algoritmo n O algoritmo acima tem início e fim, como no anterior, tem passos

Algoritmo n O algoritmo acima tem início e fim, como no anterior, tem passos bem definidos, tem os dados de entrada (primeira nota e segunda nota), tem uma saída (média) e as instruções de cada passo são precisas, ou seja, esse exemplo reúne também as cinco características que nós mencionamos anteriormente. Diante de tudo isso, podemos afirmar que a construção de algoritmos é uma atividade que faz parte do nosso cotidiano, pois todas as atividades que realizamos (como tomar banho, ir à escola, voltar para casa) precisam de uma série de entradas para que sejam realizadas (como a hora de acordar, escolher o melhor caminho para ir à escola, escolher o melhor meio de transporte), seguem uma sequência lógica de passos e geram suas respectivas saídas (que são os resultados alcançados). Você consegue perceber como é simples?

Algoritmo nÉ importante lembrar, no entanto, que podem existir várias maneiras de solucionar um

Algoritmo nÉ importante lembrar, no entanto, que podem existir várias maneiras de solucionar um problema. O importante é chegar à solução. Melhor ainda, se essa solução for atingida de forma eficiente e eficaz.

Atividade 1. 2. 3. 4. 5. Desenvolver a habilidade de construir algoritmos de forma

Atividade 1. 2. 3. 4. 5. Desenvolver a habilidade de construir algoritmos de forma eficaz é o primeiro passo para aprender a programar sistemas de computadores. Vamos treinar essa habilidade resolvendo os exercícios a seguir. Escreva o seu algoritmo usual para ir à escola. Escreva um algoritmo para fritar batatas. Escreva o seu algoritmo usual para tomar banho. Escreva um algoritmo que, dado um número, exiba o seu antecessor. Faça o mesmo para exibir o sucessor do número dado.

Atividade Antes de fazer a atividade, considere as técnicas para elaboração de um algoritmo

Atividade Antes de fazer a atividade, considere as técnicas para elaboração de um algoritmo baseadas nas observações de Ascencio e Campos (2002), relacionadas a seguir. n ler atentamente o enunciado, destacando os pontos mais importantes; n definir os dados de entrada; n definir que dados de saída se deseja obter; n definir o processamento (de que maneira será ordenada a sequência de passos); n construir o algoritmo;

BIBLIOGRAFIA n ASCENCIO, Ana F. Gomes; CAMPOS, Edilene A. V. de. Fundamentos de programação

BIBLIOGRAFIA n ASCENCIO, Ana F. Gomes; CAMPOS, Edilene A. V. de. Fundamentos de programação de computadores: algoritmos, Pascal e C/C++. São Paulo: Prentice Hall, 2002. n CRUZ, Adriano J. O. ; KNOPMAN, Jonas. O que são algoritmos? Projeto de Desenvolvimento de Algoritmos: Núcleo de Computação Eletrônica. Rio de Janeiro, 2001. Disponível em: <http: //equipe. nce. ufrj. br/adriano/algoritmos/apostila/algoritmos. htm>. Acesso em: 25 dez. 2009. n SOUZA, Cláudio M. de. VISUALG: editor e interpretador de algoritmos. Disponível em: <http: //apoioinformatica. inf. br/visualg/objetivos. htm>. Acesso em: 28 dez. 2009. n XAVIER, Gley Fabiano Cardoso. Lógica de programação. 9. ed. São Paulo: Senac São Paulo, 2005. (Nova Série Informática).