Conceitos Básicos de Algoritmos

Documentos relacionados
Conceitos básicos de algoritmos

Prof. Jorge Cavalcanti

Método para Construção de Algoritmos

Algoritmos e Programação

Métodos de Representação de Algoritmos

Programação Estruturada Aula VisualG

PROGRAMAÇÃO COMPUTACIONAL I

Fluxograma. Conjunto de símbolos utilizados em fluxogramas

Pseudocódigo Exercício 6

Pseudocódigo Exercício 6

Algoritmo e Programação. Capítulo 2 Tópicos Preliminares

algoritmo "exercício 5" var x, y, aux: inteiro inicio escreva ("Entre com um valor inteiro p/ variável x: ") leia (x) escreva ("Entre com um valor

Fluxograma. Símbolo Nome Descrição

ALGORITMOS E APLICAÇÕES. FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior

PORTUGUÊS ESTRUTURADO: INTRODUÇÃO INTRODUÇÃO À PROGRAMAÇÃO PROF. ALEXANDRO DOS SANTOS SILVA

Fluxograma. Símbolo Nome Descrição

Algoritmo e Programação Matemática

Expressões, Atribuições, Entrada e Saída. Givanaldo Rocha

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

INFORMÁTICA APLICADA AULA 02 ALGORITMOS

PSEUDO-CÓDIGO. Nickerson Fonseca Ferreira

ALGORITMOS AULA 1. Profª Amanda Gondim

Introdução à Ciência da Computação

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

Noções de algoritmos - Aula 1

ALGORITMOS AULA 2. Profª Amanda Gondim

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

Capítulo 1 Conceitos Básicos

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE II. Prof. Dr. Daniel Caetano

CMP Algoritmos Algoritmos Parte I. Professor Vicente Paulo de Camargo

Fluxogramas e variáveis

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

LÓGICA DE PROGRAMAÇÃO INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE II PARA ENGENHARIA. Prof. Dr. Daniel Caetano

INFORMÁTICA PARA ENGENHARIA INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE II

ALGORITMOS E LÓGICA DE PROGRAMAÇÃO PRÉ AULA PRÉ AULA 31/08/2015

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

INFORMÁTICA APLICADA AULA 03 ALGORITMOS

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

INFORMÁTICA PARA ENGENHARIA INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE II

Portugol. Tiago Alves de Oliveira

Universidade Federal de Uberlândia Faculdade de Computação. Expressões aritméticas, relacionais e lógicas Estruturas condicionais

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

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

01/08/2011. Tipos de dados Numéricos Alfanuméricos Lógicos. Numéricos. Tipos de dados. Dados Numéricos Inteiros. Dados Numéricos Reais.

EXPRESSÕES ARITMÉTICAS PARTE 1

AULA 07. HABILIDADES TRABALHADAS: Desenvolver algoritmos utilizando laços a partir da leitura de fluxogramas ou algoritmos em portugol.

Aula 5 Oficina de Programação Introdução ao C. Profa. Elaine Faria UFU

Técnicas de Programação

Métodos para a construção de algoritmo

Português Estruturado (VISUALG)

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

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

ALGORITMOS E ESTRUTURA DE DADOS

Estrutura de Condição, Escolha e Repetiçã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..

Variáveis, Expressões Aritméticas e Entrada e Saída de Dados

Fundamentos de Programação. Turma CI-240-EST. Josiney de Souza.

Algoritmos Computacionais

5. Expressões aritméticas

ALGORITMOS 3ª Aula. 3. Introdução Tipos de dados, variáveis e operadores Tipos de dados

ALGORITMOS E LÓGICA DE PROGRAMAÇÃO

Pseudocódigo Exercício 2

I - CONCEITOS INICIAIS

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

- Aula 01, 02, 03 e 04 Apresentação da disciplina.

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO

Introdução aos Algoritmos

EXPRESSÕES ARITMÉTICAS PARTE 2

Algoritmos e Técnicas de Programação

Algoritmos e Programação

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

Introdução a Computação

Algoritmos I Aula 5 Visualg

Algoritmos. Seqüência finita e ordenada de procedimentos que resolvem um determinado problema. Exemplo: O que preciso fazer para preparar um omelete?

Introdução aos Algoritmos

Informática Fundamentos em C++ Revisão 1

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

Material Didático Unificado.

08/05/2012. Tipos de dados. Tipos de dados. Elementos Básicos. Tipos de dados. Elementos Básicos Tipos de dados. Dados e seus tipos:

Estrutura de um Algoritmo, Variáveis, Comandos de Entrada e Saída e Expressões Aritméticas

AEDI Fundamentos Revisão 1

Pseudocódigo e visualg

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE II. Prof. Dr. Daniel Caetano

Algoritmos. Conceitos e Comandos

Unidade 4: Introdução à Lógica de Programação - Parte II

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE II. Prof. Dr. Daniel Caetano

Unidade 4: Introdução à Lógica de Programação - Parte II Português Estruturado - Versão Estácio Prof. Daniel Caetano

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

Transcrição:

Conceitos Básicos de Algoritmos 35 TIPOS PRIMITIVOS Palavra-reservada: inteiro - define variáveis numéricas do tipo inteiro, ou seja, sem casas decimais Palavra-reservada: real - define variáveis numéricas do tipo real, ou seja, com casas decimais Palavra-reservada: logico - define variáveis do tipo booleano, ou seja, com valor VERDADEIRO ou FALSO Palavra-reservada: caractere - define variáveis do tipo string, ou seja, cadeia de caracteres

Conceitos Básicos de Algoritmos DECLARAÇÃO DE VARIÁVEIS Palavra-reservada: var - utilizada para iniciar a seção de declaração de variáveis Exemplos: var a: inteiro nome_do_aluno: caractere sinalizador: logico Valor1, Valor2: real Obs.: O pseudocódigo e o fluxograma não são sensíveis ao caso. 36

Conceitos básicos de algoritmos Durante a execução de determinadas tarefas ou durante a execução de um processo para obtenção da solução de um determinado problema são necessários alguns dados e ao final deve-se retornar uma saída. Da mesma forma, em alguns algoritmos tornamse necessários mecanismos que possibilitem uma interface com o ambiente externo, ou seja, são necessários comandos que possibilitem a entrada e saída de dados. 37

38 Conceitos Básicos de Algoritmos Entrada de dados Palavra-reservada: leia - utilizada para receber dados externos ao algoritmo e armazená-los em variáveis. Exemplos:... var a: inteiro b: real... leia(a) leia(b, a)...

Conceitos Básicos de Algoritmos Entrada de Dados Tecnicamente podemos utilizar a seguinte definição: O comando de entrada de dados leia possui a sintaxe leia (<lista-de-variáveis>) 39 Onde este recebe valores digitados pelo usuário, atribuindo-os às variáveis cujos nomes estão em <lista-de-variáveis> (é respeitada a ordem especificada nesta lista).

Conceitos Básicos de Algoritmos 40 Saída de dados Palavra-reservada: escreva - utilizada para externar (enviar para o monitor) dados gerados pelo algoritmo. Exemplos:... var x: inteiro y: caractere... escreva(y) escreva l(x,y) escreva( Estudou e se dedicou tirou, 10-x) 10)...

