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

Documentos relacionados
Lógica de Programação. Profas. Simone Campos Camargo e Janete Ferreira Biazotto

Algoritmo e Pseudo-código

Carlos de Salles Soares Neto Segundas e Quartas, 17h40 às 19h10

Algoritmos e Programação : Conceitos e estruturas básicas. Hudson Victoria Diniz

2. ALGORITMOS. Unesp Campus de Guaratinguetá

Universidade Federal de Uberlândia Faculdade de Computação. Conceitos básicos de algoritmos

Conteúdo programático

Algoritmos APRENDENDO A PROGRAMAR COM C#

Unidade 1: O Computador

Estruturas de Repetição

Expressões Lógicas e Aritméticas. Professora Kátia Adriana Alves Leite de Barros katia.barros@pitagoras.com.br

Fundamentos de Programação. Diagrama de blocos

2) Escreva um algoritmo que leia um conjunto de 10 notas, armazene-as em uma variável composta chamada NOTA e calcule e imprima a sua média.

ISS Eletrônico. Formato de Arquivos para Transmissão de Documentos Declarados através do aplicativo OFFLINE. Extensão do Arquivo JUNHO2006.

Orientação a Objetos

Fundamentos de Sistemas Operacionais

PROGRAMAÇÃO DE COMPUTADORES

Algoritmo e Programação

2 Segmentação de imagens e Componentes conexas

Arquitecturas de Software Enunciado de Projecto

Calculando seno(x)/x com o interpretador Hall.

INF1005: Programação I. Algoritmos e Pseudocódigo

Gerenciador de Ambiente Laboratorial - GAL Manual do Usuário Módulo Controle de Qualidade Analítico

Para entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real:

Álgebra Linear Aplicada à Compressão de Imagens. Universidade de Lisboa Instituto Superior Técnico. Mestrado em Engenharia Aeroespacial

FUNDAÇÃO EDUCACIONAL DE ANDRADINA NOME DO(S) AUTOR(ES) EM ORDEM ALFABÉTICA TÍTULO DO TRABALHO: SUBTÍTULO DO TRABALHO, SE HOUVER

ADMINISTRAÇÃO DE BANCOS DE DADOS MÓDULO 8

Algoritmos e Programação de Computadores

SIPAC Sistema Integrado de Patrimônio, Administração e Contratos MÓDULO ORÇAMENTO

Modelo Comportamental

BC-0505 Processamento da Informação

10. CPU (Central Processor Unit) Conjunto das instruções Estrutura interna Formato das instruções...

Banco de Dados I. Prof. Edson Thizon

Prof. Daniela Barreiro Claro

Experiência 04: Comandos para testes e identificação do computador na rede.

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Programação de Computadores - I. Profª Beatriz Profº Israel

Resolução de problemas e desenvolvimento de algoritmos

ARQUITETURA DE COMPUTADORES. Professor: Clayton Rodrigues da Siva

tipo e tamanho e com os "mesmos" elementos do vetor A, ou seja, B[i] = A[i].

Aula 5. Uma partícula evolui na reta. A trajetória é uma função que dá a sua posição em função do tempo:

Flávia Rodrigues. Silves, 26 de Abril de 2010

Roteiro... Sistemas Distribuídos Aula 4. Troca de mensagens. Comunicação entre processos. Conceitos de SD, vantagens e desvantagens

Comandos de Eletropneumática Exercícios Comentados para Elaboração, Montagem e Ensaios

UNIVERSIDADE DO TOCANTINS TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PRÁTICA EM PROGRAMAÇÃO DE SISTEMAS

ENG1000 Introdução à Engenharia

com Utilização do Código de Barras VERSÃO 04

LEUCOTRON EQUIPAMENTOS LTDA ROTEIRO DE INTERLIGAÇÃO SIP ACTIVE IP COM REGISTRO

Algoritmo. Linguagem natural: o Ambígua o Imprecisa o Incompleta. Pseudocódigo: o Portugol (livro texto) o Visualg (linguagem) Fluxograma

SUMÁRIO PARTE I - INTRODUÇÃO... 8

Aula 11: Desvios e Laços

Manual do Desenvolvedor Geração de Tokens

Processamento de Dados aplicado à Geociências. AULA 1: Introdução à Arquitetura de Computadores

Manual de Programação TED1000 versão TC100 Ethernet

Sistemas Numéricos. Tiago Alves de Oliveira

