Logica programação

  • Published on
    29-Jun-2015

  • View
    420

  • Download
    3

Embed Size (px)

Transcript

<ul><li> 1. AlgoritmosEnviado por: Jedean Carlos Bendlin</li></ul> <p> 2. Apostila de Lgica de Programao1 3. PLANO DE ENSINO 1 SEMESTREEMENTA Introduo a Algoritmos, Portugus Estruturado, Variveis e Operadores Matemticos e Lgicos, Estrutura de um programa de computador, Procedimentos e Funes, Tipos de dados. OBJETIVO GERAL Instruir os conceitos bsicos de algoritmos de programao, familiarizando os acadmicos com os recursos computacionais na resoluo de problemas reais. Com a utilizao de pseudocdigos ou portugus estruturado, aplicar tanto prtica como teoricamente, as estruturas bsicas de programao de computadores. A aplicao da ementa servir como manual introdutrio para as demais disciplinas que trataro de anlise e desenvolvimento de sistemas computacionais. OBJETIVOS ESPECFICOS Incentivar os acadmicos a raciocinarem logicamente na resoluo dos problemas propostos, utilizando, de forma adequada, os recursos da linguagem de programao. Propor aos acadmicos a tomada de iniciativa prpria, a criatividade e a pesquisa, itens indispensveis para o desenvolvimento e capacitao profissional na rea de sistemas de informao. CONTEDO PROGRAMTICO Contedo 1.INTRODUO Conceito Tipos de algoritmos Descrio geral dos algoritmos 2. LGICA DE PROGRAMAO Formas de representao grfica Princpios de resoluo de problemas Tipos de variveis Uso de Constantes Frmulas matemticas Instrues bsicas 3. TOMADAS DE DECISO Desvio condicional simples Desvio condicional composto Desvio condicional encadeados Prtica com Linguagem Pascal 4.LAOS DE REPETIO Looping com teste lgico no incio Looping com teste lgico no fim Looping com varivel de controle Prtica com Linguagem Pascal 5. MATRIZES Matrizes de uma dimenso ou vetores Buscas e ordenao Matrizes com mais de uma dimenso Prtica com Linguagem PascalC.H. 810182016METODOLOGIA DE ENSINO2 4. O mtodo de ensino prope problemas com a finalidade de desafiar o estudante a utilizar conhecimentos j adquiridos em busca de uma adaptao a uma situao nova. A interveno do professor no sentido de pequenas ajudas, devoluo de questes, evidenciar falhas e preparar para novas estratgias. As situaes didticas devem favorecer o compartilhamento do conhecimento, a discusso e a ao por parte dos estudantes. Tambm sero utilizados exemplos prticos e concretos em problemas diversos. ATIVIDADES DISCENTES Os alunos devem desenvolver atividades relacionadas ao contedo que simulam situaes reais no desenvolvimento de sistemas orientados a objetos. Fazer a anlise de softwares utilizados em empresas com intuito de criar idias e as por em prtica. Desenvolver pesquisas bibliogrficas e on-line. Desenvolver solues para problemas apresentados em aula, utilizando conhecimentos adquiridos. PROCEDIMENTOS DE AVALIAO Avaliaes Bimestrais - As avaliaes sero de forma contnua pela participao dos alunos nas atividades de classe, com peso de 30% da nota integral. Trabalhos feitos no laboratrio e atividades extra classe, individualmente ou em grupo de estudos, com peso de 10% da nota integral. Uma prova bimestral para reconhecimento da fixao do contedo, com valor de 60% da nota integral. BIBLIOGRAFIA BSICA FORBELLONE, A. L. V. ; EBERSPACHER, H. F. Lgica de programao. 2.ed. So Paulo: Makron Books, 2000. 3ex. MANZANO, J.A.N.G. ; YAMATUMI, W. Y. Estudo dirigido de algoritmos. So Paulo:rica, 1997. 3ex. LOPES, Anita; GARCIA, Guto. Introduo a Programao 500 algoritmos resolvidos. Rio de Janeiro: Campus, 2002. 3ex WOOD, S. Turbo pascal: guia do usurio. So Paulo: Mcgraw-Hill do Brasil, 1987. 1ex. BIBLIOGRAFIA COMPLEMENTAR GOODRICH, M. ; TAMASSIA R. Estruturas de Dados e Algoritmos em Java. So Paulo: Bookman, 2002. 6ex. BEZERRA, Eduardo. Princpios de Anlise e Projeto de Sistemas Com UML. Rio de Janeiro: Campus, 2003. 6ex. WORTMAN, L. A. Programando em turbo pascal:com aplicaes. Rio de Janeiro: Campus, 1988. 1ex. LAURA, Lemay. Aprenda em 21 dias Java 2. So Paulo: Campus, 2003. 3 ex. SANTOS, Rafael. Introduo Programao Orientada a Objetos Usando Java. So Paulo: Campus, 2003. 3ex. NIEMEYER, Patrick. Aprendento Java. So Paulo: Campus, 2000. 3ex3 5. PLANO DE ENSINO 2 SEMESTREEMENTA Lgica de programao avanada incluindo sub-rotinas, registros, eficincia e correo. Anlise de algoritmos de programao estruturados. Aplicao em uma linguagem de programao. OBJETIVO GERAL Desenvolver ao aluno habilidades tcnicas necessrias ao conhecimento de teorias para composio de programas. CONTEDO PROGRAMTICO Contedo 1. Estruturas de dados Matrizes unidimensionais e multidimensionais Registros Matrizes de registros e registros de matrizes Armazenamento permanente de dados utilizando arquivos 2. Modularizao de programas Procedimentos e funes Passagem de parmetros Units Exerccios de programao 3. Anlise de Algoritmos Busca Mtodos de Ordenao 4. Utilizao de Arquivos e Noes de ndicesC.H. 3026812METODOLOGIA DE ENSINO O mtodo de ensino baseado na Teoria das Situaes de Guy Brousseau (1996. Recherches en Didactique des Mathmatiques, vol.9, n.3) em que problemas so propostos com a finalidade de desafiar o estudante a utilizar conhecimentos j adquiridos em busca de uma adaptao a uma situao nova. A interveno do professor no sentido de pequenas ajudas, devoluo de questes, evidenciar falhas e preparar para novas estratgias. As situaes didticas devem favorecer o compartilhamento do conhecimento, a discusso e a ao por parte dos estudantes. Tambm sero utilizados materiais concretos em problemas diversos, proporcionando uma mudana de contrato didtico. ATIVIDADES DISCENTES Os alunos devem desenvolver atividades relacionadas ao contedo que simulam situaes reais no desenvolvimento de sistemas orientados a objetos. Fazer a anlise de softwares utilizados em empresas com intuito de criar idias e as por em prtica. Desenvolver pesquisas bibliogrficas e on-line. Desenvolver solues para problemas apresentados em aula, utilizando conhecimentos adquiridos. PROCEDIMENTOS DE AVALIAO Avaliaes Bimestrais - As avaliaes sero de forma contnua pela participao dos alunos nas atividades de classe, com peso de 30% da nota integral. Trabalhos feitos4 6. no laboratrio e atividades extra classe, individualmente ou em grupo de estudos, com peso de 10% da nota integral. Uma prova bimestral para reconhecimento da fixao do contedo, com valor de 60% da nota integral. BIBLIOGRAFIA BSICA DEITEL, H. M. Java Como Programar 4 ed, Porto Alegre: Bookman, 2003. 6ex. LOPES, Anita GARCIA Guto. Introduo a Programao- 500 algoritmos resolvidos. Rio de Janeiro: Campus, 2002. BIBLIOGRAFIA COMPLEMENTAR LAURA, Lemay. Aprenda em 21 dias Java 2. So Paulo: Campus, 2003. 3 ex. SANTOS, Rafael. Introduo Programao Orientada a Objetos Usando Java. So Paulo: Campus, 2003. 3ex. NIEMEYER, Patrick. Aprendento Java. So Paulo: Campus, 2000. 3ex5 7. 1 IntroduoConceito de algoritmo um processo de clculo matemtico ou de resoluo de um grupo de problemas semelhantes, em que se estipulam, com generalidade e sem restries. Podemos dizer tambm, que so regras formais para obteno de um resultado ou da soluo de um problema, englobando frmulas de expresses aritmticas. A tcnica mais importante no projeto da lgica de programas chamada programao estruturada, a qual consiste em uma metodologia de projeto, objetivando: Agilizar a codificao da escrita da programao; Permitir a verificao de possveis falhas apresentadas pelos programas; Facilitar as alteraes e atualizaes dos programas.6 8. 2 Lgica de ProgramaoFormas de representao grfica So vrios os smbolos utilizados na programao estruturadas, a seguir, uma relao das simbologias mais utilizadas:Terminal: indica o incio ou o fim de um programa Conector: serve para a unio dos fluxos de informaesEntrada: indica a entrada de informaes passadas pelo usurio, seja por scaner, teclado, mouse ou qualquer dispositivo de entradaProcessamento: utilizado para fazer clculos e atribuio de valoresSada: indica a sada de informaes processadas para o usurio por qualquer dispositivo de sada como monitor, impressora, etc.Condio: indica a diviso do fluxo por uma determinada condio. Seta de fluxo de informaes: indica o caminho que o processamento pode tomar.Princpios de resoluo de problemas Para desenvolver um diagrama correto, devemos levar como procedimentos prioritrios, os itens a seguir: 1 Os diagramas de blocos devem ser feitos e quebrados em vrios nveis. Os primeiros devem conter apenas as idias gerais, deixando para as etapas posteriores os detalhamentos necessrios; 2 Para o desenvolvimento correto de um diagrama de bloco, sempre que possvel deve ser feito de cima para baixo e da esquerda para a direita; 3 incorreto ocorrer cruzamento das linhas de fluxo de dados de um diagrama de bloco. 4 Transcrever o diagrama de bloco em pseudolinguagem Tomemos como exemplo uma escola qualquer, onde o clculo da mdia 7 9. realizado por quatro notas bimestrais que determinam a aprovao ou reprovao dos seus alunos. Considere ainda, que o valor da mdia deve ser maior ou igual a 7 para que haja aprovao. A primeira etapa se inicia e termina com um terminador e existe apenas um processamento que indica a idia geral do problema:inc ioCalcular a mdia e determinar a aprovaofimO segundo detalhamento est no que se refere a entrada e sada dos dados do problema:incioEnt rada com 4 notasCalcular a mdia e determinar a apro vaoApresentar se houver ou no apro vaofimA terceira etapa consiste em trabalhar o termo determinar a aprovao. Para ser possvel determinar algo necessrio estabalecer uma condio. Esta condio decide sobre o resultado da aprovao:8 10. incioEnt rada com 4 notasCalcular a mdiaSN Mdia&gt;=7" rep rovado""apr ovado"fimEsta terceira etapa deve ser aperfeioada para trabalhar com variveis.incioler N1,N2,N3,N4 Calc ular M=N1+N2+N3+N4 4SN M&gt;=7"rep rovado""aprovado"fimA Quarta fase consiste em escrever o diagrama de bloco de forma narrativa denominada pseudocdigo.9 11. Programa mdia Var Resultado : caractere N1,n2,n3,n4,soma,media : real Inicio Leia(n1,n2,n3,n4) Soma3).ou.(cb).ou.(c=2) (x=d) (d5) .no.(d&gt;3).ou..no.(bb).ou..no.(c&gt;b) 2 Efetuar a leitura de dois valores e apresent-los em ordem crescente.14 16. Desvio condicional encadeados Sintaxe : SE ENTO SE ENTO SENAO FIM_SE SENAO SE ENTO SENAO FIM_SE FIM_SE Exemplo : Ler 4 notas escolares de um aluno. Se o a mdia do aluno for maior ou igual a 7 apresentar a mdia e uma mensagem dizendo que foi aprovado, senao, efetuar a leitura da nota do exame, somar mdia e dividir por dois, se a mdia for maior ou igual a 5 apresentar a mdia e uma mensagem dizendo que est aprovado, senao apresentar uma mensagem que est reprovado. Exerccios: 1 Elaborar um programa que efetue o clculo do reajuste de salrio de um funcionrio. Considere que o funcionrio dever receber um reajuste de 15% caso seu salario seja menor que 500. Se o salario for maior ou igual a 500 mas nmenor ou igual a 1000, seu reajuste ser de 10%, e caso seja ainda maior que 1000, o reajuste dever ser de 5%. ler um valor para o salario verificar se o valor de salario &lt; 500; se sim, reajustar em 15% verificar se o valor de salario 1000; se sim, reajustar em 5% apresentar o valor reajustado. 2 Efetuar a leitura de trs valores (a,b,c) apresent-los em ordem crescente. 3 Efetuar a leitura de trs valores (a,b,c) e efetuar o clculo da equao de segundo grau, apresentando as duas razes, se para os valores informados for possvel efetuar o referido clculo. 4 Ler dois valores numricos e apresentar a diferena do maior para o menor. 5 Efetuar a leitura de um nmero inteiro positivo ou negativo e apresent-lo como sendo positivo. 6 Efetuar a leitura de 4 numeros inteiros e apresentar os que so divisiveis por 2 ou 3.15 17. 4 Laos de RepetioLooping com teste lgico no incio Este tipo de estrutura efetua um teste lgico no incio do looping, verificando se permitido executar o trecho de intrues subordinado a este looping. Esta estrutura conhecida como: enquanto, atravs do conjunto de instrues ENQUANTO...FAA...FIM_ENQUANTO. Esta estrutura, tem o seu funcionamento controlado por deciso, podendo executar um determinado conjunto de instrues enquanto a condio verificada for verdadeira. No momento em que esta condio se torna falsa o processamento da rotina desviado para fora do looping. SINTAXE ENQUANTO FAA FIM_ENQUANTO Exemplo: Considere o problema: Pedir a leitura de um valor para a varivel x, multiplicar este valor por 3, implicando-o varivel de resposta R e apresentar o valor R obtido, repetindo esta seqncia por 5 vezes. Passos: criar uma varivel para servir como contador com valor inicial 1; enquanto o valor do contador for &lt; ou = a 5, processar os passos 3,4 e 5; Ler um valor para a varivel X; Efetuar a multiplicao do valor de x por 3, implicar o resultado em r; apresentar o valor calculado contido na varivel R; Acrescentar +1 varivel contador; Quando contador for maior que 5, encerrar o processamento do looping. Sujesto: fazer o mesmo exerccio enquanto o usurio desejar. Exerccio de aprendizagem Elaborar o algoritmo de um programa que efetue o calculo da fatorial do nmero 5. Fatorial o produto9 dos nmeros naturais desde 1 at o interiro n. Sendo assim o clculo de um fatorial conseguido pela multiplicao sucessiva do nmero de termos. Exemplo: CONTADOR 1 2 3 4 5FATORIAL 1 1 2 6 24RESULTADO 1 2 6 24 120Logo vemos que o fatorial de 5 120. 16 18. PROGRAMA FATORIAL VAR contador, resultado: INTEIRO; INICIO Resultado</p>