Algoritmo e Programação Matemática

Documentos relacionados
Prof. Jorge Cavalcanti

PROGRAMAÇÃO COMPUTACIONAL I

ALGORITMOS AULA 2. Profª Amanda Gondim

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

Programação Estruturada Aula VisualG

INFORMÁTICA APLICADA AULA 03 ALGORITMOS

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

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

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

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

Portugol. Tiago Alves de Oliveira

CMP Algoritmos Algoritmos Parte I. Professor Vicente Paulo de Camargo

Conceitos Básicos de Algoritmos

Algoritmos e Técnicas de Programação

Noções de algoritmos - Aula 1

Algoritmos I Aula 5 Visualg

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

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

Algoritmos e Programação I

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:

Português Estruturado

Algoritmos. Conceitos e Comandos

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

EXPRESSÕES ARITMÉTICAS PARTE 1

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

ALGORITMOS E ESTRUTURA DE DADOS

PSEUDO-CÓDIGO. Nickerson Fonseca Ferreira

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

Português Estruturado (VISUALG)

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

Variável. Expressões. Atribuição. Tipos básicos Declaração. Aritméticas Lógicas. Professor Leandro Augusto Frata Fernandes

Conceitos básicos de algoritmos

Pseudocódigo Exercício 6

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

CONCEITOS DE ALGORITMOS

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

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

Algoritmos Computacionais

Pseudocódigo e visualg

Pseudocódigo Exercício 6

ALGORITMOS E LÓGICA DE PROGRAMAÇÃO

Programação de Computadores I. Professor Ilaim Costa Junior

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

Programação de Computadores I Dados, Operadores e Expressões PROFESSORA CINTIA CAETANO

Fluxograma. Símbolo Nome Descrição

TIPOS DE DADOS E VARIÁVEIS

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

Desenvolvido por: Juarez A. Muylaert Filho - Andréa T. Medeiros - Adriana S. Spallanzani -

CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS DISCIPLINA : INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO ASSUNTO: ALGORITMOS

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

Introdução ao VisuALG

Programação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação

Algoritmos e Programação

As bibliotecas iostream e cstdlib permitem a utilização de diversos comandos de entrada e saída e funções básicas.

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

CURSO BÁSICO DE PROGRAMAÇÃO AULA 2. Revisão Variáveis Estrutura de um algoritmo Estruturação de operações Ferramenta Visualg

Programação Introdução

Variáveis, Tipos de Dados e Operadores

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO - MEMÓRIA, VARIÁVEIS E CONSTANTES, OPERADORES. Prof. Angelo Augusto Frozza, M.Sc.

Unidade 5: Introdução à Programação com Python Prof. Daniel Caetano

Algoritmos e Programação

Aulas preparatórias Introdução a Programação em Linguagem C

Capítulo 3 Estrutura Sequencial

Conhecendo a Linguagem de Programação C

Lógica para programação II Seção 1 - Histórico e Introdução Primeiros Programas

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

Programação de Computadores:

Computação Eletrônica. Tipos de dados, constantes, variáveis, operadores e expressões. Prof: Luciano Barbosa

Introdução a Computação

Algoritmos e Programaçã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 de Jogos

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..

Material Didático Unificado.

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.

Lógica de Programação e Algoritmos. Prof. André Y. Kusumoto

Noções de algoritmos - Aula 1

Pseudolinguagem (ou Portugol) Profº Elton Rodrigo

5. Expressões aritméticas

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

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

Introdução à Computação

Introdução a Linguagem C

Lista de Exercícios - 1 Prof: Yuri Frota

CIT Aula 02 Variáveis e Estruturas de desvio condicional. Autor: Max Rodrigues Marques Carga Horária: 2 h 22/07/15 1

Técnicas de Programação

Professora Martha Spalenza Professora de Informática da Faetec

Fluxogramas e variáveis

Transcrição:

Algoritmo e Programação Matemática Fundamentos de Algoritmos Parte 1 Renato Dourado Maia Instituto de Ciências Agrárias Universidade Federal de Minas Gerais Dados A funcionalidade principal de um computador é a manipulação de dados. Apesar de internamente os computadores manipularem apenas números, as linguagens de programação permitem a manipulação de diversos tipos de dados. Um tipo de dados é um conjunto de objetos que apresentam o mesmo comportamento: Pessoas = {Renato, André, Carla}. Nem todo conjunto de dados é um tipo: Exemplo: {1, a, José, Fusca}. 2/26 Tipos Tipos numéricos: Formados apenas por números. Suportam operações aritméticas (basicamente +, -, *, /). Inteiro (Z): Exemplos: -10, 0, 3, 500. Real (R): Exemplos: -6.8, 1.0, 400.13. 3/26

Tipos Tipo caractere: Formado por um ou mais caracteres (uma cadeia de caracteres é chamada de string). Suporta operações tais como ler, escrever, concatenar, dentre outras. Exemplos: a, XYZ, 1, QUADRADO. Tipo booleano ou lógico: Permite apenas os valores 1 (verdadeiro) ou 0 (falso). Suportam apenas operações lógicas (basicamente e, ou e não). 4/26 Operadores Aritméticos Operador Descrição Exemplo + Adição 2 + 4 = 6 - Subtração 5 2 = 3 * Multiplicação 8 * 9 = 72 / Divisão 20 / 5 = 4 ^ Potenciação 10^2 = 100 raizq Raiz Quadrada raizq(100) = 10 \ Divisão Inteira 10 \ 4 = 2 mod ou % Resto da Divisão Inteira 10 mod 3 = 1 5/26 Operadores Aritméticos Prioridades Maior Prioridade Parênteses ^, raizq *, /, \, mod +, - Menor Prioridade 5 * 2 + 10 mod 2 8/4 + (7 2)^3 = 5 * 2 + 10 mod 2 8/4 + 5^3 = 5 * 2 + 10 mod 2 8/4 + 125 = 10 + 0 2 + 125 = 133 6/26

Operadores Lógicos e V F V V F F F F ou V F V V V F V F não V F F V 7/26 Operadores Lógicos Prioridades Maior Prioridade Parênteses não e, ou +, - Menor Prioridade (4 = 3 ou 8 > 5) e não (2 > 9) (F ou V) e não (F) V e V V 8/26 Constantes e Variáveis São dados armazenados na memória do computador. É necessário que sejam associadas a um identificador, que corresponde ao endereço de memória aonde o dado está armazenado. Uma constante é definida no começo do programa e não pode ser alterada (o VisuAlg 2.0 não implementa constantes). Uma variável pode ser alterada durante a execução do programa e precisa ter seu tipo declarado. 9/26

Constantes e Variáveis Declaração de variáveis: VAR <identificador 1>, <identificador 2>,, <identificador n>: <tipo das variáveis> Identificadores são nomes que podem ser compostos por letras, números e o caractere _, sendo que não podem ser iniciados com um número. No VisuAlg, o número máximo de caracteres de um identificador é 127, e não há distinção entre letras maiúsculas e minúsculas (isso vale também para as palavras reservadas). 10/26 Variáveis Atribuição Para armazenar dados em variáveis, utiliza-se o operador de atribuição, representado pelo símbolo (<- ou := no VisuAlg). A atribuição deve ser feita respeitando o tipo da variável. Formas de atribuição: <identificado da variável> <valor do mesmo tipo> <identificador da variável> <operação cujo resultado é do mesmo tipo> 11/26 Comentários Comentários são textos explicativos que não são considerados no processo de compilação (ou interpretação) e execução. São importantes para fins de documentação. No VisuAlg, cada linha de comentário deve ser iniciada com //. var Idade : inteiro // Variável para armazenara a idade 12/26

Blocos de Instruções As instruções de um programa são sempre (no contexto em que estamos) executadas em sequência. Os algoritmos podem ser considerados como um encadeamento de blocos de instruções individuais. Blocos de instruções representam o início e o término de um conjunto de instruções que serão executadas em sequência. Todo algoritmo possui pelo menos um bloco de instruções que indica o início e o término do próprio algoritmo. 13/26 Forma Geral de um Algoritmo No VisuAlg, um algoritmo possui a seguinte forma geral: Algoritmo Nome_do_Algoritmo Var Inicio FimAlgoritmo Lembrando: o VisuAlg não é case sensitive, ou seja, não faz distinção entre minúsculas e maiúsculas... 14/26 Forma Geral de um Algoritmo Calcular as raízes da equação 2x 2 + 4x 3 (Raizes.alg): Algoritmo Raízes Var Delta, x_1, x_2, a, b, c: real Inicio a <- 2 b <- 4 c <- -3 Delta <- b^2-4*a*c x_1 <- (-b + raizq(delta))/(2*a) x_2 <- (-b - raizq(delta))/(2*a) FimAlgoritmo Vocês acham que seria interessante apresentar os resultados na tela? 15/26