MDS II Aula 04. Concepção Requisitos Diagrama de Casos de Uso (Use Cases)

Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C. Exercícios: Structs

Fundamentos de Bancos de Dados 3 a Prova Caderno de Questões

AULA 1 INTRODUÇÃO A BANCO DE DADOS E VISÃO GERAL DO SQL CONCEITUANDO BANCO DE DADOS MODELO RELACIONAL

1 Visão Geral. 2 Instalação e Primeira Utilização. Manual de Instalação do Gold Pedido

GIL, Antonio Carlos. Como elaborar projetos de pesquisa. São Paulo, Editora Atlas,

Algoritmos. Cláudio Barbosa

PROGRAMAÇÃO DE COMPUTADORES (Teoria)

Informática I. Aula Aula 19-20/06/06 1

Programação de Computadores I. Linguagem C Função

Módulo e-rede Magento v1.0. Manual de. Instalação do Módulo. estamos todos ligados

ANEXO III. Roteiro para Apresentação de Projetos do Tipo C R$ ,00 a R$ ,00

1.2 OPERAÇÕES BÁSICAS EM ALGORITMOS E PROGRAMAS 18

Introdução ao. Script. Baltazar Tavares (Psycho Mantys)

Drone2Map: o software que transforma imagens de drones em mapas 2D e 3D

Inteligência Artificial

COBRANÇA BANCÁRIA CAIXA

MÓDULO 2 Topologias de Redes

VII SENABOM TEMA: O REGISTRO ELETRÔNICO DE EVENTOS (RE) Apresentado por: Ten Cel BM Flávio Rocha - CBMERJ

Até o momento, vimos que a estrutura de um computador segue uma seqüência: ENTRADA => PROCESSAMENTO => SAÍDA

NOVA VERSÃO SAFE DOC MANUAL

DOCUMENTO DE REQUISITO DE SOFTWARE

SISTEMAS DISTRIBUÍDOS

Módulo de Equações do Segundo Grau. Equações do Segundo Grau: Resultados Básicos. Nono Ano

ENGENHARIA DE SOFTWARE

Curso de Formação de Oficiais Conhecimentos Específicos ENGENHARIA DE COMPUTAÇÃO CADERNO DE QUESTÕES

SISTEMAS OPERACIONAIS. 3ª. Lista de Exercícios

4 Sistema Computacional:

Redes de Computadores

MANUAL DO CLIENTE FINAL ALTERAÇÕES BÁSICAS NO PRODUTO SITE ACESSANDO O PAINEL _ 1 EDITANDO TEXTOS _ 2 TROCANDO IMAGENS 4 INSERINDO VIDEOS 7

e Autorizador Odontológico

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

Introdução à orientação a objetos

Programação Orientada a Objetos SANTOS, Rafael

FACULDADE MULTIVIX CURSO DE ENGENHARIA DE PRODUÇÃO 2º PERÍODO MARIANA DE OLIVEIRA BERGAMIN MONIQUE MATIELLO GOMES THANIELE ALMEIDA ALVES

MARINHA DO BRASIL COMANDO DO CONTROLE NAVAL DO TRÁFEGO MARÍTIMO GUIA RÁPIDO PARA MANUSEIO DO SISTEMA CRIPTOGRÁFICO ÁTRIA

Configuração para Uso do Tablet no GigaChef e Outros Dispositivos

Algoritmos. Prof. Jonatas Bastos

Capítulo 1. Importação de Dados de Instituições Financeiras - Arquivo TXT 3

SISTEMA ISS - CURITIBA LIVRO ELETRÔNICO

Gerenciamento do Escopo do Projeto (PMBoK 5ª ed.)

Prova de Fundamentos de Bancos de Dados 1 a Prova

Transcrição:

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

CONCEITO DE ALGORITMO O computador pode auxiliar em muitas tarefas, contudo ele não possui independência, não é inteligente, portanto necessita receber instruções. A finalidade de um computador é receber, manipular e armazenar dados. Mais ele só consegue realizar essas tarefas por meio de um algoritmo ou programa de computador.

CONCEITO DE ALGORITMO Algoritmo é uma sequência finita de instruções ou operações cuja execução, em tempo finito, resolve um problema computacional, qualquer que seja sua instância. (SALVETTI, 1999). Ação é um acontecimento que, a partir de um estado inicial, após um período de tempo finito, produz um estado final previsível e bem definido. Portanto, um algoritmo é a descrição de um conjunto de comandos que, obedecidos, resultam numa sucessão finita de ações. (FARRER, 1999).

