Técnicas de Programação. Prof. André Y. Kusumoto

Documentos relacionados
Lógica de Programação e Algoritmos. Prof. André Y. Kusumoto

Lógica de Programação e Algoritmos. Prof. André Y. Kusumoto

Lógica de Programação e Algoritmos. Prof. André Y. Kusumoto

Lógica de Programação e Algoritmos. Prof. André Y. Kusumoto

Lógica de Programação e Algoritmos. Prof. André Y. Kusumoto

Lógica de Programação e Algoritmos. Prof. André Y. Kusumoto

Capítulo 1 - Lógica e Algoritmos

3.1 - O que é um diagrama de bloco? Simbologia... 11

Técnicas de Programação

Programação de Redes de Computadores

Introdução à Lógica de Programação

AULA 02. Lógica de Programação. Centro Educação Profissional Ezequiel Ferreira Lima CEPEF. Curso Técnico em Eletrônica.

LÓGICA DE PROGRAMAÇÃO INTRODUÇÃO À PROGRAMAÇÃO DE COMPUTADORES

LO GICA E TE CNICA DE PROGRAMAC ÃO. TÁSSIO JOSÉ GONÇALVES GOMES

Programação Aplicada à Engenharia

Processamento da Informação BC-05045

Lógica de Programação e Algoritmos. Prof. André Y. Kusumoto

Introdução à Lógica de Programação

ALGORITMO: FASE 1 PARTE 1

Algoritmo: Definição. Algoritmo. O que é Lógica? Lógica de Programação. Mas e a Lógica de Programação?

INTRODUÇÃO À PROGRAMAÇÃO. Introdução à Algoritmos. Prof. Me. Sérgio Carlos Portari Júnior

Programação Aplicada à Engenharia

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO. ANÁLISE E DESENVOLVIMENTO DE SISTEMAS/PARANGABA PROF. MS. RONNISON REGES VIDAL Ceará, 01 de fevereiro de 2017

LO GICA E TE CNICA DE PROGRAMAC ÃO. TÁSSIO JOSÉ GONÇALVES GOMES

Algoritmos e Linguagem de Programação I

Aula 4B. Lógica e Algoritmos. Profª. Fabiany

- Aula 01, 02, 03 e 04 Apresentação da disciplina.

Lógica de Programação. Capítulo 1. Introdução. Lógica de Programação. Forbellone / Eberspacher. Introdução

Introdução à Lógica de Programação. Adaptação de Luis Otavio Alvares

Introdução à Lógica de Programação

Lógica de Programação

Fábio Rodrigues / Israel Lucania

Conceitos Básicos. Fundamentos de Programação de Computadores

INTRODUÇÃO A PROGRAMAÇÃO

INTRODUÇÃO A LÓGICA DE PROGRAMAÇÃO

Programação de Computadores:

Introdução à Programação. slides de Deise Sacol

Lógica de Programação

Introdução à Programação. slides de Deise Sacol

Introdução à Lógica de Programação Utilizando Perl. Thiago Yukio Kikuchi Oliveira

Algoritmos e Técnicas de Programação Introdução Givanaldo Rocha de Souza

Programação de Computadores III

Prof. A. G. Silva. 14 de março de Prof. A. G. Silva INE5231 Computação Científica I 14 de março de / 26

CURSO DE INFORMÁTICA. Algoritmos. Parte 5. Ricardo José Cabeça de Souza

Capítulo 1 Conceitos Básicos

GFM015 Introdução à Computação. Algoritmos. Ilmério Reis da Silva UFU/FACOM

Introdução a Programação

Lógica de Programação. Profas. Simone Campos Camargo e Janete Ferreira Biazotto

CURSO DE INFORMÁTICA. Algoritmos. Parte 2. Ricardo José Cabeça de Souza

Portugol. Tiago Alves de Oliveira

Lógica de Programação

INFORMÁTICA APLICADA AULA 02 ALGORITMOS

Algoritmos Lógica e Programação Prof. Me. Adelson Felipe Dias Nogueira

PLANO DE ENSINO E APRENDIZAGEM CURSO: Tecnologia em Análise e Desenvolvimento de Sistemas

