Introdução aos algoritmos computacionais

Documentos relacionados
INFORMÁTICA APLICADA AULA 02 ALGORITMOS

ALGORITMOS AULA 1. Profª Amanda Gondim

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

PROGRAMA HelloWorld.java ESTRUTURA SEQUENCIAL. Programa HelloWorld.java

Método para Construção de Algoritmos

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE)

Introdução à Programação Estruturada Parte 2. Material da Prof. Ana Eliza

Conceitos básicos de algoritmos

Introdução à Lógica de Programação. Adaptação de Luis Otavio Alvares

ESTRUTURA CONDICIONAL E SELEÇÃO

INF 1005 Programação I

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

Lógica e Linguagem de Programação Aula 03 - Estruturas de controle Estrutura Condicional - Exercícios Resolvidos Professor: Danilo Giacobo

Introdução a Programação de Jogos

Conceitos Básicos. Professor: Juliano Lucas Gonçalves.

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

Conceitos Básicos ENTRADA PROCESSAMENTO SAÍDA

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE)

Portugol. Tiago Alves de Oliveira

Introdução à Programação

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

Algoritmos Parte 2. Introdução à Ciência da Computação

Algoritmos e Programação

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

Pseudocódigo e Visualg

Fluxogramas. Vanessa Braganholo

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

Introdução à 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..

Noções de Algoritmos

Prof. Jorge Cavalcanti

Programação Estruturada Aula VisualG

CAPÍTULO 4 ESTRUTURAS DE CONTROLE

Capítulo 1 Conceitos Básicos

Introdução à Programação. João Manuel R. S. Tavares

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

Fluxogramas. Leonardo Gresta Paulino Murta.

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

Algoritmos - 1. Alexandre Diehl. Departamento de Física - UFPel

Lógica e Linguagem de Programação Aula 04 - Estruturas de Repetição Repetição com Teste no Final - Repita Até - GABARITO Professor: Danilo Giacobo

Introdução à Programação de Computadores Fabricação Mecânica

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

Disciplina: Algoritmos e Programação Professor: Paulo César Fernandes de Oliveira, BSc, PhD

Algoritmos e Programação

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

Introdução à Programação

Algoritmos e Linguagem de Programação I

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

ESTRUTURAS DE REPETIÇÃO - PARTE 1

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

4) Defina o que vem a ser um algoritmo, e porque, o mesmo depende do processo.

Programação Estruturada Aula - Introdução a Linguagem de Programação

Introdução aos Algoritmos

Conceitos Básicos de Algoritmos

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

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

Lógica e Linguagem de Programação Aula 04 - Estruturas de Repetição Repetição com Teste no Início Enquanto - GABARITO Professor: Danilo Giacobo

Introdução aos Algoritmos

PDA - Repetição. Estruturas de repetição. Slides adaptação de Deise Saccol

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

Programação Aplicada à Engenharia

Comandos de desvio de fluxo. Expressões lógicas.

A palavra ALGORITMO teve origem com um Matemático Persa, al. Khawarizmi. O seu trabalho mais famoso foi Al-jabr walmuquabalah,

Algoritmos e Programação

Linguagem de Descrição de algoritmos

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

Pra início de conversa... O que é um algoritmo? Exemplos de algoritmos. Como podemos descrever algoritmos? Como podemos descrever algoritmos?

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

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

Aula 7: Estrutura de Decisão

Introdução à Programação

Algoritmos. Um algoritmo pode ser expresso de diversas maneiras, dentre elas: Linguagem Natural Fluxograma Pseudocódigo Linguagem de Programação

Técnicas de Programação

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

Algoritmos e Programação

Pseudocódigo e visualg

2. Criação de Algoritmos

Aula 02. Algoritmos e Pseudocódigo

Introdução a Algoritmos

UNIVERSIDADE FEDERAL DO PAMPA CAMPUS BAGÉ ALGORITMOS E PROGRAMAÇÃO. Estruturas de repetição. Prof. Alex Camargo

Algoritmos - 1. Alexandre Diehl. Departamento de Física - UFPel

