Algoritmos e Programação

Documentos relacionados
Algoritmos e Programação

CURSO de NIVELAMENTO INTRODUÇÃO À PROGRAMAÇÃO

Processamento de Dados aplicado à Geociências. AULA 3: Algoritmos computacionais Representação de Algoritmos Sintaxe Tipos de dados Expressões

Sumário. Ciência da Computação. Prof. Dr. Leandro Alves Neves. Aula 06. Algoritmos e Programação. Informática II. q Noções de lógica

Ciência da Computação. Prof. Dr. Leandro Alves Neves Prof. Dr. Adriano Cansian

01/08/2011. Introdução Lógica Sequencia lógica Instruções Algoritmos Programas. Lógica. Lógica na programação. Instrução.

ALGORITMO: FASE 1 PARTE 1

INTRODUÇÃO À PROGRAMAÇÃO

Algoritmos e Programação de Computadores Disciplina:

ALGORITMOS. O que é Algoritmo? Algoritmo é um dos processo para criação

Conceitos Básicos ENTRADA PROCESSAMENTO SAÍDA

ALGORITMOS AULA 1. Profª Amanda Gondim

Introdução a algoritmos. Prof.: Jesus

Algoritmos e Técnicas. Lógica de Programação. É a técnica de encadear pensamento para atingir determinado objetivo.

Introdução à Programação. Ceça Moraes

Conceitos e Representação de Algoritmos

Aula Bibliografia - Definições - Operadores - Criação de um algoritmo - Exercícios. Algoritmo e Programação. Prof.

Introdução à Algoritmos. Professora: Fabíola Gonçalves.

PPM CONTEÚDO. Lógica de programação Programação para manufatura Sistemas supervisorios PROGRAMAÇÃO PARA MANUFATURA 05/03/2009

Linguagem Computacional. Algoritmos e Programação Parte 1. Prof. Dr. Adriano Cansian Prof. Dr. Leandro Alves Neves. Sumário

INFORMÁTICA APLICADA AULA 02 ALGORITMOS

Unidade 1 Conceitos básicos

Introdução à Computação

É neste ponto que entra o conceito de lógica de programação.

Algoritmos e Técnicas de programação. Professora: Luciana Faria

ALGORITMOS CONCEITOS PRELIMINARES. Prof. Angelo Augusto Frozza, M.Sc.

Linguagem Computacional. Algoritmos e Programação Parte 1. Prof. Dr. Adriano Cansian Prof. Dr. Leandro Alves Neves. Sumário

INTRODUÇÃO A LÓGICA DE PROGRAMAÇÃO

Sintática: como é escrito cada elemento da linguagem de programação.

#Conceituação. Algoritmos. Eliezio Soares

Algoritmos e Programação

Lógica de Programação. Capítulo 1. Introdução. Lógica de Programação. Forbellone / Eberspacher. Introdução

Algoritmos e Linguagem de Programação I

Formas de representar um algoritmo

Introdução ao Conceito de Algoritmo e Programação Estruturada

Aula I Introdução à Lógica de Programação

1. ALGORITMOS. São vários os conceitos para algoritmo. Escolhemos alguns para serem apresentados aqui:

ALGORITMOS E PROGRAMAÇÃO

Aula 4B. Lógica e Algoritmos. Profª. Fabiany

19/1/2011. ALGORITMO Resolvendo Problemas. ALGORITMOS E PROGRAMAÇÃO Desenvolvimento de Aplicativos Comerciais. ALGORITMO - Definição

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi

Estrutura de Dados Algoritmos

Curso Superior de Análise e Desenvolvimento de Sistemas. Disciplina: : Algoritmo 2009 / 1

Algoritmos Lógica e Programação Prof. Me. Adelson Felipe Dias Nogueira

Fundamentos de Lógica e Algoritmos Aula 2.5 Conceitos Básicos de Algoritmos. Prof. Dr. Bruno Moreno

Algoritmos. Laura Goulart. 11 de Dezembro de 2018 UESB. Laura Goulart (UESB) Algoritmos 11 de Dezembro de / 12

Desenvolvimento de Algoritmos. RAD 2119 Tecnologia de Informação Aplicada a Administração. Essa aula. Lógica e Pensamento Lógico. Lógica.

Programação de Computadores III

Lógica de Programação Lógica, Conceitos; Fluxo de Controle

Fundamentos de Lógica e Algoritmos. Aula 2.3 Introdução a Algoritmos. Prof. Dr. Bruno Moreno

Algoritmos e Técnicas de Programação Introdução Givanaldo Rocha de Souza

Aula 3: Algoritmos: Formalização e Construção

Algoritmos e Técnicas de Programação

Unidade 2: Algoritmos e programação

CONCEITO DE ALGORITMO

Programação Básica de Computadores

Introdução à Programação. Prof. Gustavo Callou

Programação de Computadores I Introdução PROFESSORA CINTIA CAETANO

Técnicas de Programação

Algoritmos e Programação

Como representar um algoritmo?

Introdução à Ciência da Computação ICC0001 Prof. Diego Buchinger

Capítulo 1 - Lógica e Algoritmos

Algoritmos e Programação

Disciplina de Algoritmos e Programação

Introdução a Programação

Linguagem de Programação I Prof. Tiago Eugenio de Melo.

AULA 02. OBJETIVO: Desenvolvimento e solução de Algoritmos. LÓGICA DE PROGRAMAÇÃO

Algoritmos e Estrutura de Dados I Conceitos de Algoritmos. Prof. Elyssandro Piffer

INTRODUÇÃO À PROGRAMAÇÃO. Introdução à Algoritmos. Prof. Me. Sérgio Carlos Portari Júnior

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO. ANÁLISE E DESENVOLVIMENTO DE SISTEMAS/PARANGABA PROF. MS. RONNISON REGES VIDAL Ceará, 01 de fevereiro de 2017

Programação em C. Victor Amorim dos Santos

Ivanovitch Medeiros Dantas da Silva. Natal, 01 de setembro de 2011

Introdução a Lógica de Programação

A única diferença entre o difícil e o impossível é que o último demora um pouco mais de tempo para ser alcançado..

Algoritmos e Programação

Algoritmos e Programação. Noções de Lógica e Algoritmos Tarcio Carvalho

GFM015 Introdução à Computação. Algoritmos. Ilmério Reis da Silva UFU/FACOM

Lógica de Programação I

SSC304 Introdução à Programação Para Engenharias

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO

Funcionamento do computador. Conceito e definição de algoritmos. Prof. Alex Camargo

Curso: Análise e Desenvolvimento de Sistemas. (Conceitos Práticos de Lógica de Programação)

Algoritmo. pegar uma escada; posicionar embaixo da lâmpada; buscar uma lâmpada nova; ligar o interruptor; se a lâmpada não acender, então:

Prof. Paulo Villa Aula 1

Capítulo 2 Introdução à Programação

LÓGICA DE PROGRAMAÇÃO 1

Computação I: Representações de Algoritmos

Noções de algoritmos - Aula 1

Introdução à Programação. slides de Deise Sacol

Unidade III LÓGICA. Profª. Adriane Paulieli Colossetti

Aula 08 Introdução à Algoritmos. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Introdução a Computação

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3

LO GICA E TE CNICA DE PROGRAMAC ÃO. TÁSSIO JOSÉ GONÇALVES GOMES

LÓGICA DE PROGRAMAÇÃO INTRODUÇÃO À PROGRAMAÇÃO DE COMPUTADORES

Lógica de Programação

Programação de Computadores:

Introdução a Computação

Transcrição:

Universidade Federal do Pampa Campus-Bagé Algoritmos e Programação Aula 1 Apresentação da Disciplina Conceitos Introdutórios Prof. Julio Saraçol juliodomingues@unipampa.edu.br Slide1

APRESENTAÇÃO DA DISCIPLINA Slide2

Atividades Plano de Ensino Conteúdos da disciplina, definição das datas, critérios de avaliação e bibliografia Moodle: Senha: alg-2016 Qualquer dúvida: juliodomingues@unipampa.edu.br Segunda-feira (Teórica) (Prof. Julio e Prof. Sandro) Slide3

Cronograma Data Aula Conteúdo abordado 08/08/16 1 Apresentação da disciplina e do Plano de Ensino. Funcionamento do computador. Conceito e definição de algoritmos 15/08/16 2 Tipos de valores. Conceito e comportamento de variável. Operadores. Atribuições. Comandos de entrada e saída. 22/08/16 3 Resolução de Algoritmos 29/08/16 4 Estruturas de condição. 05/09/16 5 Estruturas de repetição - PARA FAÇA. 12/09/16 6 Estruturas de repetição - ENQUANTO FAÇA, REPITA ATÉ. 19/09/16 FERIADO 26/09/16 7 Estruturas de repetição - ENQUANTO FAÇA, REPITA ATÉ. 03/10/16 8 Duvidas / Avaliação 1 (A1). 10/10/16 9 Vetores 17/10/16 10 Matrizes 24/10/16 11 Vetores/Matrizes 31/10/16 12 Duvidas / Avaliação 2 (A2) 07/11/16 13 Subalgoritmos. Funções. Passagem de Parâmetros. 14/11/16 FERIADO 21/11/16 14 Subalgoritmos. Funções. Passagem de Parâmetros. 28/11/16 15 Resolução de Dúvidas / Avaliação 3 (A3) 05/12/16 16 Segunda chamada / Fechamento das Notas 12/12/16 17 Avaliação Recuperatória (AR) / Entrega das Notas Slide4

Avaliações 3 Provas Teóricas Sem Consulta Para ser aprovado: 75% de Frequência e Média >= 6.0 Avaliação Recuperatória = 12 média Slide5

INTRODUÇÃO A ALGORITMOS E PROGRAMAÇÃO Slide6

Algoritmo Matemática Descreve o processo de cálculo, ou de resolução de um grupo de problemas semelhantes, em que se estipulam, com generalidade e sem restrições, regras formais para a obtenção do resultado, ou da solução do problema Computação Descreve o conjunto pré-determinado e bem definido de regras e processos destinados à solução de um problema, com um número finito de etapas O conceito de programação está profundamente vinculado ao conceito de algoritmos Slide7

Lógica de Programação Técnica de desenvolver algoritmos (sequências lógicas) para atingir determinados objetivos dentro de certas regras baseadas na Lógica matemática Estes algoritmos depois são adaptados para a Linguagem de Programação utilizada pelo programador para construir seu software Slide8

Algoritmo Um algoritmo é uma sequência não ambígua de instruções que é executada até que determinada condição se verifique Mais especificamente, em matemática, constitui o conjunto de processos (e símbolos que os representam) para efetuar um cálculo Slide9

Algoritmo Utilizamos constantemente algoritmos em nosso cotidiano: Instruções para se utilizar um aparelho eletrodoméstico Uma receita para preparo de algum prato Guia de preenchimento para declaração do imposto de renda A regra para determinação de máximos e mínimos de funções por derivadas sucessivas A maneira como as contas de água, luz e telefone são calculadas mensalmente Slide10

Algoritmo Um algoritmo poderia ser grosseiramente comparado à uma receita culinária Uma receita é um programa de atividades que deve ser respeitada e cumprida passo-a-passo Caso um dos passos seja desconsiderado, a receita não dará certo Slide11

Algoritmo Eles podem repetir passos (fazer iterações) ou necessitar de decisões (tais como comparações ou lógica) até que a tarefa seja completada Um algoritmo não representa, necessariamente, um programa de computador, e sim os passos necessários para realizar um tarefa Diferentes algoritmos podem realizar a mesma tarefa usando um conjunto diferente de instruções em mais ou menos tempo, espaço ou esforço do que outros Slide12

Algoritmo Algoritmo não é a solução do problema, pois, se assim fosse, cada problema teria um único algoritmo Algoritmo é um caminho para a solução de um problema: Em geral, os caminhos que levam a uma solução são muitos Slide13

Algoritmo Para o desenvolvimento de um algoritmo eficiente, é necessário obedecermos algumas premissas básicas no momento de sua construção: Definir ações simples e sem ambiguidade Organizar as ações de forma ordenada Estabelecer as ações dentro de uma sequência finita de passos Slide14

Algoritmo Os algoritmos são capazes de realizar tarefas como: 1.Ler e escrever dados 2.Avaliar expressões algébricas, relacionais e lógicas 3.Tomar decisões com base nos resultados das expressões avaliadas 4.Repetir um conjunto de ações de acordo com uma condição Slide15

Por que precisamos de Algoritmos? A importância do algoritmo está no fato de termos que especificar uma sequência de passos lógicos para que o computador possa executar uma tarefa qualquer, pois o mesmo por si só não tem vontade própria, faz apenas o que mandamos. Com uma ferramenta algorítmica, podemos conceber uma solução para um dado problema, não dependendo de uma linguagem específica e até mesmo do próprio computador Slide16

Por que precisamos de Algoritmos? Abstração Todo esforço é concentrado na resolução do problema e não em detalhes computacionais que podem ser acrescentados posteriormente Portabilidade Uma solução algorítmica pode ser traduzida para qualquer linguagem de programação Slide17

Características Ser finito Não dar margem à dupla interpretação (não ambíguo) Capacidade de receber dado(s) de entrada do mundo exterior Poder gerar informações de saída para o mundo externo ao do ambiente do algoritmo Ser efetivo (todas as etapas especificadas no algoritmo devem ser alcançáveis em um tempo finito) Slide18

Representação de Algoritmos Existem diversas formas de representação de algoritmos, mas não há um consenso com relação à melhor delas Algumas formas de representação de algoritmos tratam dos problemas apenas em nível lógico, abstraindo-se de detalhes de implementação muitas vezes relacionados com alguma linguagem de programação específica Por outro lado, existem formas de representação de algoritmos que possuem uma maior riqueza de detalhes e muitas vezes acabam por obscurescer a ideia principal, o algoritmo, dificultando seu entendimento Slide19

Representação de Algoritmos Dentre as formas de representação de algoritmos mais conhecidas, sobressaltam: Descrição Narrativa Fluxograma Convencional Diagrama de Chapin Pseudocódigo, também conhecido como Português Estruturado ou Portugol Linguagem de Programação Slide20

Descrição Narrativa Nesta forma de representação os algoritmos são expressos diretamente em linguagem natural Exemplo Receita de Bolo: Providencie manteiga, ovos, 2 Kg de massa, etc Misture os ingredientes Despeje a mistura na fôrma de bolo Leve a fôrma ao forno Espere 20 minutos Retire a fôrma do forno Deixe esfriar Prove Slide21

Descrição Narrativa Desvantagens imprecisão pouca confiabilidade (a imprecisão acarreta a desconfiança) extensão (normalmente, escreve-se muito para dizer pouca coisa) Esta representação é pouco usada na prática porque o uso de linguagem natural muitas vezes dá oportunidade a más interpretações, ambiguidades e imprecisões Slide22

Descrição Narrativa Problema: Calcular a média final dos alunos. Os alunos realizarão quatro provas: P1, P2, P3 e P4, onde: MF = (P1 + P2 + P3 +P4) / 4 Algoritmo: 1. Receba a nota da prova1 2. Receba a nota de prova2 3. Receba a nota de prova3 4. Receba a nota da prova4 5. Some todas as notas e divida o resultado por 4 6. Mostre o resultado da divisão Slide23

Descrição Narrativa Algoritmo Trocar uma lâmpada queimada: 1. pegar uma escada 2. posicionar a escada debaixo da lâmpada 3. buscar uma lâmpada nova 4. subir na escada 5. retirar a lâmpada queimada 6. colocar lâmpada nova Slide24

Descrição Narrativa - Problemas O algoritmo não atingirá seu objetivo se a lâmpada nova estiver queimada. Para tal, acrescentamos um teste condicional (estrutura seletiva) pegar uma escada posicionar a escada debaixo da lâmpada buscar uma lâmpada nova subir na escada retirar a lâmpada queimada colocar lâmpada nova se a lâmpada nova não acender, então: retirar a lâmpada queimada colocar lâmpada nova se a lâmpada nova não acender, então: retirar a lâmpada queimada colocar a lâmpada nova se a lâmpada nova não acender, então: retirar a lâmpada queimada colocar a lâmpada nova... até quando???? Slide25

Descrição Narrativa - Problemas O algoritmo não atingirá seu objetivo se a lâmpada nova estiver queimada. Para tal, acrescentamos um teste condicional (estrutura seletiva) pegar uma escada posicionar a escada debaixo da lâmpada buscar uma lâmpada nova subir na escadapor isso é necessário retirar a lâmpada queimada colocar lâmpada nova utilizar algumas se a lâmpada nova não acender, então: retirar a lâmpada estruturas queimada próprias de colocar lâmpada nova se a lâmpada nova não acender, então: retirar a lâmpada queimada colocar a lâmpada nova se a lâmpada nova não acender, então: retirar a lâmpada queimada colocar a lâmpada nova... até quando???? algoritmos para facilitar a descrição Slide26