INTRODUÇÃO A ALGORITMOS

CMP Algoritmos Algoritmos - Introdução Geral. Professor Vicente Paulo de Camargo

Algoritmos e Estruturas de Dados I

Apresentação da Disciplina

Fig.1: Ilustração de Lógica Fonte: Internet

Algoritmos e Programação. Noções de Lógica e Algoritmos Tarcio Carvalho

Introdução à Algoritmos. Professora: Fabíola Gonçalves.

INTRODUÇÃO À PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO

ALGORITMOS AULA 1. Profª Amanda Gondim

Computação Eletrônica

INF 1005 Programação I

Introdução à Lógica de Programação

Linguagem de Descrição de algoritmos

AULA 02. OBJETIVO: Desenvolvimento e solução de Algoritmos. LÓGICA DE PROGRAMAÇÃO

Lógica de Programação I

Patrícia de Siqueira Ramos. UNIFAL-MG, campus Varginha. 21 de Março de 2018

UFCD 0804 Algoritmos

Algoritmos e Programação

BCC 701 Programação de Computadores I

Programação de Computadores IV. Introdução a Algoritmos SLIDES CEDIDOS POR Bruno Marques

Introdução a Programação de Jogos

É neste ponto que entra o conceito de lógica de programação.

Prof. Paulo Villa Aula 1

Programação de Computadores I Introdução PROFESSORA CINTIA CAETANO

01/08/2011. Introdução Lógica Sequencia lógica Instruções Algoritmos Programas. Lógica. Lógica na programação. Instrução.

Introdução a Lógica de Programação

Fundamentos de Algoritmos (5175/31)

Introdução à Programação Aula 02. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Conceitos Básicos. Professor: Juliano Lucas Gonçalves.

Linguagem de Programação I. Linguagem Pascal

Linguagem de Programação I Prof. Tiago Eugenio de Melo.

Programação de Computadores

Objetivo: Desenvolver algoritmos a partir de problemas

INFORMÁTICA APLICADA AULA 01 ALGORITMOS

Introdução à Lógica de Programação

Lógica de Programação

Lógica de Programação I

CCO 016 / COM 110 Fundamentos de Programação

I - CONCEITOS INICIAIS

UNIDADE 1 CONCEITOS BÁSICOS EM ALGORITMOS

Programação de Computadores

Aula 08 Introdução à Algoritmos. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Introdução aos Algoritmos

Transcrição:

Técnicas de Programação Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com

Lógica Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com A lógica de programação é necessária para pessoas que desejam trabalhar com desenvolvimento de sistemas e programas, ela permite definir a sequência lógica para o desenvolvimento. Então o que é lógica? Lógica de de programação é a técnica de de encadear pensamentos para atingir determinado objetivo 2/20

Sequência Lógica Estes pensamentos podem ser descritos como uma sequência de instruções, que devem ser seguidas para se cumprir uma determinada tarefa. Sequência Lógica são passos executados até atingir um objetivo ou ou solução de um problema 3/20

1. Há três suspeitos de um crime: o cozinheiro, a governanta e o mordomo. Sabe-se que o crime foi efetivamente cometido por um ou por mais de um deles, já que podem ter agido individualmente ou não. Sabe-se, ainda que: A) se o cozinheiro é inocente, então a governanta é culpada; B) ou o mordomo é culpado ou a governanta é culpada, mas não os dois; C) o mordomo não é inocente. Logo: (a) a governanta e o mordomo são os culpados (b) o cozinheiro e o mordomo são os culpados (c) somente a governanta é culpada (d) somente o cozinheiro é inocente (e) somente o mordomo é culpado. 4/20

2. Qual o número que completa a sequência: 1, 3, 6, 10,... (a) 13 (b) 15 (c) 12 (d) 11 (e) 18 3. Um frasco contém um casal de melgas. As melgas reproduzem-se e o seu número dobra todos os dias. Em 50 dias o frasco está cheio. Em que dia o frasco esteve meio cheio? (a) 25 (b) 24 (c) 26 (d) 49 (e) 2 5/20

4. O preço de um produto foi reduzido em 20% numa liquidação. Qual deverá ser a percentagem de aumento do preço do mesmo produto para que ele volte a ter o preço original? (a) 15% (b) 20% (c) 25% (d) 30% (e) 40% 6/20

