MC102 Algoritmos e Programação de Computadores
|
|
|
- Otávio de Sousa Raminhos
- 10 Há anos
- Visualizações:
Transcrição
1 MC102 Algoritmos e Programação de Computadores Instituto de Computação UNICAMP Primeiro Semestre de 2015
2 Roteiro 1 Fundamentos de análise de algoritmos 2 Cálculo da função de custo 3 Exercícios Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de / 23
3 Fundamentos de análise de algoritmos Como analisar um algoritmo: Contar o número de operações realizadas pelo algoritmo para uma dada entrada. Expressar este número em função do tamanho da entrada (n). Exemplos de funções de custo de um algoritmo: f1 (n) = 5n f 2 (n) = 2n 2 f 3 (n) = n log n Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de / 23
4 Fundamentos de análise de algoritmos A análise é sempre realizada em relação a um dado modelo computacional. No nosso caso, vamos considerar um modelo simplificado: O computador tem um único processador. Todos os acessos à memória têm o mesmo custo. Instruções são executadas sequencialmente. Não há instruções nem operações paralelas. Todas as instruções têm custo similar (uma unidade). Geralmente estamos interessados em medir o uso dos recursos do sistema (tempo de processamento, uso de memória, largura de banda, consumo de energia, etc). Nesta aula vamos considerar como custo computacional apenas o tempo de processamento de um programa. Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de / 23
5 Fundamentos de análise de algoritmos Para exemplificar a diferença entre funções de custo, suponha: Um computador com 1GHz. Uma instrução executada a cada ciclo da máquina (1GHz = 10 9 instruções por segundo). Considere, por exemplo, que o tamanho da entrada é n = : Algoritmo com custo f (n) = n: O computador gastará aproximadamente 1 milissegundo. Algoritmo com custo f (n) = n log n: O computador gastará aproximadamente 6 milissegundos. Algoritmo com custo f (n) = n n: O computador gastará aproximadamente 1 segundo. Algoritmo com custo f (n) = n 2 : O computador gastará aproximadamente 17 minutos. Algoritmo com custo f (n) = n 3 : O computador gastará aproximadamente 32 anos. Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de / 23
6 Considere o número de atribuições realizadas por esta função: void troca(int *x, int *y) { int aux; } aux = *x; *x = *y; *y = aux; f (n) = = 5 Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de / 23
7 Considere o custo de inicialização de um vetor: for (i = 0; i < n; i++) v[i] = 0; i = 0: f (n) = 1 i < n: f (n) = n + 1 i++: f (n) = n v[i] = 0: f (n) = n Total: f (n) = 3n + 2 Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de / 23
8 Considere o número de multiplicações realizadas por esta função: int fatorial(int n) { int fat = 1; for (i = 2; i <= n; i++) fat = fat * i; } return fat; n f (n) = 1 = n 1 i=2 Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de / 23
9 Considere o número de somas entre elementos das matrizes: for (i = 0; i < n; i++) for (j = 0; j < n; j++) c[i][j] = a[i][j] + b[i][j]; f (n) = 1 = n = n 2 i=0 j=0 i=0 Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de / 23
10 Considere o número de muliplicações entre elementos das matrizes: for (i = 0; i < n; i++) for (j = 0; j < n; j++) { c[i][j] = 0; for (k = 0; k < n; k++) c[i][j] = c[i][j] + (a[i][k] * b[k][j]); } f (n) = 1 = n = n 2 = n 3 i=0 j=0 k=0 i=0 j=0 i=0 Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de / 23
11 Considere o número de chamadas à função troca usadas para inverter a ordem dos elementos de um vetor: for (i = 0; i < n/2; i++) troca(a[i], a[n - i - 1]); f (n) = n/2 1 i=0 1 = n/2 Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de / 23
12 Considere o número de execuções do comando soma++: soma = 0; for (i = 0; i < n; i++) for (j = 0; j < n; j++) soma++; f (n) = 1 = n = n 2 i=0 j=0 i=0 Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de / 23
13 Considere o número de execuções do comando soma++: soma = 0; for (i = 0; i < n; i++) for (j = 0; j < i; j++) soma++; i 1 f (n) = 1 = i = i=0 j=0 i=0 n(n 1) 2 = n2 n 2 Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de / 23
14 Considere o número de execuções do comando soma++: soma = 0; for (i = 0; i < n; i++) for (j = 0; j < n * n; j++) soma++; f (n) = i=0 n 2 1 j=0 1 = n 2 = n 3 i=0 Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de / 23
15 Considere o número de execuções do comando soma++: soma = 0; for (i = 1, k = 1; i <= n; i++, k = k * 2) for (j = 1; j <= k; j++) soma++; f (n) = n i=1 2 (i 1) j=1 1 = n 2 (i 1) = 2 n 1 i=1 Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de / 23
16 Considere o número de execuções do comando soma++: soma = 0; for (i = 1, k = 2; i <= n; i++, k = k * 2) for (j = 1; j <= n/k; j++) soma++; n/2 n i f (n) = 1 = i=1 j=1 n n 2 i i=1 n i=1 n 2 i = n n i=1 1 2 i n i=1 1 2 i = n Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de / 23
17 Considere o número de execuções do comando soma++: soma = 0; for (i = 2; i <= n; i++) for (j = 1; j <= n/i; j++) soma++; f (n) = n i=2 n/i j=1 1 = n n i i=2 n i=2 n i = n n i=2 1 i n ln n Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de / 23
18 Exercícios for (i = 0; i < n; i++) for (j = 0; j < n; j++) { if (i < j) X(n, i, j); if (i == j) for (k = j + 1; k < n; j++) Y(n, i, j); else Z(n, i, j); } Considerando o trecho de código acima, responda: Quantas vezes a função X é executada? Quantas vezes a função Y é executada? Quantas vezes a função Z é executada? Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de / 23
19 Exercícios for (i = 0; i < n; i++) for (j = i + 1; j < n; j++) { teste(vetor, i, j); } for (k = j + 1; k < n; k++) for (l = k + 1; l < n; l++) teste(vetor, k, l); Considerando o trecho de código acima, calcule: Um limitante inferior para o número de execuções da função teste. Um limitante superior para o número de execuções da função teste. Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de / 23
20 Exercícios for (i = 0; i < n; i++) { for (j = 0; j < i; j++) for (k = j + 1; k < i; k++) teste(vetor, j, k); } for (j = i; j < n; j++) for (k = j + 1; k < n; k++) teste(vetor, j, k); Considerando o trecho de código acima, calcule: Um limitante inferior para o número de execuções da função teste. Um limitante superior para o número de execuções da função teste. Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de / 23
BCC202 - Estrutura de Dados I
BCC202 - Estrutura de Dados I Aula 04: Análise de Algoritmos (Parte 1) Reinaldo Fortes Universidade Federal de Ouro Preto, UFOP Departamento de Ciência da Computação, DECOM Website: www.decom.ufop.br/reifortes
Análise de complexidade
Introdução Algoritmo: sequência de instruções necessárias para a resolução de um problema bem formulado (passíveis de implementação em computador) Estratégia: especificar (definir propriedades) arquitectura
ALGORITMO I VARIÁVEIS INDEXADAS
VARIÁVEIS INDEXADAS Array Auxiliadora Freire Slide 1 Array: Conjunto de informações do mesmo tipo, cada informação é representada na memória do computador por uma variável. O nome de qualquer variável
Recursividade. Túlio Toffolo [email protected] www.toffolo.com.br. BCC202 Aula 08 Algoritmos e Estruturas de Dados I
Recursividade Túlio Toffolo [email protected] www.toffolo.com.br BCC202 Aula 08 Algoritmos e Estruturas de Dados I Outros Exemplos de Recursividade Factais são outros exemplos de recursividade Quando
Estrutura de Dados Básica
Estrutura de Dados Básica Professor: Osvaldo Kotaro Takai. Aula 7: Recursividade O objetivo desta aula é apresentar o conceito de recursão para solução de problemas. A recursão é uma técnica de programação
Pesquisa em Memória Primária. Algoritmos e Estruturas de Dados II
Pesquisa em Memória Primária Algoritmos e Estruturas de Dados II Pesquisa em Memória Primária Pesquisa: Recuperação de informação em um grande volume de dados Informação é dividida em registros e cada
MC-102 - Slide 13 Noções de eficiência e buscas
MC-102 - Slide 13 Noções de eficiência e buscas Elaborado por Raoni Teixeira e Editado por Danillo Roberto Pereira Instituto de Computação Unicamp Primeiro Semestre de 2013 Introdução Por que usar computadores?
GFM015 Introdução à Computação Linguagem C / Introdução à Modularização de Programas (uso de subprogramas)
GFM015 Introdução à Computação Linguagem C / Introdução à Modularização de Programas (uso de subprogramas) Ilmério Reis da Silva [email protected] www.facom.ufu.br/~ilmerio/ic UFU/FACOM Programa 1.
2. OPERADORES... 6 3. ALGORITMOS, FLUXOGRAMAS E PROGRAMAS... 8 4. FUNÇÕES... 10
1. TIPOS DE DADOS... 3 1.1 DEFINIÇÃO DE DADOS... 3 1.2 - DEFINIÇÃO DE VARIÁVEIS... 3 1.3 - VARIÁVEIS EM C... 3 1.3.1. NOME DAS VARIÁVEIS... 3 1.3.2 - TIPOS BÁSICOS... 3 1.3.3 DECLARAÇÃO DE VARIÁVEIS...
Variáveis e estruturas de controlo. Introdução à Programação André L. Santos
Variáveis e estruturas de controlo Introdução à Programação André L. Santos Variáveis Uma variável pode ser vista como um espaço em memória onde um valor de determinado tipo (p.e. inteiro) pode ser guardado.
EFICIÊNCIA DE ALGORITMOS E
AULA 2 EFICIÊNCIA DE ALGORITMOS E PROGRAMAS Medir a eficiência de um algoritmo ou programa significa tentar predizer os recursos necessários para seu funcionamento. O recurso que temos mais interesse neste
Área que visa determinar a complexidade (custo) de um algoritmo, com isso é possível:
Área que visa determinar a complexidade (custo) de um algoritmo, com isso é possível: Comparar algoritmos: existem algoritmos que resolvem o mesmo tipo de problema. Determinar se o algoritmo é ótimo :
Pesquisa Sequencial e Binária. Introdução à Programação SI2
Pesquisa Sequencial e Binária Introdução à Programação SI2 3 Contexto Diferentes estratégias para pesquisa (busca) de um elemento específico em um conjunto de dados. Lista, array, coleção Operação importante,
Curso de C. Introdução. Copyright @ 2005 by Arnaldo V. Moura e Daniel F. Ferber
Curso de C Introdução Introdução Roteiro: Recordando Algoritmos Linguagem de Programação O computador Instruções de Máquina Níveis de Abstração Compilação Algoritmos Recordando: Algoritmo: conjunto finito
Introdução à Programação. Recursão
Introdução à Programação Recursão Recursão decoração Substantivo feminino. 1.Ato ou efeito de decorar decorar Verbo transitivo direto. 1.Guarnecer com adorno(s); dispor formas e cores em; ornamentar, embelezar;
Lista de Exercícios 05 Estruturas de Dados Homogêneas - Matrizes
Universidade Federal de Minas Gerais - UFMG Instituto de Ciências Exatas - ICEx Disciplina: Programação de Computadores Professor: David Menoti ([email protected]) Monitor: João Felipe Kudo ([email protected])
Experimentos com a memória cache do CPU
Experimentos com a memória cache do CPU Alberto Bueno Júnior & Andre Henrique Serafim Casimiro Setembro de 2010 1 Contents 1 Introdução 3 2 Desvendando o cache 3 2.1 Para que serve o cache?.....................
Algoritmos de Busca em Tabelas
Dentre os vários algoritmos fundamentais, os algoritmos de busca em tabelas estão entre os mais usados. Considere por exemplo um sistema de banco de dados. As operações de busca e recuperação dos dados
Pesquisa em Memória Primária. Prof. Jonas Potros
Pesquisa em Memória Primária Prof. Jonas Potros Pesquisa em Memoria Primária Estudo de como recuperar informação a partir de uma grande massa de informação previamente armazenada. A informação é dividida
MC102 Algoritmos e Programação de Computadores 1ª Aula Introdução à Programação de Computadores
MC102 Algoritmos e Programação de Computadores 1ª Aula Introdução à Programação de Computadores 1. Objetivos Situar a atividade de programação de computadores Apresentar conceitos fundamentais relativos
Projeto e Análise de Algoritmos. Profa. Juliana Kaizer Vizzotto. Projeto e Análise de Algoritmos - Aula 1
Projeto e Análise de Algoritmos Profa. Juliana Kaizer Vizzotto Projeto e Análise de Algoritmos - Aula 1 Roteiro Introdução Exemplo: ordenação Introdução Análise de Algoritmos Estudo teórico da performance
Princípios de funcionamento dos computadores
Princípios de funcionamento dos computadores Objetivos da aula: - Entender o princípio de funcionamento dos computadores - Entender o conceito de programa e sua dinâmica de execução Tópicos da aula: -
Sistemas Distribuídos: Princípios e Algoritmos Introdução à Análise de Complexidade de Algoritmos
Sistemas Distribuídos: Princípios e Algoritmos Introdução à Análise de Complexidade de Algoritmos Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática
Java. Marcio de Carvalho Victorino www.dominandoti.eng.br
Java Marcio de Carvalho Victorino www.dominandoti.eng.br 3. Considere as instruções Java abaixo: int cont1 = 3; int cont2 = 2; int cont3 = 1; cont1 += cont3++; cont1 -= --cont2; cont3 = cont2++; Após a
INF1007: Programação 2 6 Ordenação de Vetores. 01/10/2015 (c) Dept. Informática - PUC-Rio 1
INF1007: Programação 2 6 Ordenação de Vetores 01/10/2015 (c) Dept. Informática - PUC-Rio 1 Tópicos Introdução Ordenação bolha (bubble sort) Ordenação por seleção (selection sort) 01/10/2015 (c) Dept. Informática
Notas da Aula 4 - Fundamentos de Sistemas Operacionais
Notas da Aula 4 - Fundamentos de Sistemas Operacionais 1. Threads Threads são linhas de execução dentro de um processo. Quando um processo é criado, ele tem uma única linha de execução, ou thread. Esta
5 - Vetores e Matrizes Linguagem C CAPÍTULO 5 VETORES E MATRIZES
CAPÍTULO 5 5 VETORES E MATRIZES 5.1 Vetores Um vetor armazena uma determinada quantidade de dados de mesmo tipo. Vamos supor o problema de encontrar a média de idade de 4 pessoas. O programa poderia ser:
Pesquisa Sequencial e Binária
Pesquisa Sequencial e Binária Prof. Túlio Toffolo http://www.toffolo.com.br BCC202 Aula 20 Algoritmos e Estruturas de Dados I Pesquisa em Memória Primária Introdução - Conceitos Básicos Pesquisa Sequencial
COMPUTADOR SIMPLIFICADO E COMPUTADOR DIGITAL. Algoritmos e Programação APG0001
COMPUTADOR SIMPLIFICADO E COMPUTADOR DIGITAL Algoritmos e Programação APG0001 Objetivos da aula Entender o princípio de funcionamento dos computadores; Entender o conceito de programa e sua dinâmica de
Implementando uma Classe e Criando Objetos a partir dela
Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 04 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 2 Prof. Cristóvão Cunha Implementando uma Classe
CES-11. Noções de complexidade de algoritmos. Complexidade de algoritmos. Avaliação do tempo de execução. Razão de crescimento desse tempo.
CES-11 Noções de complexidade de algoritmos Complexidade de algoritmos Avaliação do tempo de execução Razão de crescimento desse tempo Notação O Exercícios COMPLEXIDADE DE ALGORITMOS Importância de análise
Aula 1 Tipo Abstrato de Dados
Aula 1 Tipo Abstrato de Dados Luiz Chaimowicz e Raquel O. Prates Livro Projeto de Algoritmos Capítulo 1 2009-1 O que é um algoritmo? O que é um programa? Algoritmos Sequência de ações executáveis para
Dadas a base e a altura de um triangulo, determinar sua área.
Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação [email protected] Conceitos Preliminares
computador-cálculo numérico perfeita. As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem:
1 UNIVERSIDADE FEDERAL DE VIÇOSA Departamento de Matemática - CCE Cálculo Numérico - MAT 271 Prof.: Valéria Mattos da Rosa As notas de aula que se seguem são uma compilação dos textos relacionados na bibliografia
Analise o código abaixo:
Recursão - introdução Analise o código abaixo: 1 # include 2 # include 3 int Fatorial ( int x) 4 int k, s =1; for (k =0;k
Introdução à Programação Bacharelado em Sistemas de Informação 3ª Lista de Exercícios - Solução Procedimentos e Funções
Nome Nota Seção 1: Procedimentos e funções 1. Faça uma função que receba um número inteiro e positivo N como parâmetro e retorne a soma dos N números inteiros existentes entre o número 1 e esse número.
CI165 Introdução. André Vignatti. 31 de julho de 2014
Introdução 31 de julho de 2014 Antes de mais nada... Os slides de 6 aulas (introdução, insertion sort, mergesort, quicksort, recorrências e limitantes de ordenação) foram originalmente feitos pelos Profs.
7. Estrutura de Decisão
7. Estrutura de Decisão Neste tipo de estrutura o fluxo de instruções a ser seguido é escolhido em função do resultado da avaliação de uma ou mais condições. Uma condição é uma expressão lógica. A classificação
Pesquisa Sequencial e Binária
Pesquisa Sequencial e Binária Prof. Wylliams Barbosa Santos [email protected] Introdução à Programação Crédito de Conteúdo: Professora Ceça Moraes Agenda Pesquisa Sequencial Noções de complexidade Pesquisa
Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos 2005.1. Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos 2005.
Agenda Análise e Técnicas de Algoritmos Introdução Informal Motivação Jorge Figueiredo Visão Geral do do Curso Introdução Informal O nosso curso é sobre técnicas e análise de de algoritmos (computacionais).
Universidade Federal de Mato Grosso do Sul Faculdade de Computação Disciplina de Verão: Algoritmos e Programação II
Universidade Federal de Mato Grosso do Sul Faculdade de Computação Disciplina de Verão: Algoritmos e Programação II Professores: Liana Duenha 10 de março de 2014 Professores: Liana Duenha () Universidade
Algoritmo e Programação
Algoritmo e Programação Professor: José Valentim dos Santos Filho Colegiado: Engenharia da Computação Prof.: José Valentim dos Santos Filho 1 Ementa Noções básicas de algoritmo; Construções básicas: operadores,
Sistemas Computacionais II Professor Frederico Sauer
Sistemas Computacionais II Professor Frederico Sauer Livro-texto: Introdução à Organização de Computadores 4ª edição Mário A. Monteiro Livros Técnicos e Científicos Editora. Atenção: Este material não
PROGRAMAÇÃO ESTRUTURADA. CC 2º Período
PROGRAMAÇÃO ESTRUTURADA CC 2º Período PROGRAMAÇÃO ESTRUTURADA Aula 06: Ponteiros Declarando e utilizando ponteiros Ponteiros e vetores Inicializando ponteiros Ponteiros para Ponteiros Cuidados a serem
3. Arquiteturas SIMD. 3.1 Considerações iniciais
3. Arquiteturas SIMD Computadores SIMD (Single Instruction Multiple Data) são utilizados para a resolução de problemas computacionalmente intensivos da área científica e de engenharia, em que existem estruturas
Estruturas de Dados. Prof. Gustavo Willam Pereira Créditos: Profa. Juliana Pinheiro Campos
Estruturas de Dados Prof. Gustavo Willam Pereira Créditos: Profa. Juliana Pinheiro Campos Árvores Conceitos Árvores binárias Árvores binárias de pesquisa Árvores binárias balanceadas Árvores ESTRUTURAS
Métodos de Pesquisa em Memória Primária
Algoritmos e Estrutura de Dados II Métodos de Pesquisa em Memória Primária Prof Márcio Bueno [email protected] / [email protected] Pesquisa Por pesquisa (procura ou busca) entende-se o ato
José Romildo Malaquias 2011-1
Programação de Computadores I Aula 08 Programação: Estruturas de Repetição José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/58 Motivação Como imprimir os três
Programação Paralela e Distribuída (DCC/UFRJ)
Programação Paralela e Distribuída (DCC/UFRJ) Aula 7: Programação com memória compartilhada usando OpenMP 1, 8, 10 e 15 de abril de 2015 OpenMP (Open MultiProcessing) Projetado para sistemas de memória
Aula 03 Custos de um algoritmo e funções de complexidade
BC1424 Algoritmos e Estruturas de Dados I Aula 03 Custos de um algoritmo e funções de complexidade Prof. Jesús P. Mena-Chalco [email protected] 1Q-2015 1 Custo de um algoritmo e funções de complexidade
VARIÁVEIS INDEXADAS VETORES E MATRIZES
VARIÁVEIS INDEXADAS VETORES E MATRIZES Auxiliadora Freire Slide 1 CONJUNTOS E VARIÁVEIS INDEXADAS Nome associado ao conjunto Cada elemento do conjunto é referenciado pelo índice Vetores unidimensional
Arquitetura e Organização de Computadores Aula 5 Consolidando Conhecimentos de Desempenho e Resumindo Prof. Julio Saraçol
Universidade Federal do Pampa Campus-Bagé Arquitetura e Organização de Computadores Aula 5 Consolidando Conhecimentos de Desempenho e Resumindo Prof. Julio Saraçol [email protected] Slide1 AULA 5:
ESTRUTURAS DE DADOS I. Notas de Aula. Prof. Dr. Gilberto Nakamiti
ESTRUTURAS DE DADOS I Notas de Aula 1 SUMÁRIO 1. INTRODUÇÃO... 2 1.1 Array (vetores)... 2 2. BUSCA DE ELEMENTOS... 3 2.1 Busca Seqüencial... 3 2.2 Busca Binária... 3 2.3 Busca Indexada... 3 2.4 Busca Hash...
INF 1620 P1-10/04/02 Questão 1 Nome:
INF 1620 P1-10/04/02 Questão 1 Considere uma disciplina que adota o seguinte critério de aprovação: os alunos fazem duas provas (P1 e P2) iniciais; se a média nessas duas provas for maior ou igual a 5.0,
UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE ENGENHARIA ELÉTRICA COLEGIADO DO CURSO DE GRADUAÇÃO EM ENGENHARIA ELÉTRICA/ENG.
UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE ENGENHARIA ELÉTRICA COLEGIADO DO CURSO DE GRADUAÇÃO EM ENGENHARIA ELÉTRICA/ENG. COMPUTAÇÃO PLANO DE CURSO DISCIPLINA: MÉTODOS E TÉCNICAS DE PROGRAMAÇÃO CÓDIGO:
CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES
CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES 3.1 - IDENTIFICADORES Os objetos que usamos no nosso algoritmo são uma representação simbólica de um valor de dado. Assim, quando executamos a seguinte instrução:
Busca. Pesquisa sequencial
Busca Banco de dados existem para que, de tempos em tempos, um usuário possa localizar o dado de um registro, simplesmente digitando sua chave. Uma tabela ou um arquivo é um grupo de elementos, cada um
Introdução à Programação
Introdução à Programação Aula 10 Matrizes Edirlei Soares de Lima Conjuntos Bidimensionais Uma matriz representa um conjunto bidimensional de valores. Exemplo de matriz de inteiros:
9 Comandos condicionais
9 Comandos condicionais Um comando condicional é uma instrução empregada quando se deseja criar um desvio, isto é, a opção de executar-se ou não um determinado trecho de código, segundo uma condição. Em
INF 1010 Estruturas de Dados Avançadas
INF 1010 Estruturas de Dados Avançadas Listas de Prioridades e Heaps 1 Listas de Prioridades Em muitas aplicações, dados de uma coleção são acessados por ordem de prioridade A prioridade associada a um
Curso de Linguagem C
Curso de Linguagem C 1 Aula 1 - INTRODUÇÃO...4 AULA 2 - Primeiros Passos...5 O C é "Case Sensitive"...5 Dois Primeiros Programas...6 Introdução às Funções...7 Introdução Básica às Entradas e Saídas...
Algoritmos e Linguagem de Programação I
Algoritmos e Linguagem de Programação I Roberto Ferreira [email protected] 2014.1 Módulo I Aula 4 Introdução ao C Linguagem de Programação É um conjunto de regras sintáticas e semânticas
Aula 3 Alocação Dinâmica
Aula 3 Alocação Dinâmica Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Superior de Tecnologia em Sistemas de Internet Prof. Bruno B. Boniati www.cafw.ufsm.br/~bruno
PROGRAMA DE DISCIPLINA
PROGRAMA DE DISCIPLINA Disciplina: Introdução à Programação Carga horária total: 60 Carga horária teórica: 0 Carga horária prática: 60 Código da Disciplina: CCMP0041 Período de oferta: 2010.2 Turma: CA
As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem:
1 As notas de aula que se seguem são uma compilação dos textos relacionados na bibliografia e não têm a intenção de substituir o livro-texto, nem qualquer outra bibliografia. Introdução O Cálculo Numérico
Module Introduction. Programação. Cap. 4 Algoritmos e Programação Estruturada
5374 : Engenharia Informática 6638 : Tecnologias e Sistemas de Informação 9099 : Bioengenharia 10135 : Ciências Biomédicas Cap. 4 Algoritmos e Estruturada Module Introduction Algoritmos e Estruturada Objectivos:
Organização de Computadores
Organização de Computadores Marcelo Lobosco DCC/UFJF Avaliando e Compreendendo o Desempenho Aula 09 Agenda Avaliando e Compreendendo o Desempenho Introdução Definindo Desempenho Medindo o Desempenho Desempenho
Algoritmos e Programação de Computadores I. Prof. Eduardo
Algoritmos e Programação de Computadores I Prof. Eduardo Professor Eduardo Machado Real - Mestrado em Ciência da Computação - Especialização em Desenvolvimento de Aplicação para a World Wide Web - Licenciatura
MC-102 Aula 17 Strings e Matrizes
MC-102 Aula 17 Strings e Matrizes Instituto de Computação Unicamp 5 de Maio de 2015 Roteiro 1 Strings Strings: Exemplos 2 Matrizes Exemplos com Matrizes 3 Exercícios (Instituto de Computação Unicamp) MC-102
A FÓRMULA DE CONVERSÃO ENTRE AS UNIDADES É: F = 1.8 C + 32.0
UTILIZANDO NOSSA MÁQUINA HIPOTÉTICA VAMOS CONSTRUIR UM PROGRAMA PARA CONVERTER VALORES DE UMA UNIDADE PARA OUTRA. O NOSSO PROGRAMA RECEBE UM VALOR NUMÉRICO QUE CORRESPONDE A UMA TEMPERATURA EM GRAUS CELSIUS
Aula 06 - Funções. O que é uma Função - Comando return - Protótipos de Funções - Tipos de Funções - Escopo de Variáveis - Passagem de parâmetros
O que é uma Função - Comando return - Protótipos de Funções - Tipos de Funções - Escopo de Variáveis - Passagem de parâmetros Algoritmo e Programação Aula 06 - Funções Colegiado de Engenharia da Computação
Programação Estruturada
Programação Estruturada Recursão Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Recursão Recursão 1 Recursão 2
INF 1010 Estruturas de Dados Avançadas
INF 1010 Estruturas de Dados Avançadas Complexidade de Algoritmos 2012 DI, PUC-Rio Estruturas de Dados Avançadas 2012.2 1 Introdução Complexidade computacional Termo criado por Hartmanis e Stearns (1965)
Orientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
2ª Lista de Exercícios
Universidade Federal de Minas Gerais Departamento de Ciência da Computação Algoritmos e Estruturas de Dados II (Turmas M, N, W, F) 1º Semestre de 2012 Profs. Camilo Oliveira, Gisele Pappa, Ítalo Cunha,
Capítulo 2: Introdução à Linguagem C
Capítulo 2: Introdução à Linguagem C INF1005 Programação 1 Pontifícia Universidade Católica Departamento de Informática Programa Programa é um algoritmo escrito em uma linguagem de programação. No nosso
Disciplina de Projetos e Análise de Algoritmos
Aula 6 - A Maior Subsequência Comum Possível (Programação Dinâmica Parte IV) Aplicações na Biologia Um problema bastante em voga na Biologia é a análise do DNA de dois ou mais organismos distintos. Um
MAC121 ALGORITMOS E ESTRUTURAS DE DADOS I 2O. SEMESTRE DE 2017
PROVA 1 MAC121 ALGORITMOS E ESTRUTURAS DE DADOS I 2O. SEMESTRE DE 2017 Nome: Número USP: Instruções: (1 ) Esta prova é individual. (2 ) Não destaque as folhas deste caderno. (3 ) A prova consiste de 6
Projeto de Banco de Dados
Projeto de Banco de Dados Prof. Marcelo Siedler Objetivos do documento: Apresentar os conceitos de stored procedutes e funções. Exercícios. Referência: http://dev.mysql.com/doc/refman/4.1/pt/stored-procedures.html
PROGRAMA DE DISCIPLINA
PROGRAMA DE DISCIPLINA Disciplina: INTRODUÇÃO À PROGRAMAÇÃO Carga horária total: 60 h Carga horária teórica: 30 h Carga horária prática: 30 h Código da Disciplina: CCMP0041 Período de oferta: 2015.2 Turma:
Índice. Capítulo 2 Estrutura de Dados sequencial com armazenamento sequencial
Índice i Índice Capítulo 2 Estrutura de Dados sequencial com armazenamento sequencial 1. A Estrutura Abstrata de Dados Lista... 1 1.1. Definição... 1 1.2. Implementação de Listas utilizando armazenamento
Departamento: Matemática Curso: Eng a Madeiras Ano: 1 o Semestre: 2 o Ano Lectivo: 2006/2007. Aula prática n o 1 - Introdução ao MATLAB
Instituto Politécnico de Viseu Escola Superior de Tecnologia Departamento: Matemática Métodos Numéricos Curso: Eng a Madeiras Ano: 1 o Semestre: 2 o Ano Lectivo: 2006/2007 Aula prática n o 1 - Introdução
INF 1005 Programação I
INF 1005 Programação I Aula 03 Introdução a Linguagem C Edirlei Soares de Lima Estrutura de um Programa C Inclusão de bibliotecas auxiliares: #include Definição de constantes:
Introdução a PHP (Estruturas de Controle)
Desenvolvimento Web III Introdução a PHP () Prof. Mauro Lopes 1-31 13 Objetivos Nesta aula iremos trazer ainda alguns conceitos básicos da programação com a Linguagem PHP. Iremos trabalhar conceitos das
O que é um algoritmo? O que é um programa? Algoritmos. Programas. Aula 1 Tipo Abstrato de Dados
Aula 1 Tipo Abstrato de Dados O que é um algoritmo? Luiz Chaimowicz e Raquel O. Prates Livro Projeto de Algoritmos Capítulo 1 O que é um programa? 2009-1 Algoritmos Sequência de ações executáveis para
André Vignatti DINF- UFPR
Notação Assintótica: Ω, Θ André Vignatti DINF- UFPR Limitantes Inferiores Considere o seguinte trecho de código: void main () { /* trecho que le N da entrada padrao */ for (i = 0 ; i< N; i++) puzzle(i);
Linguagem de Programação I. Aula 05 Linguagem C
Linguagem de Programação I Aula 05 Linguagem C Da Aula Anterior Algoritmos Portugol: aspectos básicos Estruturas repetição e controle Array: vetores e matrizes Nesta Aula Linguagens de Programação A Linguagem
Algoritmos e Programação Estruturada
Algoritmos e Programação Estruturada Virgínia M. Cardoso Linguagem C Criada por Dennis M. Ritchie e Ken Thompson no Laboratório Bell em 1972. A Linguagem C foi baseada na Linguagem B criada por Thompson.
Lista de Exercícios 06 Estruturas de Dados Homogêneas - Matrizes
Lista de Exercícios 06 Estruturas de Dados Homogêneas - Matrizes 1) Criar um programa que leia os elementos de uma matriz inteira 10 x 10 e escreva os elementos da diagonal principal. if ( I == J ) fprintf(1,'%d\t',m(i,j));
e à Linguagem de Programação Python
Introdução a Algoritmos, Computação Algébrica e à Linguagem de Programação Python Curso de Números Inteiros e Criptografia Prof. Luis Menasché Schechter Departamento de Ciência da Computação UFRJ Agosto
MC-102 Aula 01. Instituto de Computação Unicamp
MC-102 Aula 01 Introdução à Programação de Computadores Instituto de Computação Unicamp 2015 Roteiro 1 Por que aprender a programar? 2 Hardware e Software 3 Organização de um ambiente computacional 4 Algoritmos
Recursão. Aula 1. Liana Duenha. Faculdade de Computação Universidade Federal de Mato Grosso do Sul
Recursão Aula 1 Liana Duenha Faculdade de Computação Universidade Federal de Mato Grosso do Sul Algoritmos e Programação II, Análise de Sistemas, 2010 Martinez & Rubert (FACOM) Recursão APIIAS 1 / 25 Conteúdo
Introdução à Organização de Computadores. Execução de Programas Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007
Introdução à Organização de Computadores Execução de Programas Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007 CPU (Central Processing Unit) é o coordenador de todas as atividades
Comandos Sequenciais if else, e Switch
Introdução à Programação Comandos Sequenciais if else, e Switch 1º ano - ESI e IGE (2011/2012) Engenheiro Anilton Silva Fernandes ([email protected]) O computador pensa? Muitas vezes utiliza-se a
ARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo.
Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 8 ARRAYS Introdução Até agora, utilizamos variáveis individuais. Significa que uma variável objeto
Componentes da linguagem C++
Componentes da linguagem C++ C++ é uma linguagem de programação orientada a objetos (OO) que oferece suporte às características OO, além de permitir você realizar outras tarefas, similarmente a outras