CONCEITO DE ALGORITMO/PROGRAMA/SISTEMA Algoritmos + Programas + Sistema (software) Um algoritmo é um pequeno grupo de instruções passadas para o computador. Programar é basicamente construir vários algoritmos. Construir Sistemas (Software) é a junção de vários programas.

CONCEITO DE LINGUAGEM DE PROGRAMAÇÃO Para que o computador compreenda e execute um algoritmo, programa ou sistema, deve-se escrevê-lo usando uma linguagem que tanto o computador quanto o criador de software entendam. Essa linguagem é chamada de linguagem de programação. Exemplo: Pascal, C, Java, Php, etc.

PROCESSAMENTO DE DADOS...a partir de um estado inicial, após um período de tempo finito, produz um estado final previsível e bem definido... (FARRER, 1999).

SEQUÊNCIA LÓGICA DAS INSTRUÇÕES Para se construir um algoritmo, é necessário ter lógica apurada, de forma que se possa definir uma sequência lógica das instruções (comandos) a serem passadas para o computador atingir o objetivo (solucionar o problema). Na vida quotidiana, os algoritmos são encontrados frequentemente. Exemplos: tomar banho, tomar café, almoçar, trocar um pneu, fazer um bolo, atender um celular, entre outros. Vejamos alguns exemplos detalhadamente...

EXEMPLO DE ALGORITMO Algoritmo 1: Somar 3 números Passo 1 - Receber os três números Passo 2 - Somar os três números Passo 3 - Mostrar o resultado obtido

EXEMPLO DE ALGORITMO Algoritmo 2: Fazer um sanduíche Passo 1 - Pegar o pão Passo 2 - Cortar o pão ao meio Passo 3 - Pegar a maionese Passo 4 - Passar a maionese no pão Passo 5 - Pegar e cortar alface e tomate Passo 6 - Colocar alface e tomate no pão Passo 7 - Pegar o hambúrguer Passo 8 - Fritar o hambúrguer Passo 9 - Colocar o hambúrguer no pão

EXEMPLO DE ALGORITMO Algoritmo 3: Realizar compra num supermercado Passo 1 - Faça a lista de compra e vá ao supermercado Passo 2 - Entre no supermercado Passo 3 - Pegue o carrinho de compra Passo 4 - Pegue os produtos da lista de compra Passo 5 - Passe os produtos junto ao caixa e pague Passo 6 - Volte para casa Passo 7 Guarde as compras

ETAPAS DO DESENVOLVIMENTO ANÁLISE: onde o enunciado do problema será estudado para a definição dos dados de entrada, do processamento e saída. ALGORITMO: onde ferramentas do tipo descrição narrativa, fluxograma ou pseudocódigo (portugol ou português estruturado) são utilizadas para descrever o problema com suas soluções; CODIFICAÇÃO: onde o algoritmo é transformado em códigos da linguagem de programação escolhida.

PARA SE CONSTRUIR, NECESSÁRIO SE FAZ Ler atentamente o enunciado, destacando os pontos mais importantes. Definir os dados de entrada, ou seja, quais dados serão fornecidos. definir o processamento, ou seja, quais cálculos serão efetuados. Definir os dados de saída, ou seja, quais dados serão gerados depois do processamento. Construir o algoritmo utilizando os tipos descritos no slide anterior. Testar o algoritmo realizando simulações.

FERRAMENTA 1 DESCRIÇÃO NARRATIVA Descrição Narrativa: A descrição narrativa consiste em analisar o enunciado do problema e escrever, utilizando uma linguagem natural, por exemplo, a língua portuguesa, os passos a serem seguidos para a resolução do problema. Vantagem: não é necessário aprender nenhum conceito novo, pois uma linguagem natural, neste ponto, já é bem conhecida.

FERRAMENTA 2 - FLUXOGRAMA Fluxograma: O fluxograma consiste em analisar o enunciado do problema e escrever, utilizando símbolos pré-definidos, os passos a serem seguidos para a resolução do problema. Vantagem: o entendimento de elementos gráficos é mais fácil do 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 sua transcrição para um programa.

FERRAMENTA 2 - FLUXOGRAMA

