Introdução aos Algoritmos

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

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

Conteúdo programático

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

Fundamentos de Programação. Diagrama de blocos

Algoritmo e Pseudo-código

2. ALGORITMOS. Unesp Campus de Guaratinguetá

Algoritmos APRENDENDO A PROGRAMAR COM C#

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

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

Revisão Diagrama de Caso de Uso. Rodolfo Adamshuk Silva 30/08/2013

O que é um banco de dados? Banco de Dados. Banco de dados

SISTEMAS DISTRIBUÍDOS

CRIAÇÃO DE TABELAS NO ACCESS. Criação de Tabelas no Access

Unidade 1: O Computador

Estruturas de Repetição

Orientação a Objetos

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

Redes de Computadores

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

Introdução à orientação a objetos

UNIVERSIDADE DO VALE DO RIO DOS SINOS - UNISINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS - CENTRO 06. Funções, variáveis, parâmetros formais

Fundamentos de Teste de Software

Aula 03. Processadores. Prof. Ricardo Palma

SISTEMAS OPERACIONAIS. 3ª. Lista de Exercícios

Hardware: Componentes Básicos. Sistema de Computador Pessoal. Anatomia de um Teclado. Estrutura do Computador. Arquitetura e Organização

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

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

2 Segmentação de imagens e Componentes conexas

APOSTILA DE INFORMÁTICA INTERNET E

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

Fundamentos de Sistemas Operacionais

MODELO SUGERIDO PARA PROJETO DE PESQUISA

Comandos de Desvio 1

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

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

BANCO DE DADOS I AULA 2. Willamys Araújo willamysaraujo7@gmail.com

COMO CRIAR UM PEDIDO DE COMPRAS

Banco de Dados I. Prof. Edson Thizon

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.

ENGENHARIA DE SOFTWARE

Algoritmos e Programação II

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

Universidade Estadual de Ponta Grossa PRÓ-REITORIA DE GRADUAÇÃO DIVISÃO DE ENSINO

Programação para Web HTML - Parte 2

Programação Orientada a Objetos SANTOS, Rafael

ÁREA DO PROFESSOR (TUTOR)

Objetivo do Portal da Gestão Escolar

Manual de instalação do Microsoft SQL Server 2008 R2 Express no Windows 10

DF-e Manager Manual de uso Manifestação do destinatário Setembro de 2015

Disciplina: Unidade III: Prof.: Período:

Disponibilizada a rotina Vale Presente (LOJA830) no módulo Controle de Lojas (SIGALOJA), assim como já é utilizada no módulo Front Loja (SIGAFRT).

Manual do Usuário (Firma Inspetora) Versão 1.8. CMCP - Controle da Marcação Compulsória de Produtos

MANUAL DO PUBLICADOR

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

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

Aula 11: Desvios e Laços

ARQUITETURA DE COMPUTADORES. Professor: Clayton Rodrigues da Siva

DK105 GROVE. Temperatura e Umidade. Radiuino

Sistema NetConta I - Guia de Referência Rápida

CONTEÚDOS PROGRAMÁTICOS

UNIVERSIDADE PAULISTA CURSOS

Manual do usuário Certificado Digital

Os salários de 15 áreas de TI nas cinco regiões do Brasil

Formas de Pagamento Resumida Vendas Vendedor Vendas Vendedor Resumido Vendas Vendedor Caixa Vendas por Artigos...

CATÁLOGO DE APLICAÇÕES Rateio CC Contas a Pagar

Engenharia de Software II

ENG1000 Introdução à Engenharia

SISTEMA CAÇA-TALENTOS MANUAL DE OPERAÇÃO PERFIL SECRETARIA

NOVA VERSÃO SAFE DOC MANUAL

PREFEITURA DO MUNICÍPIO DE PORTO VELHO SECRETARIA MUNICIPAL DE ADMINISTRAÇÃO SEMAD DEPARTAMENTO DE RECURSOS DA TECNOLOGIA DA INFORMAÇÃO DRTI

DOCUMENTO DE REQUISITO DE SOFTWARE

Apontamento técnico No. 5, Fevereiro de 2014 Como pedir apoio através do Ajuda Online do CAICC

Manual de Utilização. Ao acessar o endereço chegaremos a seguinte página de entrada: Tela de Abertura do Sistema

e Autorizador Odontológico

Inteligência Artificial

,QVWDODomR. Dê um duplo clique para abrir o Meu Computador. Dê um duplo clique para abrir o Painel de Controle. Para Adicionar ou Remover programas

