O que é Lógica de Programação? Lógica é uma técnica que permite definir uma seqüência de instruções. O que são Instruções? Instruções é um conjunto de regras ou normas definidas para a realização ou emprego de algo. Em informática, indica a ação a ser executada no computador. Para que serve ou é usada a Lógica de Programação: A lógica de programação serve para nos dar uma seqüência no raciocínio. É necessária para pessoas que desejam trabalhar com o desenvolvimento de sistemas e programas. O que são Algoritmos? É a descrição dos passos necessários para a resolução de um problema Seqüência finita de passos que se corretamente seguidos, nos levam a resultados previsíveis. Ex: Receita de Bolo. As formas mais conhecidas de algoritmos são: Fluxograma – representação gráfica de algoritmos. Descrição narrativa – expressa o algoritmo em linguagem natural. Portugol (linguagem estruturada) – algoritmos que muito se assemelha a forma na qual os programas são escritos nas linguagens de programação (Pascal, Cobol, Basic, dBASE, etc...). Algoritmos são independentes das linguagens de programação. Ao contrário de uma linguagem de programação não existe um formalismo rígido de como deve ser escrito o algoritmo. Exemplos de Algoritmo: “Chupar uma bala”. · Pegar a bala · Retirar o papel · Chupar a bala · Jogar o papel no lixo “Somar dois números quaisquer”. · Escreva o primeiro número A · Escreva o segundo número B · Some o número A com número B o resultado e C. Exercícios: Crie uma seqüência lógica para tomar banho: 1- Tirar a roupa. 2- Abrir o boxes. 3- Abrir o chuveiro. 4- Fechar o boxes. 5- Entrar em baixo do chuveiro. 6- Pegar o sabonete. 7- Passar o sabonete pelo corpo. 1) Exercícios: 6- Entrar em baixo do chuveiro para tirar o sabonete do corpo. 7- Desligar o chuveiro. 8- Pegar a toalha para se secar. 9- Abrir a porta do boxes. 10- Vestir a roupa. 11- Fechar a porta do boxes. 12- Pendurar a toalha. Exercícios: 2) Faça um algoritmo para somar dois números e multiplicar o resultado pelo primeiro número. 1- Escreva o primeiro número A 2- Escreva o segundo número B 3- Some o número A com número B o resultado e C. 4- Multiplique o número C pelo número A. Exercícios: 3)Descreva com detalhes a seqüência lógica para Trocar um pneu de um carro. 1 – Estacionar o carro no acostamento; 2 – Desligar o carro; 3 – Ligar a pisca alerta; 4 – Retirar o cinto de segurança; 5 – Abrir a porta; 6 – Colocar as pernas para fora do carro; 7 – Sair do veículo; 8 – Abrir o porta malas; Exercícios: 9 – Pegar o triângulo de sinalização; 10 – Montar o triângulo; 11 – Colocar o triângulo no asfalto para fazer a sinalização; 12 – Retirar o macaco do porta malas; 13 – Colocar o macaco ao lado do carro; 14 – Retirar o estepe do porta malas; 15 – Colocar o estepe ao lado do carro; 16 – Colocar o macaco sob o carro; 17 – Girar a manivela para levantar o carro; Exercícios: 18 – Pegar a chave; 19 – Retirar os parafusos; 20 – Retirar o pneu; 21 – Colocar o estepe; 22 – Parafusar o estepe; 23 – Girar a manivela do macaco ao contrario; 24 – Colocar o pneu no porta malas; 25 – Colocar o macaco no porta malas; Exercícios: 26 – Guardar o triângulo; 27 – Fechar o porta malas; 28 – Abrir a porta do carro; 29 – Sentar no banco; 30 – Colocar as pernas para dentro; 31 – Colocar o cinto de segurança; 32 – Ligar o carro; 33 – Continuar a viagem; Algoritmo na computação. Servem para a elaboração do programa fonte Serve para sairmos do problema e chegarmos ao programa Fases de um Algoritmo: Precisamos primeiro dividir o problema apresentado em três fases fundamentais. 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. Exemplo: Imagine o seguinte problema: Calcular a média final dos alunos da 3ª Série. Os alunos realizarão quatro provas: P1, P2, P3 e P4. Para montar o algoritmo proposto, faremos três perguntas: a) Quais são os dados de entrada? R: Os dados de entrada são P1, P2, P3 e P4 b) Qual será o processamento a ser utilizado? R: O procedimento será somar todos os dados de entrada e dividi-los por 4 (quatro) c) Quais serão os dados de saída? R: O dado de saída será a média final Algoritmo: Receba a nota da prova1 Receba a nota de prova2 Receba a nota de prova3 Receba a nota da prova4 Some todas as notas e divida o resultado por 4 Mostre o resultado da divisão Após desenvolver um algoritmo ele deverá sempre ser testado. Este teste é chamado de TESTE DE MESA, que significa, seguir as instruções do algoritmo de maneira precisa para verificar se o procedimento utilizado está correto ou não. Veja o exemplo: Nota da Prova 1 Nota da Prova 2 Nota da Prova 3 Nota da Prova 4 Utilize a tabela abaixo: P1 P2 P3 P4 Média EXERCÍCIOS: 1) Identifique os dados de entrada, processamento e saída no algoritmo abaixo: · Receba código da peça Entrada · Receba valor da peça · Receba Quantidade de peças · Calcule o valor total da peça Processamento (Quantidade * Valor da peça) · Mostre o código da peça Saída 2) Faça um algoritmo para “Calcular o estoque médio de uma peça”, sendo que ESTOQUEMÉDIO = (QUANTIDADE MÍNIMA + QUANTIDADE MÁXIMA) /2 3) Teste o algoritmo anterior com dados definidos por você. Linguagens 1. 2. 3. 4. 5. de Programação: Pascal Java Visual Basic Delphi C Linguagem 1. 2. 3. 4. 5. para Web: PHP ASP Java Java Script Ajax Operadores: Os operadores são meios pelo qual incrementamos, decrementamos, comparamos e avaliamos dados dentro do computador. Temos três tipos de operadores: · Operadores Aritméticos · Operadores Relacionais · Operadores Lógicos Pag.45 Operadores Aritméticos: Hierarquia das Operações Aritméticas: 1 º ( ) Parênteses 2 º Exponenciação 3 º Multiplicação, divisão (o que aparecer primeiro) 4 º + ou – (o que aparecer primeiro) Operadores Relacionais: Operadores Especiais: (mod/div) Mod:Retorna o resto de uma divisão. Div:Retorna o resultado da divisão. Operadores Lógicos: E / AND: Uma expressão AND (E) é verdadeira se todas as condições forem Verdadeiras. OR/OU: Uma expressão OR (OU) é verdadeira se pelo menos uma condição for verdadeira. NOT :Um expressão NOT (NÃO) inverte o valor da expressão ou condição, se verdadeira inverte para falsa e viceversa. Tabela da Verdade: Exemplo: Funções: São (sub-algoritmos) que são usado para retornar um valor ou uma informação. Para chamar uma função colocamos o seu nome e seu parâmetros. Funções Predefinidas: Funções Predefinidas: Constantes, Variáveis e Tipos de Dados: Variáveis: Uma variável é um espaço reservado na memória do computador para armazenar um tipo de dado determinado. Pag.41 Variáveis devem receber nomes para poderem ser referenciadas e modificadas quando necessário. Um programa deve conter declarações que especificam de que tipo. As variáveis só podem armazenar valores de um mesmo tipo. Variáveis de Entrada e Saída: Entrada: Usa informações fornecidas por um meio externo, usuário ou disco. Saída: Dados processados como resultados. Constantes: São endereços de memória com valor fixo que não se modifica ao longo do tempo, durante a execução de um programa. Tipos de Dados: As variáveis e as constantes podem ser basicamente de quatro tipos: Numéricas, caracteres,Alfanuméricas ou lógicas. Numéricas: Específico para armazenamento de números, que posteriormente poderão ser utilizados para cálculos. Podem ser ainda classificadas como Inteiras ou Reais. As variáveis do tipo Inteiro são para armazenamento de números inteiros, Reais são para o armazenamento de números que possuam casas Caracteres: Específico para armazenamento de conjunto de caracteres que não contenham números (literais). Ex: nomes. Lógicas : Armazenam somente dados lógicos que podem ser Verdadeiro ou Falso. Alfanuméricas: Específico para dados que contenham letras e/ou números. Pode em determinados momentos conter somente dados numéricos ou somente literais. Se usado somente para armazenamento de números, não poderá ser utilizada para operações matemáticas. Comandos basicos: Atribuição de Valor: <Leitura de dados: LEIA(VAR) Escrever na tela: ESCREVA (“texto”) ou ESCREVA(“Resultado:”, soma) Onde soma é a variavel. Corpo de um Programa: Programa <<nome_do_programa>>; CONST <<variável>>=<<dado>> VAR <<variáveis>>: <<tipo_dado>>; INICIO { comandos de entrada, processamento e saída. <<comandos>>; } FIM. Estrutura do Algoritmo:(VisuAlg) algoritmo "semnome" // Função : // Autor : // Data : // Seção de Declarações var inicio // Seção de Comandos fimalgoritmo Exemplo: algoritmo "programa1" // Função : Primeiro Programa de Lógica // Autor : Marcelo Hugo // Data : 04/08/2009 // Seção de Declarações var a:caractere inicio // Seção de Comandos escreva("Boa Tarde") fimalgoritmo Exemplos da apostila: Media Final: algoritmo "Media_final" // Função : Calcular a Média Final de 4 Notas // Autor : // Data : 04/08/2009 // Seção de Declarações var n1, n2, n3, n4, media: real nome:caractere inicio // Seção de Comandos escreva("+++++++++++++++++++++++++++++ +++++++") escreva("Digite seu nome: ") leia(Nome) escreva("+++++++++++++++++++++++++++++ +++++++") escreva(" Nota 1: ") leia(n1) escreva("Nota 2: ") leia(n2) escreva("Nota 3: ") leia(n3) escreva("Nota 4: ") leia(n4) media:=(n1+n2+n3+n4)/4 escreva("+++++++++++++++++++++++++++++ +++++++") escreva("Aluno: ",nome," Média Final: ",media) escreva("+++++++++++++++++++++++++++++ +++++++") fimalgoritmo Area da Circunferencia: algoritmo "Area_Circulo" // Função : // Autor : // Data : 04/8/2009 // Seção de Declarações var //Raio= raio do circulo //Area= valor a ser calculado //P= valor de Pi = 3,1416 raio, area, p: real inicio // Seção de Comandos escreva(" Digite o Raio do Circulo: ") leia(raio) area:= p*sqr(raio) escreva("A area do círculo é: ",area) fimalgoritmo Estrutura de Decisão: Os comandos serão executados dependendo do resultado do teste. Se: (if) simples: Se<condição> então <comando> Composto1: Se<condição> então <comando> Senão <comando1> Composto2: Se<condição> então <comando> Senão se <condição> então <comando> senão <comando> Faça: Faca caso Caso <condição> <comando> Caso <condiçãoN> <comando1> Outros caso <comando> Fimcaso Estrutura de repetição: Simples: para <variável> de <valor-inicial> ate <valor-limite> [passo <incremento>] faca <seqüência-de-comandos> fimpara Composta: para <variável> de <valor-inicial> ate <valor-limite> [passo <incremento>] faca inicio <seqüência-de-comandos> <seqüência-de-comandosN> fim fimpara FIM DA PRIMEIRA AULA E-mail: [email protected] Site: Danilocesaralves.wordpress.com Agradecimentos Muito Obrigado a todos! Em especial: Coordenador de Curso: Eugenio Netto Coordenadora de Marília: Simone Professores: Barbara, Glauber, Marcelo, Enio, Eduardo Diretor da Unidade de Marília: Caio Gerente da Unidade de Marília: Priscila