Vamos estudar o que se entende por «programação», que é uma linguagem de programação e ver algumas terminologias própria de programação e como

Fundamentos de Algoritmos (5175/31)

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

CAPÍTULO 3 INSTRUÇÕES BÁSICAS

Introdução à Pseudo-código PROGRAMAÇÃO I (COM06842) LÓGICA E TÉCNICA DE PROGRAMAÇÃO (COM06039)

BCC Introdu c ao ` a Programa c ao Portugol Guillermo C amara-ch avez UFOP 1/35

Aula Teórica 03. Comandos Condicionais (Decisão)

Lógica e Linguagem de Programação Aula 04 - Estruturas de Repetição - GABARITO Repetição com Variável de Controle - Para Professor: Danilo Giacobo

LÓGICA DE PROGRAMAÇÃO. Algoritmos Computacionais. Sérgio Carlos Portari Júnior

Agenda. Programação estruturada. Sequência. Decisão: Desvio de fluxo INTRODUÇÃO. Expressões lógicas.

Introdução a Programação

Material Didático Proposto

Programação Estruturada Comandos Condicionais (Decisão) Operadores Relacionais

Introdução aos Algoritmos. Prof. Paulo Cesar F. de Oliveira, BSc, PhD

LINGUAGEM C: COMANDOS DE REPETIÇÃO

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

Introdução a programação Visão geral

Transcrição:

CAPíTULO 1 Introdução aos algoritmos computacionais é um procedimento que descreve, sem ambiguidade, uma sequência nita de passos a serem seguidos em uma ordem especíca para resolver um problema ou aproximar a solução de tal problema. A estrutura de um algoritmo pode ser considerado dividido em três partes: (1) Dados de entrada; (2) Processo de obtenção de resultados; (3) Saída de dados. Exemplo 1. Somar três números Exemplos Passo: 1. Receber os três números (Dados de entrada) Passo: 2. Somar os três números (Procedimento) Passo: 3. Mostrar o resultado obtido (Resultado ou dados de saída) Exemplo 2. Receita de bolo Passo: 1. Ingredientes (Dados de entrada) Passo: 2. Modo de preparo (Procedimento) Passo: 3. Bolo (Resultado ou dados de saída) Exemplo 3. Determinar um procedimento para saber se um número natural é par ou ímpar. Passo: 1. Número natural (Dados de entrada) Passo: 2. Determinar o resto do número por 2 (Processo) Passo: 3. Resposta, ímpar ou par ( Dados de saída ) computacional É um algoritmo que pode ser executado por um computador. Para isto: (1) O computador deve executar a tarefa (2) Precisamos de uma linguagem de comunicação com o computador (linguagem de programação) (3) É preciso transformar a ideia (receita) em um programa (conjunto de instruções escritas em uma linguagem de programação). Algumas sugestões para elaboração de algoritmos. Seguir os seguintes passos: (1) do problema; (2) Elaboração do ; (3) do algoritmo. Em resumo: a): Compreender completamente o problema a ser resolvido, destacando os pontos mais importantes e os objetos que a compõem. b): Denir os dados de entrada, ou seja, quais dados serão fornecidos e quais objetos fazem parte desse cenário-problema. c): Denir o processamento, ou seja, quais cálculos serão efetuados e quais as restrições para esses cálculos. O processamento é responsável pela transformação dos dados de entrada em dados de saída 1

ALGORITMO COMPUTACIONAL 2 d): Denir os dados de saída, ou seja, quais dados serão gerados depois do processamento. e): Testar o algoritmo realizando simulações. Linguagens de programação e programa. São linguagens entendíveis para o programador e para o computador. Exemplos de linguagens de programação: C, Fortran, Pascal, Java, Scilab, R, etc. Ao invés de estudar C ou outra linguagem de programação, vamos denir uma linguagem padrão para construir algoritmos computacionais chamada de Pseudo-código e usar esse pseudo-código para apresentar os conceitos comuns às linguagens de programação. A Figura abaixo mostra que o programa ou software é produto de douas coisas: algoritmo e linguagem de programação. Figura Programa.eps Pseudocódigo. O que é pseudo-código? Resposta: É uma linguagem genérica de escrever um algoritmo, utilizando uma linguagem simples (nativa a quem escreve, de forma a ser entendida por qualquer pessoa ) sem a necessidade de conhecer a sintaxe de nenhuma linguagem de programação. Objetivos: (1) Sintaxe mais éxivel que a de uma linguagem de programação real (a) Permite que pensemos nos passos que o algoritmo computacional deve executar sem nós preocuparmos demais com a forma de escrevê-los; (2) Ênfase no processo de solução e não nos detalhes da linguagem de programação (3) Poderemos construir um programa, em uma linguagem estruturada, com facilidade se tivermos um algoritmo em pseudo-código estruturado adequadamente (a) Os elementos do pseudo-código são os mesmos das linguagens de programação,isto é, depois de desenvolver as idéias, a tradução para linguagem de programação é um processo simples e mecânico Algumas palavras usadas na elaboração de pseudo-códigos Leia (read na linguagem Fortran) Calcule (do na linguagem Fortran) Se (), então. Escreva. (write na linguagem Fortran) Para (for na linguagem Fortran e na linguagem C) Fazer. Exemplos de Pseudo-códigos. Exemplo 4. Determinar se um número dado é par ou ímpar Pseudo-código: (1) Leia o número natural n (Dado de entrada) (2) Calcule o resíduo r de n por 2 (Procedimento) (3) Se r = 0, então escreva que n é par (Dado de saída) Se não, escreva n é ímpar (Dado de saída) Exemplo 5. Calcular a soma n i=1 x i, onde n e os números x 1, x 2, x 3,... x n são dados Pseudo-código Leia n, x 1, x 2, x 3,......, x n (Entrada) Passo 1: Faça sma =0 (Inicializar o acumulador) Passo 2: Para i = 1, 2,..., n fazer Faça sma = sma + x i (Adicionar o próximo termo) Passo 3. Escreva: A soma é sma n A soma i=1 x i (Saída) Exemplo 6. Calcular a média aritmética de n números reais Pseudo-código

ALGORITMO COMPUTACIONAL 3 Logo: Leia n, x 1, x 2, x 3,......, x n (Entrada) Passo 1: Faça sma =0 (Inicializar o acumulador) Passo 2: Para i = 1, 2,..., n fazer Faça sma = sma + x i (Adicionar o próximo termo) Passo 3. Faça: sma = sma/n A média aritmética é: sma (Saída) Exercícios de algoritmos. Exercício 7. Escrever um algoritmo que calcule a soma das componentes de um vetor Seja v = [4, 0, 1], então v(1) = 4, v(2) = 0, v(3) = 1. soma = ( v(1) + v(2) ) + v(3) = (4 + 0) + 1 = 4 + 1 = 5 Dados de entrada: n tamanho do vetor e v vetor informado Processo: soma = 0 (Inicialização da variável soma, elemento neutro da soma) Para i=1 até n fazer soma = soma+v(i) Dados de saída: A soma das componentes do vetor v é soma do processo acima para vericar a validade do algoritmo Exemplo de teste Seja n = 5 e v = [1, 3, 0, 1, 2]. Então, v(1) = 1, v(2) = 3, v(3) = 0, v(4) = 1, v(5) = 2. Soma = 1+3+0-1+2=5 Executando o algoritmo soma = 0 i = 1: soma = soma + v(1) = 0+1 = 1 i = 2: soma = soma + v(2) = 1+3 = 4 i = 3: soma = soma + v(3) = 4+0 = 4 i = 4: soma = soma + v(4) = 4+(-1) = 3 i = 4: soma = soma + v(5) = 3+2 = 5 Logo, o algoritmo aparentemente está ok!!! Exercício 8. Escrever um algoritmo que calcule o produto das componentes de um vetor. Exemplo. Seja v = [4, 1, 2], então v(1) = 4, v(2) = 1 e v(3) = 2. Logo, produto = v(1) v(2) v(3) = (v(1) v(2)) v(3) = (4)(2) = 8

Dados de entrada: n tamanho do vetor e v, vetor informado Processo ALGORITMO COMPUTACIONAL 4 prod = 1(Inicializando o valor da variável produto usando o elemento neutro da multiplicação) Para i = 1 até n fazer prod = prod v(i) Dado de saída: Produto das componentes do vetor v é prod. do processo acima para vericar a validade do algoritmo Exemplo de teste: Seja n = 4 e v = [ 1, 2, 3, 4]. Então, v(1) = 1, v(2) = 2, v(3) = 3, v(4) = 4. Produto = (-1)(-2)(-3)(4)=-24. Executando o algoritmo prod =1; i = 1 prod = prod v(1) = (1)(-1) = -1 i = 2 prod = prod v(2) = (-1)(-2) = 2 i = 3 prod = prod v(3) = (2)(-3) = -6 i = 4 prod = prod v(4) = (-6)(4) = -24 Logo, o algoritmo aparentemente está ok!!! Exercício 9. Escrever um algoritmo que calcule a norma Euclidiana de um vetor Exemplo. n = 3 e v = [1, 1, 2]. Então, v(1) = 1, v(2) = 1 e v(3) = 2 Em geral: v 2 = (v(1)) 2 + (v(2)) 2 + (v(3)) 2 v 2 = (1) 2 + ( 1) 2 + (2) 2 = 6 v 2 = n (v(i)) 2 i=1 Dados de entrada: n, tamanho do vetor e v, vetor informado Processo: norma = 0 (Inicializando o valor da norma) Para i = 1 até n, fazer norma = norma + v(i) 2 norma = sqrt(norma) Dados de saída: A norma do vetor v é norma Simulando o algoritmo Exercício 10. Escrever um algoritmo que calcule os n primeiros números da sequência de Fibonacci. Solução s 0 = 0, s 1 = 1, s n = s n 1 + s n 2, n 2.

Para n =5, então: ALGORITMO COMPUTACIONAL 5 s 2 = s 1 + s 0 = 1 + 0 = 1 s 3 = s 2 + s 1 = 1 + 1 = 2 s 4 = s 3 + s 2 = 2 + 1 = 3 s 5 = s 4 + s 3 = 3 + 2 = 5 Dados de entrada: n número de elementos da sequência de Fibonacci a ser mostrada Processo szero = 0 sum = 1 Se n = 0, então escreva: o número de Fibonicci para n = 0 é szero Se n = 1, então escreva: os números de Fibonacci para n = 1 são sum e szero Se n > 1, então Escrever: szero, sum Para i = 2 até n, fazer sn= szero+sum Escrever sum szero = sum sum = sn Exercício 11. Escrever um algoritmo que calcule as raízes da equação: ax 2 + bx + c = 0 As raízes da equação quadrática ax 2 + bx + c = 0 são sempre que: x 1 = b + b 2 4ac e = b 2 4ac 0. x 2 = b b 2 4ac Exemplo 2x 2 + 4x + 5 = 0, ( ). Neste caso, a = 2, b = 4 e c = 5. = b 2 4ac = (4) 2 4(2)(5) < 0, então a equação ( ) não possui raízes reais. x 2 3x + 2 = 0, ( ). Neste caso, a = 1, b = 3 e c = 2. = b 2 4ac = ( 3) 2 4(1)(2) = 1 > 0. Como > 0, então a equação quadrática ( ) possui raízes: Dados de entrada: a, b e c Processo: Calcular delta = b*b-4*a*c Se delta 0, então Calcular: x1 = b+ delta 2 a x 1 = b + b 2 4ac x 2 = b b 2 4ac x2 = b delta 2 a = 3 + 1 2 = 3 1 2 = 2 = 1

ALGORITMO COMPUTACIONAL 6 Escrever: As raízes são: x1 e x2 Senão: Escrever: A equação quadrática ax 2 + bx + c = 0não possui soluções reais