Classificação de Ativo Orçamento e Provisão de Despesa

Modelagem de Sistemas Web. Metodologias para o desenvolvimento de sistemas web

UNIVERSIDADE FEDERAL DO VALE DO SÃO FRANCISCO UNIVASF SECRETARIA DE TECNOLOGIA DA INFORMAÇÃO STI DEPARTAMENTO DE SISTEMAS DE INFORMAÇÕES

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

Introdução à Programação de Computadores Parte I

Assessoria Técnica de Tecnologia da Informação - ATTI. Projeto de Informatização da. Secretaria Municipal de Saúde do. Município de São Paulo

Introdução à Programação. Funções e Procedimentos. Prof. José Honorato F. Nunes honoratonunes@gmail.com

Técnico em Radiologia. Prof.: Edson Wanderley

Sumário. CEAD - FACEL Manual do Aluno, 02

Dicas de Segurança sobre Virus

Introdução de XML. Dados da Web. Gerência de Dados da Web. A Web representa, nos dias de hoje, um repositório universal de dados, onde:

MANUAL HAE - WEB MANUAL WEB HAE

Sistema de Recuperação da Senha nos Sistemas Informáticos da FEUP

Sistemas Distribuídos

REGULAMENTO PARA SUBMISSÃO DE TRABALHOS CIENTÍFICOS CAPÍTULO I DA SUBMISSÃO DE TRABALHOS

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

Portal de Sistemas Integrados. Manual do Usuário. Versão: 1.0

Métricas de Software

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

Transcrição:

Introdução aos Algoritmos Aula 05 Diogo Pinheiro Fernandes Pedrosa http://www2.ufersa.edu.br/portal/professor/diogopedrosa diogopedrosa@ufersa.edu.br Universidade Federal Rural do Semiárido Bacharelado em Ciência e Tecnologia 21 de outubro de 2009

Introdução Em aulas anteriores... Conceito de computador Equipamento para realizar processamento de dados; Possui hardware e software; Software composto por programas! Toda tarefa de processamento de dados necessita de um programa (ou vários programas interligados); Todo programa é construído através de uma linguagem de programação.

Introdução Etapas para Desenvolvimento de Programas Análise: estuda o enuciado do problema e define os dados de entrada do programa, o processamento a ser realizado e os dados de saída; Algoritmo: consiste em ferramentas que auxiliam na descrição do problema com suas soluções; Codificação: o algoritmo é transformado em códigos da linguagem de programação escolhida para se trabalhar. Observação Um programa é a codificação de um algoritmo em uma linguagem de programação.

Conceito de Algoritmo Um algoritmo é a descrição de uma sequência de passos que deve ser seguida para a realização de uma tarefa. Exemplo: somar três números 1. Receber os três números; 2. Somar os três números; 3. Mostrar o resultado obtido.

Conceito de Algoritmo Exemplo: sacar dinheiro em caixa eletrônico 1. Ir até um caixa eletrônico; 2. Colocar o cartão; 3. Digitar a senha; 4. Solicitar a quantia desejada; 5. Se o saldo for maior ou igual à quantia desejada, sacar dinheiro; caso contrário, mostrar mensagem de impossibilidade de saque; 6. Retirar cartão; 7. Sair da agência.

Conceito de Algoritmo Observação Podem existir vários algoritmos para solucionar o mesmo problema.

Método para Construir Algoritmos Compreender o problema a ser resolvido; Definir os dados de entrada; Definir que tipo de processamento (cálculos) serão efetuados; Definir os dados de saída; Construir o algoritmo; Testar o algoritmo com simulações.

Tipos de Algoritmos Descrição Narrativa Consiste em analisar o enunciado do problema e escrever, utilizando uma linguagem natural, os passos a serem seguidos para sua resolução. Vantagem: não é necessário aprender nenhum conceito novo; Desvantagem: a ĺıngua natural abre espaço para várias interpretações, o que pode dificultar a transcrição do algoritmo para programa.

Tipos de Algoritmos Descrição Narrativa Exemplo Algoritmo para mostrar o resultado da multiplicação de dois números: 1. Receber os dois números que serão multiplicados. 2. Multiplicar os dois números. 3. Mostrar o resultado obtido na multiplicação.

Tipos de Algoritmo Fluxograma Consiste em analisar o enunciado do problema e escrever, utilizando símbolos gráficos pré-definidos, os passos a serem seguidos para sua resolução. Vantagem: uma vez que se tem o conhecimento dos símbolos, entender um algoritmo escrito em fluxograma é mais simples que entender um algoritmo narrativo; Desvantagem: é necessário aprender a simbologia dos fluxogramas.

