Baixe Introdução à Programação: Fundamentos da Lógica de Programação e outras Manuais, Projetos, Pesquisas em PDF para Informática, somente na Docsity!
Introdução à Programação
Sistemas de Informação
Prof. Denis Rocha de Carvalho
Março / 2010
Agenda
Introdução à lógica de programação;
- Noções de lógica;
- Algoritmizando a lógica;
- Diagrama de blocos.
Existe lógica no dia-a-dia?
- Sempre que pensamos! Precisamos colocar “ordem no pensamento” = utilizar lógica. Ex.: A gaveta está fechada. A caneta está dentro da gaveta. PERGUNTA ... Como pegar a caneta? Precisamos primeiro abrir a gaveta para depois pegar a caneta.
Mas e a lógica de programação?
- Uso correto das leis do pensamento, da “ordem da razão” e de processos de raciocínio e simbolização formais na programação de computadores.
- Raciocínio é algo abstrato, intangível. Que pode ser expressada através da língua (seu idioma!).
- Lógica de programação pode ser representada por alguma linguagem de programação. Ex.: C, Pascal;
- Como as linguagens são muito atreladas a muito detalhes computacionais que tem pouco a ver com o raciocínio original utlizamos os ALGORITMOS.
Introdução à programação
Importância de construir algoritmos:
- Representar fielmente o raciocínio envolvido na lógica;
- Uma vez concebida a solução algorítmica para um problema, esta poderá ser traduzida para qualquer linguagem de programação LIBERDADE!!! Exemplo Troca de lâmpada
- Pegar uma escada;
- Posicionar a escada embaixo da lâmpada;
- Buscar lâmpada nova;
- Subir na escada;
- Retirar a lâmpada velha e
- Colocar a lâmpada nova.
Algoritmo troca de lâmpada com teste:
- Pegar uma escada;
- Posicionar a escada embaixo da lâmpada;
- Buscar lâmpada nova;
- Acionar o interruptor;
- Se a lâmpada não acender, então
- Subir na escada;
- Retirar a lâmpada velha e
- Colocar a lâmpada nova.
Algoritmo 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 lâmpada nova;
- Acionar o interruptor;
- Subir na escada;
- Retirar a lâmpada velha e
- Colocar a lâmpada nova.
- Se a lâmpada não acender, então
- Retirar a lâmpada queimada;
- Colocar outra lâmpada nova;
- Se a lâmpada não acender, então
- Retirar a lâmpada queimada; ... Até quando?
Algoritmo 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 lâmpada nova;
- Acionar o interruptor;
- Subir na escada;
- Retirar a lâmpada velha e
- Colocar a lâmpada nova.
- Enquanto a lâmpada não acender, faça
- Retirar a lâmpada queimada;
- Colocar uma lâmpada nova.
Algoritmo 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 lâmpada nova;
- Acionar o interruptor;
- Subir na escada;
- Retirar a lâmpada velha e
- 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;
Introdução à lógica – Diagrama
de blocos
Símbolo Significado
Terminação – denota o início ou o fim
do algoritmo.
Entrada de dados – indica a leitura
de um dado provindo de um agente
externo ao sistema, como o usuário.
Processamento de informações –
demonstra que um cálculo, uma
atribuição ou qualquer outro tipo de
ação está sendo tomada.
Conector – ponto de retorno a uma
área específica do diagrama.
São compostos por figuras e demonstram o fluxo das informações durante o desenvolvimento das soluções.
Início X A + B Fim A X B
public class Soma
Public static void main(String [args]
int a = Integer.parseInt(args[0]);
int b = Integer.parseInt(args[1]);
System.out.Println(“A soma é: ”+ (a + b));
Diagrama de bloco convertido em algoritmo em Java
Bibliografia
Lógica de programação: A construção de algoritmos e estruturas de dados. André Luiz Villar Forbellone, Henri Frederico Eberspächer. 3ª Edição – São Paulo: Pearson Prentice Hall, 2005.