41 Conceitos Básicos de Algoritmos Saída de Dados Tecnicamente podemos utilizar a seguinte definição: O comando de saída de dados escreva possui a sintaxe escreva (<lista-de-expressões>) Onde este escreve no dispositivo de saída padrão (monitor) o conteúdo de cada uma das expressões que compõem <lista-deexpressões>. As expressões dentro desta lista devem estar separadas por vírgulas; depois de serem avaliadas, seus resultados são impressos na ordem indicada.

42 Conceitos Básicos de Algoritmos Saída de dados É possível especificar o número de colunas da tela onde se deseja escrever um determinado valor. Por exemplo, considerando uma variável inteira x, o comando escreva (x:5) escreve o valor da variável x em 5 colunas, alinhado-o à direita. Para variáveis reais, além de especificar o número de colunas a serem reservadas para representar o número, também pode-se especificar o número de casas fracionárias que serão exibidas. Por exemplo, considerando z como uma variável real, o comando escreva(z:5:2), escreve seu valor em 5 colunas colocando 2 casas decimais.

Conceitos básicos de algoritmos Operador de Atribuição símbolo <- Exemplo: var a: inteiro valor1, valor2: real... A <- 5 Valor1 <- 3.14 valor2 <- valor1 escreva(valor2)... 43