Tipos de Algoritmo Fluxograma Símbolos gráficos: Simbolo utilizado para indicar inicio e fim do algoritmo Simbolo que permite indicar o sentido do fluxo de dados. Serve exclusivamente para conectar os simbolos ou blocos existentes Simbolo utilizado para indicar calculos e atribuicoes de valores Simbolo utilizado para representar a entrada de dados Simbolo utilizada para representar a saida de dados Simbolo utilizado para indicar que deve ser tomada uma decisão, apontando a possibilidade de desvios.

Tipos de Algoritmo Fluxograma Exemplo Algoritmo para mostrar o resultado da multiplicação de dois números: Inicio N1, N2 M = N1 x N2 M Fim

Tipos de Algoritmo Pseudocódigo Consiste em analisar o enunciado do problema e escrever, por meio de regras pré-definidas, os passos a serem seguidos para sua resolução. Vantagem: a passagem do algoritmo para qualquer linguagem de programação é quase imediata, basta conhecer os códigos da linguagem; Desvantagem: é necessário aprender as regras do pseudocódigo.

Tipos de Algoritmo Pseudocódigo Exemplo Algoritmo para mostrar o resultado da multiplicação de dois números: 1: INÍCIO ALGORITMO 2: DECLARE N1, N2, M NUMÉRICO 3: ESCREVA Digite dois números 4: LEIA N1, N2 5: M N1 * N2 6: ESCREVA Multiplicação =, M 7: FIM ALGORITMO

Conceito de Variável Um algoritmo e, posteriormente, um programa, recebem dados que precisam ser armazenados no computador e utilizados no processamento; O armazenamento é feito na memória; Uma variável representa uma área da memória que armazena um determinado dado; A variável deve possuir um nome e deve ser definido que tipo de dado ela pode armazenar; Uma variável pode ter seu valor alterado (por outro do mesmo tipo) a qualquer momento.

Nome das Variáveis Formação de Identificadores Os identificadores são os nomes utilizados para as variáveis nos algoritmos e programas. As regras básicas para a formação dos identificadores são: Pode-se utilizar números, letras maiúsculas, letras minúsculas e o caractere underscore. Exemplo: Nota 1, Nota01; O primeiro caractere deve ser sempre uma letra. Exemplo: 01Nota não pode! Não são permitidos espaços em branco nem símbolos especiais (@, $, +, -, %,!, etc.). Exemplo: Nota 01 não pode! Existem palavras que são exclusivas para as linguagens de programação. Tais palavras não podem ser utilizadas como identificadores.

Tipos de Dados Valores que as Variáveis Recebem Numérico: Podem assumir valores inteiros (-23, 0, 237,...) ou valores reais (-23.45, 0.0, 234.478). Lógico: Podem assumir valores booleanos: verdadeiro ou falso. Caractere: Também é conhecido como tipo Literal; Esse tipo pode assumir um único caractere ou uma sequência de caracteres; Exemplo: Informática Aplicada.

Linguagem de Programação A Linguagem que será utilizada... Uma linguagem de programação consiste em um conjunto de códigos que traduz um algoritmo para um programa; Esse código possui regras e palavras chaves específicas da linguagem adotada; Exemplo: #include <stdio.h> int main(){ int N1, N2, M; printf("digite dois números: "); scanf("%d %d", &N1, &N2); M = N1*N2; printf("multiplicaç~ao = %d", M); return(0); }

Linguagem de Programação A Linguagem que será utilizada... A linguagem a ser utilizada será a C/C++; A linguagem C foi criada em 1972, nos Laboratórios Bell, para o desenvolvimento do sistema operacional UNIX; A linguagem C++ foi originalmente criada como uma extensão da linguagem C. Hoje ela é uma das mais utilizadas no mundo acadêmico. Ambas são linguagens de alto nível o programador não precisa se preocupar com funções específicas do processador.

Paradigmas de Programação Paradigma é a representação de um padrão a ser seguida; Paradigma de programação está relacionado com a forma de pensar do programador e como ele busca a solução para o problema; Há dois paradigmas principais em programação: Estruturado; Orientado a objetos.

Paradigmas de Programação Programação Estruturada Pelo paradigma estruturado, qualquer problema pode ser resolvido utilizando três estruturas básicas: sequencial, condicional e de repetição (iterativa); Procura encontrar uma forma de quebrar um problema complexo em vários problemas simples, que trabalhando conjuntamente, obtêm o resultado desejado.