5. Três amigos se encontram e como os tempos estão bicudos resolvem ir ao boteco da esquina para partilhar, no beber e no pagar. "São vinte e cinco reais", diz o garçom, chamado depois de muita conversa. Cada um lhe dá uma nota de R$10, ao todo R$ 30. Ele vai ao caixa e traz o troco: cinco notas de R$1. Dá uma nota a cada um e imediatamente um dos rapazes lhe diz para ficar com os R$2,00 restantes. Ao saírem do boteco, um deles observa: "Que engraçado. Eram R$30, uma nota de R$10 de cada um de nós e como recebemos R$1 de troco, gastamos R$9 por cabeça que multiplicados por: 3 resulta em R$27, que somados aos R$2 da gorjeta somam R$29. Cadê o outro R$1?" 9 x 3 = 27 + 2 = 29 7/20

Instruções Na linguagem comum, entende-se por instruções um conjunto de regras ou normas definidas para a realização ou emprego de algo. Em informática, porém, instrução é a informação que indica a um computador uma ação elementar a executar. É necessário um conjunto de instruções colocadas em ordem seqüencial lógica. É evidente que essas instruções tem que ser executadas em uma ordem adequada não se pode descascar as batatas depois de fritá-las. Dessa maneira, uma instrução tomada em separado não tem muito sentido; para obtermos o resultado, precisamos colocar em prática o conjunto de todas as instruções, na ordem correta. 8/20

Algoritmo Um algoritmo é formalmente uma sequência finita de passos que levam a execução de uma tarefa. Podemos pensar em algoritmo como uma receita, uma sequência de instruções que dão cabo de uma meta específica. Estas tarefas não podem ser redundantes nem subjetivas na sua definição, devem ser claras e precisas. Como exemplos de algoritmos podemos citar os algoritmos das operações básicas (adição, multiplicação, divisão e subtração) de números reais decimais. Outros exemplos seriam os manuais de aparelhos eletrônicos. 9/20

Programas Os programas de computadores nada mais são do que algoritmos escritos numa linguagem de computador (Pascal, C, Cobol, Fortran, Visual Basic, Java, PHP, entre outras) e que são interpretados e executados por uma máquina, no caso um computador. Notem que dada esta interpretação rigorosa, um programa é por natureza muito específico e rígido em relação aos algoritmos da vida real. 10/20

Algoritmizando a Lógica É importante ressaltar que qualquer tarefa que siga determinado padrão pode ser descrita por um algoritmo. Podemos pensar também num algoritmo como um mecanismo de transformação de entradas em saídas. Assim, um algoritmo ao ser executado, receberá algumas entradas, que serão processadas e nos devolverá algumas saídas. 11/20

Entretanto ao montar um algoritmo, precisamos primeiro dividir o problema apresentado em três fases fundamentais. Entrada Processamento Saída Onde temos: ENTRADA: São os dados de entrada do algoritmo PROCESSAMENTO: São os procedimentos utilizados para chegar ao resultado final SAÍDA: São os dados já processados 12/20

Por que é importante construir algoritmos? Um algoritmo tem por objetivo representar mais fielmente o raciocínio envolvido na lógica de programação e, dessa forma, permite-nos abstrair de uma série de detalhes computacionais, que podem ser acrescentados mais tarde. Assim, podemos focalizar nossa atenção naquilo que é importante: a lógica da construção de algoritmos. Outra importância da construção dos algoritmos é que uma vez concebido uma solução algorítmica para um problema, esta pode ser traduzida para qualquer linguagem de programação. 13/20

Vamos a um exemplo? Podemos escrever um primeiro algoritmo de exemplo, utilizando português coloquial, que descreva o comportamento na resolução de uma determinada atividade, como, por exemplo, trocar o pneu de um carro. Há muitas formas de resolver um problema, afinal cada pessoa pensa e age de maneira diferente. Isso significa que, para esse mesmo problema poderíamos ter diferentes soluções corretas. 14/20