Conceitos básicos de algoritmos Operadores Aritméticos Unários: +, - Exemplos: +1-5.9... var a: inteiro... a <- -a 44

Conceitos básicos de algoritmos Operadores Aritméticos Binários: +, -, *, /, \, %, ^ Associação Símbolo Operação + Soma - Subtração * Multiplicação / Divisão \ Quociente da divisão inteira % Resto da divisão inteira ^ Potenciação 45

Conceitos básicos de algoritmos Operadores Aritméticos Binários Precedência (Hierarquia nas operações) Hierarquia Operação 1 Parênteses 2 Função 3 -, + (unários) 4 ^ 5 *, /, \, % 6 +, - 46

Conceitos básicos de algoritmos Expressões aritméticas Exemplos: 3/4+5 3/(4+5) 3\2*9 11%3^2 11%(3^2) (11%3)^2 3\2+(65-40)^(1/2) = 5.75 = 0.33333333 = 9 = 2 = 2 = 4 = 6 47

Conceitos básicos de algoritmos Operadores Relacionais Operador Ação > maior que >= maior ou igual a < menor que <= menor ou igual a = igual a <> diferente de 48

Conceitos básicos de algoritmos Operadores Lógicos Operador e ou nao xou 49

Exemplos: Conceitos básicos de algoritmos Expressões lógicas 3>7 = FALSO A = a = VERDADEIRO a > B = FALSO (3>=13\4) xou (nao (5%2=0)) = FALSO 50

51 Conceito de Lógica Para retomarmos à nossa análise dos métodos de representação de algoritmos devemos refletir a respeito do seguinte questionamento: O que nos orienta a gerar a seqüência de passos para instruir o computador a executar uma tarefa? A lógica é o ramo da Filosofia e da Matemática que estuda os métodos e princípios que permitem fazer distinção entre raciocínios válidos e não válidos, determinando o processo que leva ao conhecimento verdadeiro. O uso da lógica é primordial na solução de problemas. Com ela é possível alcançar objetivos com eficiência e eficácia. Ninguém ensina outra pessoa a pensar, mas a desenvolver e aperfeiçoar esta técnica, com persistência e constância..

Método para Construção de Algoritmos Os passos necessários para a construção de um algoritmo são: ler atentamente o enunciado do problema, compreendendo-o e destacando os pontos mais importantes; definir os dados de entrada, ou seja, quais dados serão fornecidos; definir os dados de saída, ou seja, quais dados serão gerados depois do processamento; definir o processamento, ou seja, quais cálculos serão 52 efetuados e quais as restrições para esses cálculos. O processamento é responsável pela obtenção dos dados de saída com base nos dados de entrada; definir as variáveis necessárias para armazenar as entradas e efetuar o processamento; elaborar o algoritmo; testar o algoritmo realizando simulações.

53 Pseudocódigo Com base nos conceitos vistos podemos aprofundar nosso estudo sobre os métodos de representação de algoritmos, iniciaremos pelo pseudocódigo. Pseudocódigo é uma técnica textual de representação de um algoritmo. Também é conhecida como Português Estruturado ou Portugol. Nele os verbos (ações) disponíveis para utilização são limitados e empregados no imperativo, deve-se evitar as expressões excessivamente longas, estas restrições visam eliminar a possibilidade de ambigüidade. A técnica é baseada em uma PDL (Program Design Language), que é uma linguagem genérica na qual é possível representar um algoritmo de forma semelhante à das linguagens de programação.