Paradigmas de Programação Programação Orientada a Objetos No paradigma orientado a objetos, o programador enxerga o problema como uma coleção de objetos que interagem por meio de troca de mensagens.

Paradigmas de Programação Exemplo Problema Calcular a área e o perímetro de um retângulo. Para isso, deverá existir uma janela pela qual serão informadas as medidas dos lados do retângulo. Nesta janela também serão exibidos os resultados encontrados.

Paradigmas de Programação Exemplo Pelo paradigma estruturado, o problema principal pode ser dividido nos seguintes problemas: 1. Obter o valor da altura do retângulo; 2. Obter o valor da largura do retângulo; 3. Calcular a área; 4. Calcular o perímetro; 5. Mostrar os resultados.

Paradigmas de Programação Exemplo Pelo paradigma orientado a objeto, o problema principal pode ser visto como dois objetos se comunicando: janela e retângulo. Assim, deve-se: 1. Programar a janela para receber as medidas do retângulo a partir do usuário (entrada de dados) e enviar essas medidas para o objeto retângulo; 2. Programar o retângulo para receber as medidas da janela, fazer com que ele calcule a sua área e o seu perímetro e, por fim, enviar os resultados para a janela; 3. Uma vez que a janela recebeu essa mensagem, ela deve apresentar o resultado para o usuário.

Paradigmas de Programação De uma maneira geral: A linguagem C foi originalmente projetada para escrever programas estruturados; A linguagem C++ possui elementos que permitem uma programação orientada a objetos.

Estrutura Sequencial É a estrutura que permite criar o algoritmo como uma sequência de passos para resolver um determinado problema. Consiste em: Utilizar uma palavra-chave para iniciar o algoritmo (INÍCIO ALGORITMO); Declarar as variáveis e seus tipos; Realizar o processamento sobre as variáveis; Finalizar o algoritmo com uma outra palavra chave (FIM ALGORITMO). Exemplo 1: INÍCIO ALGORITMO 2: DECLARE variáveis 3: bloco de comandos 4: FIM ALGORITMO

Declaração de Variáveis Utiliza a palavra chave DECLARE, seguida do identificador da variável e do seu tipo. Exemplo 1: INÍCIO ALGORITMO 2: DECLARE X NUMÉRICO 3: DECLARE Y, Z CARACTERE 4: DECLARE TESTE LÓGICO 5: FIM ALGORITMO

Atribuição de Valores Para a atribuição de valores às variáveis, usa-se o símbolo. Exemplo 1: INÍCIO ALGORITMO 2: DECLARE X NUMÉRICO 3: DECLARE Y, Z CARACTERE 4: DECLARE TESTE LÓGICO 5: X 4 6: Y teste 7: TESTE falso 8: FIM ALGORITMO

Comando de Entrada Para a entrada de dados no algoritmo, usa-se a palavra-chave LEIA! Exemplo 1: INÍCIO ALGORITMO 2: DECLARE X NUMÉRICO 3: LEIA X 4: X X + 2 5: FIM ALGORITMO

Comando de Saída Para a saída (exibição) de dados (variáveis), usa-se a palavra-chave ESCREVA! Exemplo 1: INÍCIO ALGORITMO 2: DECLARE X NUMÉRICO 3: LEIA X 4: X X + 2 5: ESCREVA X 6: FIM ALGORITMO

Exemplo Faça um algoritmo que receba quatro números inteiros e que calcule e apresente a soma deles. 1: INÍCIO ALGORITMO 2: DECLARE n1, n2, n3, n4 NUMÉRICO 3: DECLARE soma NUMÉRICO 4: ESCREVA Digite os quatro números 5: LEIA n1, n2, n3, n4 6: soma n1 + n2 + n3 + n4 7: ESCREVA Soma =, soma 8: FIM ALGORITMO

Exemplo Faça um algoritmo que receba três notas e que calcule e apresente a média aritmétrica entre elas. 1: INÍCIO ALGORITMO 2: DECLARE n1, n2, n3, NUMÉRICO 3: DECLARE media NUMÉRICO 4: ESCREVA Digite as três notas: 5: LEIA n1, n2, n3 6: media (n1 + n2 + n3)/3 7: ESCREVA Média =, media 8: FIM ALGORITMO

Próxima Aula... Continuação de algoritmos: Estruturas sequenciais mais exemplos e exercícios; Estruturas condicionais; Exemplos e exercícios.