Aécio Costa
Programação é a arte de fazer com que o computador faça exatamente o que desejamos que ele faça.
O que é um Programa? Uma seqüência de instruções de computador, para a realização de uma determinada tarefa.
... E o que é uma Instrução? É um comando referente a uma operação elementar que o computador seja capaz de executar.
Exemplos de instruções: Colocar Negrito em um texto; Deletar um arquivo; Criar uma pasta; Copiar um conjunto de Arquivos; Enviar uma mensagem; Clicar em botão.
Algoritmos Um conjunto finito de regras que provê uma sequencia de operações para resolver um tipo de problema específico, em um tempo determinado (Knuth, 1997). Sequência ordenada, e não ambígua, de passos que levam à solução de um dado problema (TREMBLAY) IMPORTANTE ENTENDER A SEQUÊNCIA LÓGICA
Algoritmos Seqüência de instruções, cuja execução resulta na realização de uma determinada tarefa. Exemplos: Receita de bolo Partitura de uma música Assistir um Filme Procedimentos para cálculo com operações fundamentais da aritmética Instruções para matrícula na faculdade Fazer um sanduíche.
Algoritmos Fazer um Sanduíche Instruções: 1. Pegar um pão 2. Cortar o pão ao meio 3. Pegar a maionese 4. Passar maionese nas fatias de pão 5. Pegar alface e tomate 6. Cortar alface e tomate 7. Colocar alface e tomate no pão 8. Pegar um hambúrguer 9. Fritar o hambúrguer 10. Colocar o hambúrguer no pão 11. Juntar as fatias do pão cortado
Algoritmos Exemplo: Assistir um Filme Instruções: 1. Insira a fita no video cassete; 2. Acionar a tecla rr para Rebobinar a fita; 3. Acionar a tecla Play; 4. O Filme irá começar...
Algoritmos Exemplo: Assistir um Filme Instruções: E se a fita estiver rebobinada? Gera um Problema! 1. Insira a fita no video cassete; 2. Acionar a tecla rr para Rebobinar a fita; 3. Acionar a tecla Play; 4. O Filme irá começar...
Algoritmos Geralmente, um problema possui algumas alternativas de soluções que chegam ao resultado correto, podendo existir vários algoritmos que solucionem um determinado problema.
Algoritmos Fases básicas da construção de algoritmos
Fases básicas - ENTRADA O que você identificou que vai precisar que o usuário ou alguém lhe informe? (via teclado, leitor de código de barras ou mouse). Ou seja, os valores de trabalho do algoritmo, o que precisa ser perguntado ao usuário. Escreva um programa que recebe 2 notas de aluno e calcula a média aritmética delas. Escreva um algoritmo para ler o preço e a quantidade de um produto e calcula o preço a pagar pelo mesmo. Escreva um algoritmo para calcular o salário líquido de um funcionário, a partir do número de horas trabalhadas e da quantidade de dependentes. Sabe-se que o valor da hora é de 12 reais, que se recebe 40 reais por cada dependente e que é descontado um total de imposto de 12% do valor do salário bruto (salário sem descontos).
Fases básicas - PROCESSAMENTO Que tipo de cálculos serão necessários para resolver o problema? Há alguma checagem a ser feita com os dados? Existe alguma decisão a ser tomada dentro do algoritmo? Existem operações de processamento que precisarão ser realizadas mais de uma vez? Ou seja, o que é preciso fazer para que o algoritmo gere as saídas esperadas?
Fases básicas - SAÍDA Quais os resultados que necessitarão ser apresentados aos usuários? O que deve ser impresso pelo algoritmo na tela/monitor do computador? Geralmente, essa parte vem expressa no enunciado do problema, é o que o problema pede.
Componentes Unidade de Entrada Conjunto de componentes que podem ser conectados ao computador para permitir a comunicação com o mundo real para coleta de dados relevantes aos problemas que o mesmo possa estar inserido; Teclado, Mouse, Leitor de Código de Barras, etc...
Componentes Unidade de Saída Componentes eletrônicos que podem ser conectados ao computador para permitir a comunicação dele com o mundo real. Impressora, Monitor, etc...
Processamento Procedimentos utilizados para chegar ao resultado final. Componente eletrônico que executa a instrução corrente e determina qual a próxima instrução a ser executada, sendo também chamado de CPU (Central Processing Unit) ou UCP (Unidade Central de Processamento);
Elementos Memória Principal Ram, usadas em processamento. Dispositivo que consisti em uma seqüência finita de unidades de armazenamento identificadas por um endereço único, descrito por um número inteiro não negativo e responsável pelo armazenamento de programas e dados que serão manipulados pelo computador; Memória Secundária HD
Representação de Algoritmos Descrição Narrativa Fluxograma Linguagem Algorítmica ou Pseudocódigo
Descrição Narrativa Tomar Banho: 1. Entrar no banheiro e tirar a roupa; 2. Abrir a torneira do chuveiro; 3. Entrar na água; 4. Ensaboar-se; 5. Sair da água; 6. Fechar a torneira; 7. Enxugar-se; 8. Vestir-se.
Descrição Narrativa Calcular a média de um aluno 1. Obter as suas 2 notas de provas do aluno; 2. Calcular a média aritimética das notas; 3. Se a média for maior que 6, mostrar na tela uma mensagem dizendo que o aluno foi aprovado, senão mostrar uma mensagem que foi reprovado.
Representação Fluxograma
Representação de Algoritmos Pseudocódigo
Lógica É a ciência que estuda as leis do raciocínio; é a correção/validação do pensamento; é o encadeamento, ordenação de idéias; é a arte de pensar.
Lógica de Programação Encadeamento lógico de instruções para o desenvolvimento de programas.
Linguagem de Programação conjunto de ferramentas, regras de sintaxe e símbolos ou códigos que nos permitem escrever programas de computador.
Linguagens de Programação
Linguagens de Programação - TIOBE
Linguagens de Programação - TIOBE
Exemplo de Instruções em diversas Linguagens Pascal Pyton Java PHP Lua writeln( Oi ); Print Oi System.out.println( Oi ); echo Oi ; print( Oi );
Linguagem de Máquina Linguagem na qual o computador entende as instruções. (Números Binários 0 e 1).
Linguagem de Montagem Assembly Language Números substitídos por símbolos ou palavras (Tabela ASCII) 0100001 = A
Linguagem de Alto Nível Algo mais próximo do entendimento do ser humano. Exemplo: Pascal, Delphi, PHP, Java, Pyton...
Lógica de Programação Objetivo: Resolução de Problemas A média de três notas de um Aluno: Nota 1 = 7 Nota 2 = 5,5 Nota 3 = 8 Média =?
Lógica de Programação Instruções: 1. Determine a quantidade de números; 2. Some os números dados; 3. Divida esta soma pela quantidade de números.
Lógica de Programação Resultado em um Algoritmo: 1. N = 3; 2. Soma = Nota1 + Nota2 + Nota3; 3. Resultado = Soma N
Lógica de Programação Objetivo: Resolução de Problemas Quem tem a maior média: Pedro: Nota 1 = 7, Nota 2 = 5,5 Nota 3 = 8 Maria: Nota 1 = 3, Nota 2 = 10, Nota 3 = 7,5 Quem tem melhor Média =?
Lógica de Programação Instruções: 1. Determine a quantidade de notas; 2. Somar as notas de cada estudante; 3. Dividir esta soma pela quantidade de notas; 4. Comparar qual deles tem a maior média.
Lógica de Programação Resultado em um Algoritmo: 1. N = 3; 2. SomaMaria = Nota1 + Nota2 + Nota3; 3. SomaPedro = Nota1 + Nota2 + Nota3; 4. ResultadoPedro = SomaPedro N; 5. ResultadoMaria= SomaMaria N; 6. Se ResultadoPedro > ResultadoMaria Entao Pedro tem melhor média se não Maria tem melhor média ;
Lógica de Programação Algoritmo Resolver expressões aritméticas que envolvam operações de multiplicação, divisão, soma e subtração; Realizar comparação entre valores; Repetir a execução de um conjunto de instruções até uma quantidade fixada de vezes ou condição atingida; Atribuir valor a uma variável; Substituir o valor de uma variável por outro valor; Fornecer o valor de uma variável ou emitir uma mensagem.
Resolver o Problema
Regras O camponês deseja atravessar o rio, mas ele tem que ser cuidadoso para que o lobo não coma a ovelha e para que a ovelha não coma o couve. (Só pode um de cada vez).
Resolver o Problema
Regras 1 - Somente o pai, a mãe e o policial sabem pilotar o barco 2 - A mãe não pode ficar sozinha com os filhos 3 - O pai não pode ficar sozinho com as filhas 4 - O prisioneiro não pode ficar sozinho com nenhum integrante da família 5 - O barco só pode transportar 2 pessoas por vez 6 - Você pode ir e vir com as pessoas quantas vezes precisar