Aula 2: Algoritmos: Intuição
|
|
- Benedita Casqueira
- 4 Há anos
- Visualizações:
Transcrição
1 Aula 2: Algoritmos: Intuição Fernanda Passos Universidade Federal Fluminense Programação de Computadores IV Fernanda Passos (UFF) Algoritmos: Intuição Programação de Computadores IV 1 / 27
2 Agenda 1 Revisão e Contexto 2 Algoritmos (Provavelmente) Conhecidos 3 Algoritmos (Provavelmente) Não Conhecidos 4 Revisão Fernanda Passos (UFF) Algoritmos: Intuição Programação de Computadores IV 2 / 27
3 Agenda 1 Revisão e Contexto 2 Algoritmos (Provavelmente) Conhecidos 3 Algoritmos (Provavelmente) Não Conhecidos 4 Revisão Fernanda Passos (UFF) Algoritmos: Intuição Programação de Computadores IV 3 / 27
4 Programação Programa = Algoritmo + Estrutura de Dados. (Niklaus Wirth) Algoritmo: sequência de passos para alcançar um objetivo. Algoritmos são descritos em alguma linguagem. Definem que passos são possíveis e como descrevê-los. Restringem as operações que podem ser realizadas. Fernanda Passos (UFF) Algoritmos: Intuição Programação de Computadores IV 4 / 27
5 Foco da Aula de Hoje Algoritmos Relembrar algoritmos já conhecidos. E usados frequentemente. Criar algoritmos para novos problemas. Objetivo Trabalhar a capacidade de pensar algoritmicamente. Montar soluções a partir de operações básicas. Fernanda Passos (UFF) Algoritmos: Intuição Programação de Computadores IV 5 / 27
6 Agenda 1 Revisão e Contexto 2 Algoritmos (Provavelmente) Conhecidos 3 Algoritmos (Provavelmente) Não Conhecidos 4 Revisão Fernanda Passos (UFF) Algoritmos: Intuição Programação de Computadores IV 6 / 27
7 Algoritmos do Dia a Dia Há diversas atividades cotidianas nas quais empregamos algoritmos. Exemplos mais comuns estão na matemática. Algoritmos para soma, subtração, divisão,... Mas existem algoritmos para as mais diversas atividades. Exemplos: Calcular a data da Páscoa. Procurar uma página em um livro. Fernanda Passos (UFF) Algoritmos: Intuição Programação de Computadores IV 7 / 27
8 Soma de Dois Números Problema: como somar dois números com vários algarismos? Algoritmo: 1 Escreva os dois números, um embaixo do outro. 2 Alinhe os respectivos algarismos, da direita para a esquerda. 3 Complete com zeros à esquerda, se necessário. 4 Inicialmente, vai-um é zero. 5 Comece pela posição mais à direita. 6 Some os dois algarismos da posição atual e o vai-um. 7 Se a soma for menor que 10: 8 Senão: escreva na linha do resultado e vai-um passa a ser 0. separe os dois algarismos da soma; escreva o menos significativo na linha do resultado; vai-um passa a ser 1. 9 Se não há mais algarismos nos operandos: 10 Senão: escreva o vai-um na próxima coluna do resultado e pare. Avance a posição atual para o próximo algarismo à esquerda. Volte ao passo 6. Exemplos: Fernanda Passos (UFF) Algoritmos: Intuição Programação de Computadores IV 8 / 27
9 Soma de Dois Números: Problema vs. Instância O problema é a descrição genérica do que se deseja fazer. Somar dois números com vários algarismos. Uma instância é um caso particular do problema. e.g., somar 1731 e 3426, somar 5128 e 723. Um algoritmo correto deve ser capaz de dar a resposta certa para qualquer instância de um problema. Fernanda Passos (UFF) Algoritmos: Intuição Programação de Computadores IV 9 / 27
10 Soma de Mais de Dois Números Problema: como somar mais de dois números? Algoritmo: 1 Escreva todos os números, um embaixo do outro. 2 Alinhe os respectivos algarismos, da direita para a esquerda. 3 Complete com zeros à esquerda, se necessário. 4 Inicialmente, vai-um é zero. 5 Comece pela posição mais à direita. 6 Some os algarismos da posição atual e o vai-um. 7 Se a soma for menor que 10: 8 Senão: escreva na linha do resultado; e vai-um passa a ser 0. separe os dois algarismos da soma; escreva o menos significativo na linha do resultado; vai-um passa a ser o mais significativo. 9 Se não há mais algarismos nos operandos: 10 Senão: escreva o vai-um na próxima coluna do resultado e pare. Avance a posição atual para o próximo algarismo à esquerda. Volte ao passo 6. Exemplo: Fernanda Passos (UFF) Algoritmos: Intuição Programação de Computadores IV 10 / 27
11 Soma de Mais de Dois Números: Reutilização de Código Algoritmo para soma de dois números é conhecido. Pode ser aproveitado para a solução do problema mais geral. Algoritmo (versão 2): 1 Seja n a quantidade de números a serem somados. 2 Some os dois primeiros números e guarde o resultado parcial. 3 Subtraia 2 de n. 4 Se n é zero, pare. O resultado parcial é a resposta final. 5 Some o próximo número ao resultado parcial e armazene o novo resultado parcial. 6 Decremente n. 7 Volte ao passo 4. Note que... A nova solução é mais simples que a anterior. São necessários menos passos para descrevê-la. Fernanda Passos (UFF) Algoritmos: Intuição Programação de Computadores IV 11 / 27
12 Abrir Livro em uma Página Determinada Problema: Dado um livro com n páginas, encontre a página m (m n). Considere as duas seguintes soluções: Algoritmo 1 Algoritmo 2 1 Abra o livro na primeira página. 2 Se a página atual é a desejada, pare. 3 Vá para a próxima página. 4 Repita o passo 2. 1 Chute a posição correta da página. 2 Se a página escolhida é a desejada, pare. 3 Com base na página atual, faça um novo chute. 4 Repita o passo 2. Fernanda Passos (UFF) Algoritmos: Intuição Programação de Computadores IV 12 / 27
13 Abrir Livro em uma Página Determinada: Comentários Ambos os algoritmos estão corretos. Eventualmente, ambos levam à página correta. Um mesmo problema pode ter várias soluções. Primeiro algoritmo pode levar muito tempo para determinadas instâncias. e.g., encontre a página 537 em um livro de 1321 páginas. 537 trocas de página necessárias. Segundo algoritmo depende da nossa capacidade de chute. Fica mais fácil a medida que nos aproximamos da página desejada. Qual dos dois métodos utilizamos na prática? Fernanda Passos (UFF) Algoritmos: Intuição Programação de Computadores IV 13 / 27
14 Teste de Primalidade Problema: dado um número inteiro n > 1, determine se o mesmo é primo. Um número inteiro n > 1 é primo se, e somente se, n é divisível apenas por 1 e n. Algoritmo: 1 Comece com um divisor igual a 2. 2 Se o divisor é igual a n, pare (n é primo). 3 Se o divisor divide n, pare (n é composto). 4 Incremente o divisor. 5 Volte para o passo 2. Fernanda Passos (UFF) Algoritmos: Intuição Programação de Computadores IV 14 / 27
15 Teste de Primalidade: Estrutura de Dados O algoritmo proposto precisa guardar o valor atual do divisor durante a execução. Ele varia de 2 até (potencialmente) n. O divisor faz parte da estrutura de dados associada ao algoritmo. Fernanda Passos (UFF) Algoritmos: Intuição Programação de Computadores IV 15 / 27
16 Agenda 1 Revisão e Contexto 2 Algoritmos (Provavelmente) Conhecidos 3 Algoritmos (Provavelmente) Não Conhecidos 4 Revisão Fernanda Passos (UFF) Algoritmos: Intuição Programação de Computadores IV 16 / 27
17 O Crivo de Eratóstenes Problema: liste todos os números primos menores ou iguais a n. Primeira abordagem: para cada número de 2 a n, executar o teste de primalidade. Reutilização de código! Não há uma maneira melhor? melhor = menos operações. Fernanda Passos (UFF) Algoritmos: Intuição Programação de Computadores IV 17 / 27
18 Analisando as Propriedades do Problema Informações Conhecidas Número primo: divisível apenas por ele mesmo e por 1. Se o número m é composto, há algum primo p, 1 < p < m, tal que p \ m. Consequências Para um dado primo p, qualquer múltiplo de p é composto. Se m não é múltiplo de nenhum primo menor que ele, m é primo. Propriedade Adicional Se m é composto, ele é divisível por algum p m. Fernanda Passos (UFF) Algoritmos: Intuição Programação de Computadores IV 18 / 27
19 Construíndo o Algoritmo Relembrando Problema: liste todos os números primos menores ou iguais a n. Estratégia Se conhecemos um dado número primo p, podemos eliminar todos os seus múltiplos. Se conhecemos os k primeiros primos e eliminarmos todos os seus múltiplos, o menor número restante é primo. Primo Primo Primo Fernanda Passos (UFF) Algoritmos: Intuição Programação de Computadores IV 19 / 27
20 Escrevendo o Algoritmo 1 Liste todos os números de 2 a n. 2 Dentre os números não marcados como primos ou descartados, escolha o menor. 3 Se o valor escolhido é maior que n: Marque todos os números ainda não descartados como primos. Pare. 4 Marque este valor como primo. 5 Para cada valor múltiplo do primo atual e ainda não descartado, marque como descartado. 6 Volte ao passo 2. Fernanda Passos (UFF) Algoritmos: Intuição Programação de Computadores IV 20 / 27
21 Método Babilônico Problema: calcular (ou aproximar) a raiz quadrada de um número positivo x. Primeira ideia: tentativa e erro. Testar valores 1 m x. Se m 2 x, pare. No entanto, como escolher os valores a serem testados? Fernanda Passos (UFF) Algoritmos: Intuição Programação de Computadores IV 21 / 27
22 Analisando as Propriedades do Problema Note Que Se a > x, então b = x a < x. O intervalo (b, a) contém x. Analogamente, se a < x, então b = x a > x. Em ambos os casos, a = a+b 2 e b = x a definem um intervalo mais curto que contém a raiz. Consequências Partindo de um chute inicial (a = x 2, por exemplo), podemos construir um intervalo contendo x. Calculando b = x a. O intervalo pode ser reduzido sucessivamente, calculando-se novos valores a = a+b 2 e b = x a. Fernanda Passos (UFF) Algoritmos: Intuição Programação de Computadores IV 22 / 27
23 Escrevendo o Algoritmo 1 Calcule um chute inicial a = x 2. 2 Se a 2 x, pare. 3 Calcule b = x a. 4 Recalcule o valor de a como a = a+b 2. 5 Volte ao passo 2. Fernanda Passos (UFF) Algoritmos: Intuição Programação de Computadores IV 23 / 27
24 Exemplo de Aplicação do Algoritmo (Chinês) (31.4) x b (2) (31.4) x b (3.98) (31.4) x b (7.84) a (126) (Para x = ) Primeira Iteração Segunda Iteração a (248) Terceira Iteração a (494) (31.4) x a b (14.8) (66.9) (31.4) x b a (24.2) (40.8) (31.4) x b a (30.4) (32.5) (31.4) x b a (31.4) (31.4) Quarta Iteração Quinta Iteração Sexta Iteração Sétima Iteração Fernanda Passos (UFF) Algoritmos: Intuição Programação de Computadores IV 24 / 27
25 Agenda 1 Revisão e Contexto 2 Algoritmos (Provavelmente) Conhecidos 3 Algoritmos (Provavelmente) Não Conhecidos 4 Revisão Fernanda Passos (UFF) Algoritmos: Intuição Programação de Computadores IV 25 / 27
26 Importante Lembrar Problema vs. Instância. Um algoritmo é correto quando resolve qualquer instância corretamente. Reutilização de código. Em geral, vários algoritmos resolvem um mesmo problema. Nem sempre são igualmente bons. Raciocínio para criação de um algoritmo. Pensar nas propriedades do problema. Pensar em como elas podem ser usadas para resolvê-lo. Dividir o problema em sub-problemas. Fernanda Passos (UFF) Algoritmos: Intuição Programação de Computadores IV 26 / 27
27 Exercício 1 Número de iterações do Método Babilônico depende da qualidade do chute inicial. Quanto melhor o chute (mais próximo do resultado), mais rápida a convergência. Escreva um algoritmo que calcule um chute inicial melhor do que o apresentado. (Em especial, para instâncias grandes) 2 Tenho 9 pérolas idênticas, mas sei que uma delas é falsa, e é mais leve que as outras; indique os passos de como posso identificar a pérola falsa, com apenas duas pesagens em uma balança de dois pratos. Fernanda Passos (UFF) Algoritmos: Intuição Programação de Computadores IV 27 / 27
Aula 3: Algoritmos: Formalização e Construção
Aula 3: Algoritmos: Formalização e Construção Fernanda Passos Universidade Federal Fluminense Programação de Computadores IV Fernanda Passos (UFF) Algoritmos: Formalização e Pseudo-Código Programação de
Leia maisAula 7: Estrutura de Decisão
Aula 7: Estrutura de Decisão Fernanda Passos Universidade Federal Fluminense Programação de Computadores IV Fernanda Passos (UFF) Estrutura de Decisão Programação de Computadores IV 1 / 27 Agenda 1 Revisão
Leia maisRepresentações de Números Inteiros: Sinal e Magnitude e Representação em Excesso de k
Representações de Números Inteiros: Sinal e Magnitude e Representação em Excesso de k Cristina Boeres Instituto de Computação (UFF) Fundamentos de Arquiteturas de Computadores Material de Fernanda Passos
Leia maisESTRUTURAS DE REPETIÇÃO - PARTE 2
AULA 16 ESTRUTURAS DE REPETIÇÃO - PARTE 2 16.1 A seqüência de Fibonacci Um problema parecido, mas ligeiramente mais complicado do que o do cálculo do fatorial (veja as notas da Aula 14), é o do cálculo
Leia maisAula 7: Representações de Números Inteiros: Sinal e Magnitude e Representação em Excesso de k
Aula 7: Representações de Números Inteiros: Sinal e Magnitude e Representação em Excesso de k Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF)
Leia maisAritmética em Bases Não Decimais
Aritmética em Bases Não Decimais Cristina Boeres Insituto de Computação (UFF) Fundamentos de Arquiteturas de Computadores Material cedido por Fernanda Passos (IC/UFF) Aritmética em Bases Não Decimais FAC
Leia maisExercícios: Comandos de Repetição
Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C Exercícios: Comandos de Repetição 1. Faça um programa que determine o mostre os
Leia maisAula 8: Complemento a Um e Complemento a Dois
Aula 8: Complemento a Um e Complemento a Dois Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Complemento a Um e Complemento a Dois FAC 1 / 40
Leia maisAula 6: Aritmética em Bases Não Decimais
Aula 6: Aritmética em Bases Não Decimais Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Aritmética em Bases Não Decimais FAC 1 / 35 Introdução
Leia maisProgramação Procedimental
Programação Procedimental Maria Adriana Vidigal de Lima Universidade Federal de Uberlândia - 2013 1 Escrita de Algoritmos 1.1 Técnicas de Programação e Algoritmos Na elaboração de programas maiores e complexos
Leia maisa) Falsa. Por exemplo, para n = 2, temos 3n = 3 2 = 6, ou seja, um número par.
Matemática Unidade I Álgebra Série - Teoria dos números 01 a) Falsa. Por exemplo, para n =, temos 3n = 3 = 6, ou seja, um número par. b) Verdadeira. Por exemplo, para n = 1, temos n = 1 =, ou seja, um
Leia maisESTRUTURAS DE REPETIÇÃO - PARTE 1
AULA 15 ESTRUTURAS DE REPETIÇÃO - PARTE 1 15.1 O comando enquanto-faca- Considere o problema de escrever um algoritmo para ler um número inteiro positivo, n, e escrever todos os números inteiros de 1 a
Leia maisAula 6: Entrada e Saída
Aula 6: Entrada e Saída Fernanda Passos Universidade Federal Fluminense Programação de Computadores IV Fernanda Passos (UFF) Entrada e Saída Programação de Computadores IV 1 / 29 Agenda 1 Revisão e Contexto
Leia maisMarina Andretta/Franklina Toledo. 18 de outubro de Baseado no livro Análise Numérica, de R. L. Burden e J. D. Faires.
Determinação de raízes de funções: Marina Andretta/Franklina Toledo ICMC-USP 18 de outubro de 2012 Baseado no livro Análise Numérica, de R. L. Burden e J. D. Faires. Marina Andretta/Franklina Toledo (ICMC-USP)
Leia maisExercícios: Vetores e Matrizes
Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C Exercícios: Vetores e Matrizes 1 Vetores 1. Faça um programa que possua um vetor
Leia maisAula 10: Introdução a Vetores e Matrizes
Aula 10: Introdução a Vetores e Matrizes Fernanda Passos Universidade Federal Fluminense Programação de Computadores IV Fernanda Passos (UFF) Vetores e Matrizes Programação de Computadores IV 1 / 50 Agenda
Leia maisOrganização de Computadores I
Organização de Computadores I Aula 5 Material: Diego Passos http://www.ic.uff.br/~debora/orgcomp/pdf/parte5.html Organização de Computadores I Aula 5 1/21 Tópicos Representação de números negativos: Sinal-magnitude.
Leia maisLINGUAGEM C: COMANDOS DE REPETIÇÃO
LINGUAGEM C: COMANDOS DE REPETIÇÃO Prof. André Backes ESTRUTURAS DE REPETIÇÃO Uma estrutura de repetição permite que uma sequência de comandos seja executada repetidamente, enquanto determinadas condições
Leia maisCurso: Análise e Desenvolvimento de Sistemas. (Conceitos Práticos de Lógica de Programação)
Curso: Análise e Desenvolvimento de Sistemas Disciplina Algoritmos e Programação (Conceitos Práticos de Lógica de Programação) Prof. Wagner Santos C. de Jesus wsantoscj@gmail.com Conceito de Algoritmo
Leia maisMATEMÁTICA. Aula 4. Professor : Dêner Rocha. Monster Concursos 1
MATEMÁTICA Aula 4 Professor : Dêner Rocha Monster Concursos 1 Divisibilidade Critérios de divisibilidade São critérios que nos permite verificar se um precisarmos efetuar grandes divisões. número é divisível
Leia maisMÚLTIPLOS E DIVISORES
MÚLTIPLOS E DIVISORES 6º ANO - Prof. Patricia Caldana Múltiplos e divisores são números que resultam da multiplicação por um número natural e que dividem um número deixando resto zero, respectivamente.
Leia maisLógica e Linguagem de Programação Aula 04 - Estruturas de Repetição Repetição com Teste no Início Enquanto - GABARITO Professor: Danilo Giacobo
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 Este guia irá lhe ajudar a entender o laço de repetição enquanto.
Leia maisTécnicas de Programação
Técnicas de Programação Algoritmos Anderson Gomes Eleutério Lógica A lógica de programação é necessária para pessoas que desejam trabalhar com desenvolvimento de sistemas e programas, ela permite definir
Leia maisDesenho e Análise de Algoritmos CC /2018. Folha 1 - Revisão: Escrita de algoritmos em pseudo-código e verificação de correção
Departamento de Ciência de Computadores FCUP Desenho e Análise de Algoritmos CC2001 2017/2018 Folha 1 - Revisão: Escrita de algoritmos em pseudo-código e verificação de correção Descrição da linguagem
Leia maisAKS: um algoritmo para identificar números primos
AKS: um algoritmo para identificar números primos IM-UFBA 08 de novembro de 2016 Índice 1 Preliminares 2 3 4 5 Introdução Números primos Comprovar a primalidade de um número natural significa comprovar
Leia maisAula Inaugural Curso Alcance 2017
Aula Inaugural Curso Alcance 2017 Revisão de Matemática Básica Professores: Me Carlos Eurico Galvão Rosa e Me. Márcia Mikuska Universidade Federal do Paraná Campus Jandaia do Sul cegalvao@ufpr.br 06 de
Leia maisProgramação II. Victor Amorim dos Santos
Programação II Victor Amorim dos Santos Estrutura de repetição - Loops Definição Loop é uma palavra inglesa, que originalmente significa aro, anel ou sequência. Início X verdadeiro X!= 0 Exemplo: Ler um
Leia maisConceitos Básicos. Professor: Juliano Lucas Gonçalves.
Conceitos Básicos Professor: Juliano Lucas Gonçalves juliano.goncalves@ifsc.edu.br Agenda Revisão Algoritmos Memória, variáveis e constantes Estrutura básica de um algoritmo em pseudocódigo 2 O que já
Leia maisAula prática 5. Funções Recursivas
Programação Funcional UFOP DECOM 2014.1 Aula prática 5 Funções Recursivas Resumo Definições recursivas são comuns na programação funcional. Nesta aula vamos aprender a definir funções recursivas. Sumário
Leia maisSSC304 Introdução à Programação Para Engenharias
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Introdução à Para Engenharias Estruturas de Controle de Fluxo GE4 Bio GE4Bio Grupo de
Leia maisLinguagem Computacional
Informática II Linguagem Computacional Algoritmos e Programação Parte 3 Prof. Dr. Adriano Cansian Prof. Dr. Leandro Alves Neves 1 Sumário Operações e Expressões q Definição q Operadores: Aritméticos. Relacionais.
Leia maisComplemento a Um e Complemento a Dois
Complemento a Um e Complemento a Dois Cristina Boeres (baseado no material de Fernanda Passos) Instituto de Computação (UFF) Fundamentos de Arquiteturas de Computadores Cristina Boeres (IC/UFF) Complemento
Leia maisIdentificar e aplicar os critérios de divisibilidade por 2, 3, 4, 5,6, 8, 9 e 10.
DISCIPLINA: MATEMÁTICA PROFESSORA: GIOVANA 6os. ANOS (161 e 162) Você deverá: ORIENTAÇÃO DE ESTUDO RECUPERAÇÃO 3º. TRIMESTRE 1. Estudar o resumo dos conteúdos que, neste material, estão dentro dos quadros.
Leia maisHewlett-Packard CONJUNTOS NUMÉRICOS. Aulas 01 a 08. Elson Rodrigues, Gabriel Carvalho e Paulo Luiz Ramos
Hewlett-Packard CONJUNTOS NUMÉRICOS Aulas 01 a 08 Elson Rodrigues, Gabriel Carvalho e Paulo Luiz Ramos Ano: 2019 Sumário CONJUNTOS NUMÉRICOS... 2 Conjunto dos números Naturais... 2 Conjunto dos números
Leia maisAula 5: Conversões Entre Bases Numéricas
Aula 5: Conversões Entre Bases Numéricas Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Conversões Entre Bases Numéricas FAC 1 / 43 Conversão
Leia maisIntrodução a Computação
Edirlei Soares de Lima Introdução a Computação Aula 02 Lógica de Programação Lógica de Programação Lógica de Programação é a técnica de criar sequências lógicas de ações para atingir
Leia maisAlgoritmo é um conjunto de regras, raciocínios ou operações que levam a solução de um problema com etapas finitas.
1 of 18 2 of 18 Sumário 1. A tutora 2. Introdução 3. Variáveis e Tipos de Dados 4. Comandos de Atribuição 5. Operações Aritméticas 6. Operações Lógicas 7. Operações de Comparação 8. Comandos de Entrada
Leia maisRecursividade. Estrutura de Dados. Prof. Kleber Rezende
Recursividade Estrutura de Dados Prof. Kleber Rezende Considerações Iniciais Em aulas anteriores fizemos uma função que permite calcular o fatorial de um número. Naquela função, a cada nova iteração o
Leia maisDivisibilidade Múltiplos de um número Critérios de divisibilidade 5367
Divisibilidade Um número é divisível por outro quando sua divisão por esse número for exata. Por exemplo: 20 : 5 = 4 logo 20 é divisível por 5. Múltiplos de um número Um número tem um conjunto infinito
Leia maisCritérios de divisibilidade Para alguns números como o dois, o três, o cinco e outros, existem regras que permitem verificar a divisibilidade sem se
Critérios de divisibilidade Para alguns números como o dois, o três, o cinco e outros, existem regras que permitem verificar a divisibilidade sem se efetuar a divisão. Essas regras são chamadas de critérios
Leia maisMetodologia para resolução de um problema
1 Metodologia para resolução de um problema 1. Pôr o problema de modo claro. 2. Definir os dados necessários para resolver o problema (input) e o que se pretende que o problema forneça (output). 3. Pensar
Leia maisIntrodução à Lógica de Programação e Aplicativos Instrumentais
MATEMÁTICA Tema da aula: Introdução à Lógica de Programação e Aplicativos Instrumentais Professor: Dr. Rodrigo Choji de Freitas 2 Algoritmo AREACIRCUNFERENCIA VAR RAIO, AREA: REAL INÍCIO ESCREVA ( DIGITE
Leia maisFluxogramas. Vanessa Braganholo
Fluxogramas Vanessa Braganholo vanessa@ic.uff.br Antes de vermos Fluxogramas...... vamos conhecer um pouco sobre a evolução das linguagens de programação 2 Paradigmas de Programação Definem regras básicas
Leia maisBCC Introdu c ao ` a Programa c ao Portugol Guillermo C amara-ch avez UFOP 1/35
BCC 201 - Introdução à Programação Portugol Guillermo Cámara-Chávez UFOP 1/35 Introdução I Lógica A lógica é usada no dia a dia das pessoas que trabalham com computação para solucionar problemas de forma
Leia maisIntrodução à Programação Estruturada Parte 2. Material da Prof. Ana Eliza
Introdução à Programação Estruturada Parte 2 Material da Prof. Ana Eliza programa Passo 1: Definir o problema O que fazer? Passo 2: Especificar a solução Como fazer? Passo 3: Codificar a solução Passo
Leia maisINTRODUÇÃO À PROGRAMAÇÃO. Introdução à Algoritmos. Prof. Me. Sérgio Carlos Portari Júnior
INTRODUÇÃO À PROGRAMAÇÃO Introdução à Algoritmos Prof. Me. Sérgio Carlos Portari Júnior www.sergioprotari.com.br sergio.junior@uemg.br TÓPICOS ABORDADOS Noções de Lógica (Parte 1) O que é a lógica Lógica
Leia maisUnidade I Conjunto dos Números Naturais.
A A Unidade I Conjunto dos Números Naturais. A A Aula 3.2 Conteúdo: Calcular da divisão de dois ou mais números naturais. A A Habilidade: Identificar as propriedades. A A Agora iremos aprender uma forma
Leia maisIntrodução a programação Comandos de repetição
Instituto Federal de Minas Gerais Campus Ponte Nova Introdução a programação Comandos de repetição Professor: Saulo Henrique Cabral Silva Laços de repetição 2 Vamos começar com um exercício Imprimir os
Leia maisFluxogramas. Leonardo Gresta Paulino Murta.
Fluxogramas Leonardo Gresta Paulino Murta leomurta@ic.uff.br Antes de vermos Fluxogramas......vamos conhecer um pouco sobre a evolução das linguagens de programação Leonardo Murta Fluxogramas 2 Paradigmas
Leia maisProg A B C A e B A e C B e C A,B e C Nenhum Pref
Polos Olímpicos de Treinamento Curso de Combinatória - Nível 2 Prof. Bruno Holanda Aula 2 Lógica II Quando lemos um problema de matemática imediatamente podemos ver que ele está dividido em duas partes:
Leia maisProgramação de Computadores
Programação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação Otton Teixeira da Silveira Filho Conteúdo Exercícios e implementação de algoritmos: Número capicua Constante
Leia maisPESQUISA OPERACIONAL 11. SOLUÇÃO ALGEBRICA O MÉTODO SIMPLEX ( ) DEFINIÇÕES REGRAS DE TRANSFORMAÇÃO. Prof. Edson Rovina Página 16
11. SOLUÇÃO ALGEBRICA O MÉTODO SIMPLEX Página 16 Após o problema ter sido modelado, pode-se resolvê-lo de forma algébrica. A solução algébrica é dada pelo método simplex elaborado por Dantzig. Antes da
Leia maisMATRIZES - PARTE Definição e Manipulação de Matrizes AULA 21
AULA 21 MATRIZES - PARTE 1 21.1 Definição e Manipulação de Matrizes Sabemos como definir variáveis de um novo tipo de dados, denominado vetor, que representam seqüências de valores de um mesmo tipo. Por
Leia maisLista de Exercícios Estrutura de Repetição
Universidade Federal Fluminense Instituto de Computação Programação de Computadores III Luciana Brugiolo Gonçalves Lista de Exercícios Estrutura de Repetição E15. Desenvolva um algoritmo para exibir todos
Leia maisFunções - Primeira Lista de Exercícios
Funções - Primeira Lista de Exercícios Vers~ao de 0/03/00 Recomendações Não é necessário o uso de teoremas ou resultados complicados nas resoluções. Basta que você tente desenvolver suas idéias. Faltando
Leia mais1. Múltiplos e divisores
Escola Básica de Santa Marinha Matemática 2009/2010 7º Ano Síntese dos conteúdos Números e operações 1 Múltiplos e divisores Múltiplo de um número é todo o número que se obtém multiplicando o número dado
Leia maisAlgoritmos e Lógica de Programação. 6ª Lista de Exercícios Comandos de Repetição
Algoritmos e Lógica de Programação 6ª Lista de Exercícios Comandos de Repetição 1. Qual a saída do programa abaixo? int i; for (i = 0; i < 10; i += 2) printf("%d\n", i / 2); 2. Qual a saída do programa
Leia mais1.1 Etapas na solução de um problema. 1.3 Tipos de erros. 1.4 Aritmética de ponto flutuante.
1. Computação numérica 1.1 Etapas na solução de um problema. 1.2 Notação algorítmica. 1.3 Tipos de erros. 1.4 Aritmética de ponto flutuante. Algoritmos Numéricos Cap.1: Computaç~ao numérica Ed1.0 c 2001
Leia maisUSANDO UM MÉTODO INDUTIVO PARA RESOLVER PROBLEMAS. Bruno Maffeo Departamento de Informática PUC-Rio
USANDO UM MÉTODO INDUTIVO PARA RESOLVER PROBLEMAS Bruno Maffeo Departamento de Informática PUC-Rio MÉTODO INDUTIVO O método indutivo para resolver problemas aqui empregado inspira-se na formulação mais
Leia maisMicroprocessadores I ELE Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios
Microprocessadores I ELE 1078 Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios Grupos de Instruções do 8085 As instruções no 8085 são distribuídas em 5 grupos: 1. Grupo de transferência da
Leia maisEstruturas de Repetição
Estruturas de Repetição Lista 05 Algoritmos e Linguagens de Programação Professor: Edwar Saliba Júnior Estruturas de Repetição O que são e para que servem? São comandos que são utilizados na programação
Leia maisEscreva um programa que imprima todos os números impares do intervalo fechado de 1 a 100.
Exercício 1 PROGRAMAÇÃO DE COMPUTADORES I - BCC701 Aula Prática 07 Escreva um programa que imprima todos os números impares do intervalo fechado de 1 a 100. Execução: 1 3 5 7 9 11 13 15 17 19 21 23 25
Leia maisCONJUNTOS OPERAÇÕES E PROBLEMAS PROFESSSOR: MARCELO JARDIM 1 Determine o dividendo de uma divisão quando o divisor é igual a 7, e o resto é igual a 4, sendo quociente igual a 2: (A) 30 (B) 18 (C) 15 (D)
Leia maisFundamentos de Arquiteturas de Computadores
Fundamentos de Arquiteturas de Computadores Cristina Boeres Instituto de Computação (UFF) Conversões Entre Bases Numéricas Material de Fernanda Passos (UFF) Conversões Entre Bases Numéricas FAC 1 / 42
Leia mais2. Números Inteiros. A representação gráfica dos números Inteiros Os números podem ser representados numa reta horizontal, a reta numérica:
. Números Inteiros Sempre que estamos no inverno as temperaturas caem. Algumas cidades do Sul do Brasil chegam até mesmo a nevar. Quando isso acontece, a temperatura está menor do que zero. Em Urupema,
Leia maisAula 9: Estouro e Representação em Ponto Flutuante
Aula 9: Estouro e Representação em Ponto Flutuante Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Estouro e Ponto Flutuante FAC 1 / 43 Revisão
Leia maisPolos Olímpicos de Treinamento. Aula 7. Curso de Teoria dos Números - Nível 2. Aula de Revisão e Aprofundamento. Prof.
Polos Olímpicos de Treinamento Curso de Teoria dos Números - Nível 2 Prof. Samuel Feitosa Aula 7 Aula de Revisão e Aprofundamento Observação 1. É recomendável que o professor instigue seus alunos a pensarem
Leia maisPCI- Estrutura de Repetição II. Profa. Mercedes Gonzales Márquez
PCI- Estrutura de Repetição II Profa. Mercedes Gonzales Márquez Estrutura de Repetição Exemplo 1: Imprimir os n primeiros números inteiros positivos. int i, n; scanf("%d",&n); for (i=1; i
Leia maisdeve ter a forma 2 3 5, com a, b e c inteiros, 0 a 8, é dessa forma. Cada um dos outros números possui um fator primo diferente de 2, 3 e 5.
XXXII OLIMPÍADA BRASILEIRA DE MATEMÁTICA PRIMEIRA FASE NÍVEL (Ensino Médio) GABARITO GABARITO NÍVEL 1) E 6) C 11) E 16) D 1) E ) B 7) B 1) C 17) E ) C ) E 8) D 1) D 18) A ) B 4) E 9) D 14) A 19) C 4) E
Leia maisIntrodução a programação Visão geral
Instituto Federal de Minas Gerais Campus Ponte Nova Introdução a programação Visão geral Professor: Saulo Henrique Cabral Silva Conceitos lógica/algoritmo A lógica é usada no dia a dia das pessoas para
Leia maisLógica de Programação
Lógica de Programação Significa o uso correto das leis do pensamento e de processos de raciocínio para a produção de soluções logicamente válidas e coerentes, que resolvam com qualidade os problemas que
Leia maisComputação I: Representações de Algoritmos
Computação I: Representações de Algoritmos reginaldo.re@utfpr.edu.br * Parte da apresentação foi gentilmente cedida pelo prof. Igor Steinmacher Agenda Objetivos Relembrando... Algoritmos para desenvolver
Leia maisCircuitos Lógicos. Capítulo 9 Aritmérica Digital: Operações e Circuitos
UNIVERSIDADE FEDERAL DE SÃO JOÃO DEL REI Circuitos Lógicos Capítulo 9 Aritmérica Digital: Operações e Circuitos Prof. Erivelton Geraldo Nepomuceno http://www.ufsj.edu.br/nepomuceno nepomuceno@ufsj.edu.br
Leia maisLinguagem de Descrição de algoritmos
FTC Faculdade de Tecnologia e Ciências Engenharia Civil 1º Semestre Linguagem de Descrição de algoritmos Rafael Barbosa Neiva rafael@prodados.inf.br Definição - Algoritmo Diariamente, executamos uma série
Leia maisProgramação de Redes de Computadores
1: Introdução 1 MINISTÉRIO DA EDUCAÇÃO SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA CAMPUS SÃO JOSÉ SANTA CATARINA Programação de Redes de Computadores
Leia maisAula 9: Estouro e Representação em Ponto Flutuante
Aula 9: Estouro e Representação em Ponto Flutuante Fernanda Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Material baseado nos slides do prof. Diego Passos Fernanda
Leia maisResolução De Problemas Em Informática. Docente: Ana Paula Afonso Resolução de Problemas. 1. Analisar o problema
ALGORITMIA Resolução De Problemas Em Informática Docente: Ana Paula Afonso 2000-2001 Resolução de Problemas 1. Analisar o problema Conhecer o bem o problema Descrever o problema: subdividir, detalhar 2.
Leia mais6 a Lista Complementar de Exercícios de CI208 Programação de Computadores 13/02/2014
6 a Lista Complementar de Exercícios de CI208 Programação de Computadores 13/02/2014 Parte A - Exercícios de Fixação de Aprendizagem 1. Faça um programa em C++ que leia do teclado uma sequência de 10 números
Leia maisFundamentos de Programação 1
Fundamentos de Programação 1 Estrutura de Repetição para - passo Slides 11 Prof. SIMÃO Jean Marcelo SIMÃO Estrutura de Repetição para passo para Variável de ValorIni ate ValorFin passo P faca conjunto
Leia maisCálculo Numérico. Zeros de funções reais
Cálculo Numérico Zeros de funções reais Agenda Introdução Isolamento de raízes Refinamento Bissecção Posição Falsa Método do ponto fixo (MPF) Método de Newton-Raphson Método da secante Introdução Um número
Leia maisProgramação científica C++
Programação científica C++ NIELSEN CASTELO DAMASCENO Slide 3 Exercícios Escreva um programa para armazenar o valor 20 em uma variável X e o valor 5 em uma variável Y. A seguir, armazenar a soma do valor
Leia mais1 TESTE OPÇÃO II - TEORIA DE NÚMEROS COMPUTACIONAL
1 TESTE OPÇÃO II - TEORIA DE NÚMEROS COMPUTACIONAL Licenciatura em Matemática 30 de março de 2012 duração 1h 45m Responda, justificando cuidadosamente, às seguintes questões: 1. Calcule uma estimativa
Leia maisExercícios Repetição
Curso de Engenharia de Controle e Automação Disciplina: Informática para a Automação Professor: Marcelo Cendron Exercícios Repetição 1.1 8.3 Exercícios 1. Faça um programa utilizando o comando while, que
Leia maisLinguagem e Técnicas em Programação. Gilson de Souza Carvalho
Gilson de Souza Carvalho gaucho.gilson@hotmail.com 4.3 Comandos de repetição encadeados Apesar de seguir o mesmo padrão de encadeamento de outros comandos já vistos, a utilização de comandos de repetição
Leia mais25 = 5 para calcular a raiz quadrada de 25, devemos encontrar um número que
RADICIAÇÃO Provavelmente até o 8 ano, você aluno só viu o conteúdo de radiciação envolvendo A RAIZ QUADRA Para relembrar: = para calcular a raiz quadrada de, devemos encontrar um número que elevado a seja,
Leia maisLógica e Linguagem de Programação Aula 04 - Estruturas de Repetição Repetição com Teste no Final - Repita Até - GABARITO Professor: Danilo Giacobo
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 Este guia irá lhe ajudar a entender o laço de repetição
Leia maisÁlgebra A - Aula 02 Teorema da fatoração única, Propriedade fundamental dos primos, números primos
Álgebra A - Aula 02 Teorema da fatoração única, Propriedade fundamental dos primos, números primos Elaine Pimentel Departamento de Matemática, UFMG, Brazil 2 o Semestre - 2010 Teorema da fatoração única
Leia maisRaciocínio Lógico I. Solução. Primeiramente vamos listar todos os números de dois algarismos que são múltiplos de 7 ou 13.
Polos Olímpicos de Treinamento Curso de Combinatória - Nível 1 Prof. Bruno Holanda Aula 3 Raciocínio Lógico I O estudo da Lógica é essencial para os alunos que desejam participar de olimpíadas de matemática.
Leia maisConceitos Práticos de Lógica de Programação
Faculdade de Engenharia da Computação Disciplina: Lógica de Programação Conceitos Práticos de Lógica de Programação Site : http://www1.univap.br/~wagner/ec.html Prof. Responsáveis Wagner Santos C. de Jesus
Leia maisSME0300 Cálculo Numérico Aula 4
SME0300 Cálculo Numérico Aula 4 Maria Luísa Bambozzi de Oliveira marialuisa @ icmc. usp. br Sala: 3-241 Página: tidia-ae.usp.br 13 de agosto de 2015 Aula Passada Operações Aritméticas: Arredondamento a
Leia maisAritmética Binária e Complemento a Base. Introdução ao Computador 2010/1 Renan Manola
Aritmética Binária e Complemento a Base Introdução ao Computador 2010/1 Renan Manola Sumário Soma e multiplicação binária; Subtração e divisão binária; Representação com sinal; Complemento a base. Adição
Leia maisCurso destinado à preparação para Concursos Públicos e Aprimoramento Profissional via INTERNET
MATEMÁTICA AULA DEMONSTRATIVA GRATUITA OPERAÇÕES NOS CONJUNTOS NUMÉRICOS A matemática é uma ciência em que o conhecimento é aplicado cumulativamente, ou seja, tudo o que foi aprendido será utilizado nos
Leia maisAula 19: UCP: Construindo um Caminho de Dados (Parte III)
Aula 19: UCP: Construindo um Caminho de Dados (Parte III) Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) UCP: Caminho de Dados (III) FAC 1 /
Leia maisIntrodução à Computação
Introdução à Computação Jordana Sarmenghi Salamon jssalamon@inf.ufes.br jordanasalamon@gmail.com http://inf.ufes.br/~jssalamon Departamento de Informática Universidade Federal do Espírito Santo Agenda
Leia maisLógica e Linguagem de Programação Aula 03 - Estruturas de controle Estrutura Condicional - Exercícios Resolvidos Professor: Danilo Giacobo
Lógica e Linguagem de Programação Aula 03 - Estruturas de controle Estrutura Condicional - Exercícios Resolvidos Professor: Danilo Giacobo Os problemas abaixo foram resolvidos usando a forma de pseudocódigo
Leia maisUniversidade Estadual de Feira de Santana Departamento de Ciências Exatas. Clone do MatLab. João Carlos Nunes Bittencourt. Feira de Santana, 2008
1 Universidade Estadual de Feira de Santana Departamento de Ciências Exatas Clone do MatLab João Carlos Nunes Bittencourt Feira de Santana, 2008 2 SUMÁRIO 1 Introdução... 6 2 Desenvolvimento... 7 2.1 Rotina
Leia maisComunidade de Prática Virtual Inclusiva Formação de Professores
Soroban no Laboratóriode Informática Adição (somas complexas) Ensino Fundamental II Objetivo: Praticar em um soroban digital a soma de números complexos, onde não é possível aproximar da barra central
Leia mais