Descrição Narrativa Algoritmo Trocar uma lâmpada queimada com o uso de estruturas de repetição: 1. pegar uma escada 2. posicionar a escada debaixo da lâmpada 3. buscar uma lâmpada nova 4. subir na escada 5. retirar a lâmpada queimada 6. colocar lâmpada nova 7. enquanto lâmpada nova não acender, faça: 1. retirar a lâmpada queimada 2. colocar lâmpada nova Slide27

Descrição Narrativa Exercícios 1. Escreva uma sequência de passos (descrição narrativa) para tomar banho. 2. Escreva uma sequência de passos (descrição narrativa) para efetuar um saque em um caixa eletrônico. Slide28

Fluxograma É uma representação gráfica de algoritmos onde formas geométricas diferentes implicam ações distintas Objetivo: Facilitar o entendimento das ideias contidas nos algoritmos Slide29

Principais símbolos usados em Fluxogramas Slide30

Fluxograma Cálculo da média de um aluno: Obter as notas da primeira e da segunda prova Calcular a média aritmética entre as duas Se a média for maior ou igual a 7, o aluno foi aprovado, senão ele foi reprovado Slide31

Diagrama de Chapin Criado por Ned Chapin a partir de trabalhos de Nassi- Shneiderman, para substituição do fluxograma tradicional por um diagrama que apresenta uma visão hierárquica e estruturada da lógica do programa Representa as estruturas que tem um ponto de entrada e um ponto de saída e são compostas pelas estruturas básicas de controle de sequência, seleção e repetição Enquanto é difícil mostrar o embutimento e a recursividade com o fluxograma tradicional, torna-se mais simples mostrá-lo com o diagrama de Chapin, bem como codificá-lo futuramente em pseudocódigo Slide32

Diagrama de Chapin Slide33

Linguagem Algorítmica (pseudocódigo) Também conhecida como português estruturado ou portugol Bastante rico em detalhes e, por assemelhar-se bastante à forma em que os programas são escritos, encontra muita aceitação Representação suficientemente geral para permitir que a tradução de um algoritmo nela representado para uma linguagem de programação específica seja praticamente direta Slide34

Linguagem Algorítmica (pseudocódigo) Algoritmo <nome_do_algoritmo> <declaração_de_variáveis> <subalgoritmos> Início <corpo_do_algoritmo> Fim. Slide35

Linguagem Algorítmica Exemplo Algoritmo Media Var N1, N2, Media : real Início Leia N1, N2 Media = (N1+N2)/2 Se Media >= 7 Entao Escreva "Aprovado" Senao Escreva "Reprovado" Fim. Slide36

Linguagem Algorítmica Vantagens Independência física da solução (solução lógica apenas) Usa o português como base Pode-se definir quais e como os dados vão estar estruturados Passagem quase imediata do algoritmo para uma linguagem de programação qualquer Desvantagens Exige a definição de uma linguagem não real para trabalho Não padronizado Slide37

Algoritmo Recapitulando: Um Algoritmo é uma sequência de instruções ordenadas de forma lógica para a resolução de uma determinada tarefa ou problema Slide38

Construção de Algoritmos O que é Preciso (entrada) Como chegar ao que quero (Processamento) O que quero (saída) Ex: construir um algoritmo para fazer suco de laranja: Entrada: Processamento: Saída: - laranja - cortar a laranja - espremer a laranja - suco de laranja Slide39

Construção de Algoritmos O que é Preciso (entrada) Como chegar ao que quero (Processamento) O que quero (saída) Ex: Identificar dados de entrada, processamento e saída 1- receber código da peça 2- receber valor da peça 3- receber quantidade de peças 4- calcular valor total da peça = (quantidade*valor da peça) 5- mostrar o código da peça e seu valor total Slide40

Programa Um Programa é um Algoritmo escrito em uma Linguagem de Programação Slide41

Linguagens de Programação São Softwares que permitem o desenvolvimento de programas Possuem um poder de criação ilimitado, desde jogos, editores e texto, sistemas empresariais até sistemas operacionais Existem várias Linguagens de Programação, cada uma com suas características próprias Pascal, C, Visual Basic, Delphi, Fortran, Java, etc Slide42