Método para desenvolvimento de algoritmos 1. Faça uma leitura de todo o problema até o final, a fim de formar a primeira impressão. A seguir, releia o problema e faça anotações sobre os pontos principais. 2. Verifique se o problema foi bem entendido. Questione, se preciso, ao autor da especificação sobre suas dúvidas. Releia o problema quantas vezes for preciso para tentar entendê-lo. 3. Extraia do problema todas as suas saídas. 4. Extraia do problema todas as suas entradas. 5. Identifique qual é o processamento principal. 15/20

6. Verifique se será necessário algum valor intermediário que auxilie a transformação das entradas em saídas. Esta etapa pode parecer obscura no início, mas com certeza no desenrolar do algoritmo, estes valores aparecerão naturalmente. 7. Teste cada passo do algoritmo, com todos os seus caminhos para verificar se o processamento está gerando os resultados esperados. Crie valores de teste para submeter ao algoritmo. 8. Reveja o algoritmo, checando as boas normas de criação. 16/20

Regras para construção do Algoritmo 1. Use comentários com frequência. Isto torna o algoritmo mais legível e facilita o entendimento da lógica empregada. Seus algoritmos deverão ser lidos e entendidos por outras pessoas (e por você mesmo) de tal forma que possam ser corrigidos e receber manutenção. Obs: Não se esqueça de atualizar os comentários, em caso de manutenção. Pior do que um programa sem comentários, é um programa com comentários errados. 2. Use comentários, também, no cabeçalho do algoritmo, incluindo, principalmente: Descrição do que faz o algoritmo Autor Data de criação 3. Escolha nomes de variáveis significativos, todavia evite nomes muito longos. Prefira SalBruto ou SalarioBruto ao invés de SB ou VAR1 Prefira TotAlunosAprovDireta ao invés de TotalAlunosAprovacaoDireta 17/20

4. Utilize espaços e linhas em branco para melhorar a legibilidade. 5. Coloque apenas um comando por linha. Vários comandos em uma linha causa ilegibilidade e dificulta a depuração. 6. Utilize parênteses para aumentar a legibilidade e prevenir-se de erros. 7. Use indentação nos comandos de acordo com o nível que estejam, ou seja, alinhe comandos de mesmo nível e desloque comandos de nível inferior. Ex.: início fim comando1; se condicao1 então senão fim-se; comando6; comando2; comando3; comando4; comando5; 18/20

Exercícios Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com 1) Elabore um algoritmo que mova três discos de uma Torre de Hanói, que consiste em três hastes (a b c), uma das quais serve de suporte para três discos de tamanhos diferentes (1 2 3), os menores sobre os maiores. Pode-se mover um disco de cada vez para qualquer haste, contanto que nunca seja colocado um disco maior sobre um menor. O objetivo é transferir os três discos para outra haste. 19/20

Algoritmos Estruturados. Referências Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com FARRER, Harry, BECKER, Christiano G., FARIA, Eduardo C., MATOS, Helton Fábio de, SANTOS, Marcos Augusto dos, MAIA, Miriam Lourenço. Rio de Janeiro: Editora Guanabara, 1989. Lógica de Programação A Construção de Algoritmos e Estruturas de Dados Forbellone, André Luiz Villar. São Paulo, Prentice Hall, 2005: Algoritmos e estruturas de dados. GUIMARÃES, Angelo de Moura, LAGES, Newton A de Castilho. Rio de Janeiro: LTC Livros Técnicos e Científicos Editora, 1985. Programação e lógica com Turbo Pascal. MECLER, Ian, MAIA, Luiz Paulo. Rio de Paulo Janeiro: Campus, 1989. Unicamp - Centro de Computação DSC. Sérgio de Moraes, abril 2000. Algoritmos. SALVETTI, Dirceu Douglas, BARBOSA, Lisbete Madsen. São Paulo: Makron Books, 1998. Concursos Públicos Raciocínio Lógico. SILVA, Joselias Santos da. São Paulo: R&A Editora Cursos e Materiais Didáticos, 1999. Algoritmos e Estruturas de Dados. WIRTH, Niklaus. Rio de Janeiro: Editora Prentice-Hall do Brasil, 1986. Sites na Web: http://www.inf.pucrs.br/~egidio/algo1/ 20/20