Entrada e Saída Aula passada: Entrada Programa Saída As linguagens de programação permitem receber entradas e apresentar saídas. Os comandos de entrada e saída permitem que o usuário forneça os dados para o programa (entrada) e a apresentação de resultados e outras informações (saída). Os dispositivos de entrada mais comuns são o teclado e o mouse, e os dispositivos de saída mais comuns são o monitor de vídeo e a impressora 16/26 Entrada E entrada (leitura) de dados exige a utilização de uma variável, e é utilizado o seu identificador: leia (<identificador>) Exemplo: Var Variavel: real leia (Variavel) 17/26 Saída A saída é de dados é realizada com a utilização do comando escreva: escreva (<valor>) (o VisuAlg possui também escreval) <valor> pode ser um texto (utiliza-se ) ou uma variável/constante Exemplo: Var Variavel: real escreva ( O resultado é:, Variavel) 18/26

Exercícios Alterar o programa Raizes.alg para apresentar as raízes na tela. Arquivo Raizes_Saida.alg Escrever um algoritmo que receba os números de faces e arestas de um objeto geométrico e calcule o seu número de vértices, sabendo-se que vértices + faces = arestas + 2. Arquivo Vertices.alg Há restrições para os números de faces e arestas? Se sim, como tratá-las? 19/26 Teste de Mesa Um algoritmo somente pode ser considerado correto se produzir o resultado esperado para qualquer conjunto de entradas possível. O teste de mesa é uma metodologia para acompanhar a execução de um algoritmo a cada passo, ou a cada instrução. Utilizando-se o teste de mesa é possível encontrar erros e verificar se a lógica do algoritmo está correta. 20/26 Teste de Mesa O teste de mesa por ser realizado utilizando-se uma tabela na qual em cada linha são mostrados os conteúdos das variáveis do algoritmo e o número da linha executada. Para indicar a leitura de uma variável, utilizam-se colchetes e, para indicar a escrita em uma variável, utilizam-se chaves. Pode ser acrescentada uma coluna para apresentar comentários sobre as operações. 21/26

Teste de Mesa Teste de mesa para o algoritmo VERTICES : ALGORITMO "VÉRTICES" VAR VERTICES, FACES, ARESTAS: INTEIRO INICIO 1. ESCREVA ("ENTRE COM O NÚMERO DE FACES: ") 2. LEIA(FACES) 3. ESCREVA("ENTRE COM O NÚMERO DE ARESTAS: ") 4. LEIA(ARESTAS) 5. VERTICES <- ARESTAS + 2 - FACES 6. ESCREVA("O NÚMERO DE VÉRTICES É:", VERTICES) FIMALGORITMO 22/26 Teste de Mesa Teste de mesa para o algoritmo VÉRTICES para um cubo: Linha VERTICES FACES ARESTAS Comentário 1??? Variáveis com valores indefinidos 2? [6]? 3? 6? 4? 6 [12] 5 8 6 12 6 {8} 6 12 Leitura do número de faces Leitura do número de arestas Cálculo do número de vértices Apresentação do número de vértices 23/26 Teste de Mesa Teste de mesa para o algoritmo VÉRTICES para um tetraedro: Linha VERTICES FACES ARESTAS 1??? 2? [4]? 3? 4? 4? 4 [6] 5 4 4 6 6 {4} 4 6 24/26

Teste de Mesa O VisuAlg permite a execução de um algoritmo passo a passo. Vamos utilizar essa funcionalidade, que permite que seja realizado um teste de mesa... 25/26 Exercício Elabore um algoritmo que receba um número inteiro de quatro dígitos e o escreva invertido (1346 será escrito como 6431). Dica: um número pode ser decomposto utilizando-se divisões inteiras sucessivas e operações de resto; um número pode ser composto utilizando-se e multiplicações e adições. Pergunta: e se o número de dígitos não for conhecido? 26/26