54 Pseudocódigo Estrutura A estrutura de um algoritmo em pseudocódigo pode variar um pouco de acordo com o autor ou com base na linguagem de programação que será utilizada posteriormente, mas essas variações ocorrem apenas na sintaxe, pois a semântica deve ser exatamente a mesma. A estrutura que empregaremos para a construção de nossos pseudocódigos será a seguinte: algoritmo nome //Tem como objetivo identificar o //algoritmo, deve-se utilizar um nome o mais significativo //possível, para facilitar a identificação var // Seção de Declarações - Neste ponto são informadas //quais variáveis, e seus respectivos tipos, serão // utilizadas no algoritmo inicio // Seção de Comandos - Aqui será escrita a seqüência de // comandos que deve ser executada para solucionar // o problema em questão fimalgoritmo //marca o final do algoritmo

Pseudocódigo As palavras reservadas presentes na estrutura do pseudocódigo apresentado foram: algoritmo var inicio fimalgoritmo 55

Pseudocódigo Exemplo Observaremos agora um pseudocódigo que recebe um valor inteiro, fornecido pelo usuário, e o retorna no monitor. algoritmo exemplo 1 var x: inteiro inicio leia (x) escreva (x) fimalgoritmo 56

57 Pseudocódigo Exemplo Outro exemplo é o pseudocódigo de um algoritmo que recebe um valor inteiro, acresce duas unidades a este, e exibe o resultado desta manipulação. algoritmo exemplo 2 var n: inteiro inicio escreva ( Digite um número inteiro: ) leia (n) n <- n+2 escreval ( Resultado (número + 2):, n) fimalgoritmo

Slides trabalhados durante a primeira aula prática

Pseudocódigo Exercício 1 Construa um pseudocódigo para representar um algoritmo que efetue a multiplicação de dois inteiros quaisquer. 59 algoritmo exercício 1 var n1, n2, res: inteiro inicio escreva ( Digite o multiplicando inteiro: ) leia (n1) escreva ( Digite o multiplicador inteiro: ) leia (n2) res <- n1 * n2 escreva ( Resultado da multiplicação:, res) fimalgoritmo

60 Pseudocódigo Exercício 1 Construa um pseudocódigo para representar um algoritmo que efetue a multiplicação de dois inteiros quaisquer. algoritmo exercício 1b var n1, n2: inteiro inicio escreva ( Digite o multiplicando inteiro: ) leia (n1) escreva ( Digite o multiplicador inteiro: ) leia (n2) escreva ( Resultado da multiplicação:, n1*n2) fimalgoritmo

Pseudocódigo Exercício 1 Construa um pseudocódigo para representar um algoritmo que efetue a multiplicação de dois inteiros quaisquer. 61 algoritmo exercício 1c var n1, n2: inteiro inicio escreva ("Digite o multiplicando e em seguida ") escreva (" o multiplicador (ambos inteiros): ") leia (n1, n2) escreva ("Resultado da multiplicação: ", n1*n2) fimalgoritmo

62 Pseudocódigo Exercício 2 Gere um pseudocódigo que aplique um desconto de 30% sobre o valor de um produto, recebido como entrada, e retorne o resultado da manipulação na saída padrão. algoritmo exercício 2a var valor, resultado: real inicio escreva ( Entre com o valor do produto: ) leia (valor) resultado <- valor * 0.7 escreva ( Valor com desconto de 30%: ) escreva (resultado) fimalgoritmo

63 Pseudocódigo Exercício 2 Gere um pseudocódigo que aplique um desconto de 30% sobre o valor de um produto, recebido como entrada, e retorne o resultado da manipulação na saída padrão. algoritmo exercício 2b var valor: real inicio escreva ( Entre com o valor do produto: ) leia (valor) valor <- valor * 0.7 escreva ( Valor com desconto de 30%: ) escreva (valor:6:2) fimalgoritmo

64 Pseudocódigo Exercício 2 Gere um pseudocódigo que aplique um desconto de 30% sobre o valor de um produto, recebido como entrada, e retorne o resultado da manipulação na saída padrão. algoritmo exercício 2c var valor: real inicio escreva ( Entre com o valor do produto: ) leia (valor) escreva ( Valor com desconto de 30%:, valor * 0.7:6:2) fimalgoritmo