Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
* * Curso : Análise e desenvolvimento de Sistemas ALGORITMOS - CCT0001 Profª. Marília S. Mendes mariliamendes@gmail.com * * SOBRE A PROFESSORA Formação Experiências com programação * * SOBRE O CURSO Objetivos Gerais: Solucionar problemas do mundo real fazendo uso das ferramentas de lógica e de algoritmos computacionais. Ler e escrever soluções algorítmicas por meio do desenvolvimento de algoritmos e da prática em computador, utilizando o raciocínio lógico. * * SOBRE O CURSO Objetivos específicos: Desenvolver algoritmos objetivos e eficientes utilizando de fluxogramas (diagramas de blocos). Propor solução de problemas computacionais utilizando de Lógica Computacional. Aplicar pseudocódigo (portugol) no desenvolvimento da análise estruturada de uma aplicação. Identificar os paradigmas da Lógica Computacional. Classificar variáveis e explicar suas aplicações. * * EMENDA Fundamentos de Lógica para a Solução de Problemas Estrutura Sequencial Estrutura de Decisão Estrutura de Repetição Linguagem de Programação Estrutura de Dados Homogênea * * METODOLOGIA Aulas expositivo-dialogadas. Fornecer os componentes teóricos e conceituais. Aulas práticas ministradas em laboratório. Experimentação e fixação dos conteúdos. DevC++. * * BIBLIOGRAFIA Básica. ASCENCIO, A.F.G.; CAMPOS, E.A.V. Fundamentos da programação de computadores. 2ª ed. Pearson Prentice Hall. OK SCHILDT, H. C completo e total. Pearson Prentice Hall, 2006. OK Complementar. CARBONI, I.F. Lógica de programação. Thomson. CORMEN, T.H. et al. Algoritmos, teoria e prática. Campus, 2002. OK * * SOBRE VOCÊS O segredo para se sair bem na disciplina: Tirem suas dúvidas (pergunte na sala ou por e-mail); Façam os exercícios; Participem; Não faltem (se faltou, checar aula ou material) Mais importante: exercitem, exercitem!! * * SOBRE AVALIAÇÕES Aprovação: Média igual ou superior a 6.0 (seis); 75% de presença; Notas igual ou superior a 4.0 (quatro) Composição da Nota Provas Listas de exercícios Participação nas aulas * * EXTRAS Listas de exercícios Até 1,0 De acordo com as questões: feitas e corretas; De acordo com a honestidade do aluno. Participação nas aulas Até 1,0 Ir no quadro, resolver um exercício; SE acertar. * * INTRODUÇÃO Computador: É uma máquina capaz de possibilitar variados tipos de tratamento automático de informações ou processamento de dados. O que deve ser feito para que um determinado tratamento automático de informações ocorra? Deve-se instruir o computador para que o mesmo utilizando-se de sua estrutura execute determinada tarefa. Como? Software (programas) * * INTRODUÇÃO Nosso objetivo: Aprender conceitos básicos para desenvolver programas para computadores. Exemplos: sistemas bancários, sistemas de restaurantes, cálculos avançados entre outros. Roteiro para desenvolver programas: Problema -> Solução -> Algoritmo -> Programa -> Resultado * * Ciência que estuda as leis do raciocínio. Correção/validação do pensamento. Encadeamento/ordem de ideias. Arte de bem pensar. O que é LÓGICA ? * * O que é algoritmo ? Sequencia lógica de instruções finitas e ordenadas de forma lógica para a resolução de uma determinada tarefa ou problema. * * CARACTERÍSTICAS BÁSICAS DE UM ALGORITMO : Sequencia lógica: As instruções devem ser definidas em uma ordem correta. Não ambígua: A sequencia lógica e as instruções não devem dar margem à dupla interpretação. Solução de um problema: A sequencia lógica deve resolver exatamente (nem mais e nem menos) o problema identificado. Tempo finito: A sequencia lógica não deve possuir iterações infinitas. * * ALGORITMO E PROGRAMAÇÃO Algoritmo: Conjunto de regras e operações bem definidas e ordenadas, destinadas à solução de um problema, ou de uma classe de problemas, em um número finito de etapas -> Representação de uma solução para um problema. Programa: Sequencia completa de instruções a serem executadas por um computador -> De acordo com um algoritmo. * * ALGORITMO E PROGRAMAÇÃO O algoritmo, do ponto de vista computacional, tem um papel fundamental por ser o elo de ligação entre dois mundos (real e computacional). A atividade de programação começa com a construção do algoritmo * * ALGORITMO E PROGRAMAÇÃO Exemplo de algoritmo: * * ALGORITMO E PROGRAMAÇÃO Exemplo de algoritmo: * * EXERCÍCIOS Elabore os passos necessários para mostrar o resultado da multiplicação de dois números; Elabore os passos necessários para mostrar o resultado da divisão de dois números; Elabore os passos necessários para calcular a média aritmética entre duas notas de um aluno e para mostrar a situação deste aluno, que pode ser aprovado ou reprovado; Elabore os passos necessários para calcular o novo salário de um funcionário. Sabe-se que os funcionários que possuem salário atual até R$ 500,00 terão um aumento de 20%. Os demais terão aumento de 10%. * * MÉTODOS PARA A CONSTRUÇÃO DE ALGORITMOS Ler atentamente o enunciado, destacando os pontos mais importantes; Definir os dados de entrada, ou seja, os dados que serão fornecidos; Definir o processamento, ou seja, quais os cálculos serão efetuados; Definir os dados de saída, ou seja, quais os dados serão gerados após o processamento; Construir o algoritmo utilizando os tipos descritos; Testar o algoritmo realizando simulações. * * TIPOS DE ALGORITMOS : DIAGRAMA DE CHAPIN (Diagrama de nassi-shneiderman) Diagrama com visão hierárquica e estruturada. DESCRIÇÃO NARRATIVA: Linguagem natural para especificar os passos de uma tarefa FLUXOGRAMA (DIAGRAMA DE BLOCOS) Representação gráfica dos passos de um tarefa PSEUDOCÓDIGO (Português estruturado) Analisar o enunciado do problema e escrever, por meio de regras predefinidas, os passos a serem seguidos na resolução do problema. * * DIAGRAMA DE CHAPIN (Diagrama de nassi-shneiderman) Diagrama de Chapin para o algoritmo do cálculo da média de um aluno * * DESCRIÇÃO NARRATIVA * * MÉTODOS DE REPRESENTAÇÃO DE ALGORITMOS Fluxograma. Representação gráfica por meio de símbolos geométricos, da solução algorítmica de um problema. * * Conector Conector de páginas Seta de orientação do fluxo Vídeo / Saída Decisão Preparação Terminal Processamento Teclado / Entrada FLUXOGRAMA * * EXERCÍCIOS Faça um fluxograma para mostrar o resultado da multiplicação de dois números; Faça um fluxograma para mostrar o resultado da divisão de dois números; Faça um fluxograma para calcular a média aritmética entre duas notas de um aluno e para mostrar a situação deste aluno, que pode ser aprovado ou reprovado; Faça um fluxograma para calcular o novo salário de um funcionário. Sabe-se que os funcionários que possuem salário atual até R$ 500,00 terão um aumento de 20%. Os demais terão aumento de 10%. * * FLUXOGRAMA Algoritmo para mostrar o resultado da multiplicação de dois números * * FLUXOGRAMA * * EXERCÍCIOS Faça um algoritmo em fluxograma que faça o calculo do IMC (Índice de Massa Corporal). O algoritmo deve receber o peso e a altura do individuo, calcular o IMC e: Se IMC = 25, informar que o IMC está ideal Se IMC < 25, informar que o IMC está abaixo do ideal Se IMC > 25, informar que o IMC está acima do ideal Faça um fluxograma que leia a temperatura em graus Celsius e converta para graus Fahrenheit, onde, F = ( 9 C / 5 ) + 32. Faça um fluxograma para calcular o volume de uma esfera sendo fornecido o valor de seu RAIO, onde, Volume = (4/3).¶.R³ * * MÉTODOS DE REPRESENTAÇÃO DE ALGORITMOS Resumindo. Escrever algoritmos e, por fim, programar, consiste em dividir qualquer problema em vários passos menores, usando uma ou mais formas de representação. Esses passos que compõem o algoritmo são denominados de comandos. * * * * * * * * * * * * O processamento é responsável pela transformação dos dados de entrada nos dados de saída. * * Vantagem: entendimento de elementos gráficos é mais fácil que o entendimento de textos. Desvantagem: é necessário aprender a simbologia dos fluxogramas e, além disso, o algoritmo resultante não apresenta muitos detalhes, dificultando a transcrição para um programa. * Terminal: Representa o início e o final do fluxograma; Processamento: Representa a execução de operações ou ações como cálculos aritméticos, atribuição de valores a variáveis, abertura e fechamento de arquivos, entre outras; Teclado: Representa a entrada de dados para as variáveis por meio do teclado; Vídeo: representa a saída de informações (dados ou mensagens) por meio do monitor de vídeo ou outro dispositivo visual de saída de dados. Decisão: representa uma ação lógica que resultará na escolha de uma das sequencias de instruções, ou seja, se o teste lógico apresentar o resultado “verdadeiro”, realizará uma sequencia e, se o teste lógico apresentar o resultado “falso”, realizará outra sequencia; Preparação: representa uma ação de preparação para o processamento, ou seja, um processamento pré-definido; Conector: utilizado para interligar partes do fluxograma ou para desviar o fluxo corrente para um determinado trecho do fluxograma; Conector de páginas: utilizado para interligar partes do fluxograma em páginas distintas Seta de orientação do fluxo: A sequencia do fluxograma pode ser desenvolvida horizontalmente ou verticalmente. * *
Compartilhar