FERRAMENTA 3 PSEUDOCÓDIGO Pseudocódigo: consiste em analisar o enunciado do problema e escrever, utilizando regras pré-definidas, os passos a serem seguidos para a resolução do problema. Vantagem: a passagem do algoritmo para qualquer linguagem de programação é quase imediata, bastando conhecer as palavras reservadas da linguagem de programação que será utilizada. Desvantagem: é necessário aprender as regras do pseudocódigo, que serão apresentadas posteriormente.

EXEMPLO - DESCRIÇÃO NARRATIVA Faça um algoritmo que mostre o resultado da multiplicação de dois números. Passo 1 Receber os dois números que serão multiplicados Passo 2 Multiplicar os números Passo 3 Mostrar o resultado obtido na multiplicação

EXEMPLO - FLUXOGRAMA Faça um algoritmo que mostre o resultado da multiplicação de dois números.

EXEMPLO - PSEUDOCÓDIGO Faça um algoritmo que mostre o resultado da multiplicação de dois números. ALGORITMO DECLARE n1, n2, m NUMÉRICO ESCREVA Digite dois números LEIA n1, n2 m n1 * n2 ESCREVA Multiplicação =, m FIM_ALGORITMO.

CONCEITO DE VARIÁVEL Um ALGORITMO recebe dados, que são armazenados na memória do computador. Desta forma, uma variável representa uma posição de memória, possuindo nome e tipo. Quando queremos buscar algum dado na memória basta sabermos o nome da variável que o computador irá buscá-lo automaticamente.

CONCEITO DE TIPOS DE DADOS Quando uma variável é definida é necessário saber que TIPO são os dados que ela armazenará. São eles: Numérico: dividem-se em inteiros e reais. Os números inteiros podem ser positivos ou negativos e NÃO possuem parte decimal. Exemplos: -23; 98; 0; 1350. Os números reais podem ser positivos ou negativos e POSSUEM parte decimal. Exemplos: -23.50; 98.37; 0.29; 1350.45.

CONCEITO DE TIPOS DE DADOS Lógico: São também chamados dados booleanos (por causa da álgebra de Boole) e podem assumir apenas duas possibilidades de representação, os valores VERDADEIRO ou FALSO. Literal ou Caractere : São dados formados por um único caractere ou por uma cadeia de caracteres. Estes caracteres podem ser as letras maiúsculas, minúsculas, números (não podem ser usados para cálculos) e os caracteres especiais (&, #, @,?, +, etc). Exemplos: F ; s ; unipar ; rua das flores.

REGRAS PARA IDENTIFICADORES (VARIÁVEL) Só pode conter letras (maiúsculas ou minúsculas), números e o caractere sublinhado. o primeiro caractere deve ser sempre letra ou o caractere sublinhado. não são permitidos espaços em branco e caracteres especiais. não podemos usar as palavras reservadas, ou seja, palavras que pertencem a uma linguagem de programação. Deve dizer respeito ao que será armazenado dentro dela.

REGRAS PARA IDENTIFICADORES (VARIÁVEL) Exemplos de identificadores Válidos: A _a nota NOTA X5 A32 Inválidos: 5b começa por número e 12 contém espaço em branco x-y contém caractere especial - If por ser palavra reservada

ESTRUTURA SEQUENCIAL EM ALGORITMOS Escopo ALGORITMO DECLARE INICIO bloco de comandos FIM.

DECLARAÇÃO DE VARIÁVEIS EM ALGORITMOS As variáveis são declaradas após a palavra DECLARE e os tipos mais utilizados são: NÚMERICO, LITERAL e LÓGICO. DECLARE idade NÚMERICO sexo LITERAL teste LÓGICO

COMANDO DE ATRIBUIÇÃO EM ALGORITMOS O comando de atribuição é utilizado para atribuir valores ou operações a variáveis, sendo representado pelos símbolo x 4 y y + 2 z joão teste falso

COMANDO DE ENTRADA EM ALGORITMOS O comando de entrada é utilizado para receber dados digitados pelo usuário. Os dados recebidos são armazenados em variáveis. Este comando é representado pela palavra LEIA. EXEMPLO: LEIA nota LEIA nome

COMANDO DE SAÍDA EM ALGORITMOS O comando de saída é utilizado para mostrar dados na tela, na impressora ou outros. Este comando é representado pela palavra ESCREVA e os dados podem ser conteúdo de variáveis ou mensagens. EXEMPLO: ESCREVA idade ESCREVA Entre com o seu nome ESCREVA Eu tenho, idade, anos