Buscar

Aula 1 - Fundamentos de Algoritmos

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.
*
*

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando