PROGRAMAÇÃO E ALGORITMOS (LEI) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2016/2017

Tamanho: px
Começar a partir da página:

Download "PROGRAMAÇÃO E ALGORITMOS (LEI) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2016/2017"

Transcrição

1 PROGRAMAÇÃO E ALGORITMOS (LEI) Uiversidade da Beira Iterior, Departameto de Iformática Hugo Pedro Proeça, 2016/2017

2 Resumo Alocação de Memória Estática Diãmica malloc calloc realloc free Exercícios

3 Gestão de Memória Ao cotrário de outras liguages de programação, o C dispoibiliza um cojuto de fuções de baixo ível para a gestão de recursos (memória). Ausêcia de GarbageCollector (Java) Processo que admiistra os recursos utilizados por um programa. Caso eles ão estejam a ser utilizados liberta-os automáticamete. Esta característica aumeta a resposabilidade do programador. Resposável pela eficiete gestão de recursos Optimização de recursos, evitado-se a ecessidade de um processo (exigete em termos computacioais) em permaete execução.

4 Gestão de Memória Regra pricipal Todos os recursos explícitamete alocados durate a execução de um programa devem ser explicitamete libertados.

5 Alocação de Recursos Cosidere o seguite exercício: Implemete um programa em liguagem C que receba úmeros iterior e mostre o écra a maior sequêcia de valores positivos recebidos. O programa deverá termiar ao ser itroduzido o valor 0. Problemas: Quatos úmeros vai ser ecessário receber? Qual a quatidade de memória ecessária para os receber?

6 Alocação de Recursos Uma primeira abordagem será a alocação estática de recursos, por vezes referida como em tempo de compilação : O programador (o código-fote) estima um valor que julga suficiete e pede a respectiva alocação. A alocação acotece o mometo em que o programa começa a execução (o caso da fução mai), ou o iício do processo de execução da fução. #iclude <stdio.h> it mai(){ it v[10000]; (...)

7 Alocação de Recursos Exemplo: #iclude <stdio.h> void fuc(){ it v[10000]; (...) it mai(){ it v[10000]; (...) Alcace Local (detro da fução em que estão defiidas)

8 Recursos Diâmicos No caso da alocação diãmica, os recursos são pedidos e libertados durate a execução do programa, o mometo da execução de uma dada liha. Compete ao programador defiir o mecaismo de alocação / libertação, por forma a que a admiistração dos recursos seja correcta. Alocação: malloc() calloc() realloc() Libertação free()

9 Apotadores O que é um apotador? Variável que cotém um edereço de memória. Exemplos: it x=5; float z=3.1415; char c; x, 4 bytes z, 8 bytes Apotador: Espaço ocupado depede do limite de edereçameto da máquia, mas tipicamete tem o mesmo tamaho de um iteiro. Exlº: it *p; A00BF:FA00C p, 4 bytes a c, 1 byte

10 Apotadores Um apotador cotém iformação sobre uma determiada localização e quatidade de memória: Exlos: it *a; double *b; a4:b9:f:c:6 a4:b9:f:c:6 Igual tamaho! b5:a9:4:8 b5:a9:4:8

11 Alocação Diâmica Fução malloc() Está defiida a biblioteca stdlib.h Iclusão de ova biblioteca #iclude <stdlib.h> Protótipo: void *malloc ( usiged it size ) Exemplos: Recebe como parãmetro de etrada o total de bytes a alocar. Retora um apotador geérico para o bloco de memóriaalocado. it *v=(it*)malloc(10 * sizeof(it)); cast Total de elemetos Espaço de 1 elemeto

12 Alocação Diâmica Após a alocação diâmica, os recursos são utilizados exectamete da mesma forma como os recursos estáticos. Suporta tipos compostos: typedef struct{ it bi; char ome[80]; Pessoa; Alocação de um cojuto de 100 pessoas: Pessoa *v=(pessoa *) malloc(100*sizeof(pessoa)) Acesso aos recursos v[0].ome //Nome da pessoa da primeira posição

13 Alocação Diâmica Fução calloc() Está defiida a biblioteca stdlib.h Semelhate à fução-base (malloc) Aloca x elemetos de um determiado tipo Iicializa os recursos alocados, com o valor 0. Protótipo: void *calloc ( usiged it umber, usiged it size ) Exemplos: Recebe como parãmetros de etrada o úmero de elemetose o espaço ocupado por 1 uidade. Retora um apotador geérico para o bloco de memóriaalocado. it *v=(it*)calloc(10,sizeof(it));

14 Alocação Diâmica Fução realloc() Está defiida a biblioteca stdlib.h Serve para realocar (aumetar ou dimiuir de tamaho), um bloco préviamete alocado. Protótipo: void *realloc ( void *old_pt, usiged it ew_size ) Recebe como parãmetros de etrada o apotador para o bloco préviamete alocado e o ovo tamaho do bloco. Retora um apotador geérico para o bloco de memóriaalocado. Teha-se em ateção que o bloco (1º parãmetro) teve que ser préviamete alocado de forma diãmica.

15 Alocação Diâmica Exemplos: it *v=(it*)malloc(10*sizeof(it)),i; //Aloca 10 iteiros; for (i=1;i<10;i++) v=(it*)realloc(v,(10+i)*sizeof(it)); Caso o bloco préviamete alocado ão teha elemetos, terá que estar a apotar para NULL. it *v=null, i=0; v=(it*)realloc(v,(i+1)*sizeof(it));

16 Alocação Diâmica Fução free() Sefve para libertar todos os recursos diãmicamete alocados, qulquer que teha sido a fução utilizada o alocameto. Protótipo: malloc(), calloc(), realloc() void free ( void *pt ) Recebe um apotador para o bloco de memória. Teha-se em ateção que o valor da variável ão é alterado, apeas os recursos para ode apota são libertados. Exemplo: free(v); v=null;

17 Exercício #iclude <stdio.h> it mai(){ it *v=null, tot=0, x; do{ pritf( valor?\ ); scaf( %d,&x); if (x!=0){ tot++; v=(it*)realloc(v,tot*sizeof(it)); v[tot-1]=x; while(x!=0); mostramaiorsequeciapositivos(v,tot);

18 Exercício void mostramaiorsequeciapositivos(it *v, it tot){ it pos=0,i, M=0,c=0; for (i=0;i<tot;i++){ if (v[i]>0){ c++; if (c>m){ pos=i-m; M=c; else{ c=0; for (i=pos;i<pos+m;i++) pritf( %d,v[i]);

ESTRUTURAS DE DADOS (LEI, LM, LEE) PROGRAMAÇÃO III (LTSI) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2017/2018

ESTRUTURAS DE DADOS (LEI, LM, LEE) PROGRAMAÇÃO III (LTSI) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2017/2018 ESTRUTURAS DE DADOS (LEI, LM, LEE) PROGRAMAÇÃO III (LTSI) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2017/2018 Apontadores O que é um apontador? Variável que contém

Leia mais

PROGRAMAÇÃO E ALGORITMOS (LEII) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2016/2017

PROGRAMAÇÃO E ALGORITMOS (LEII) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2016/2017 PROGRAMAÇÃO E ALGORITMOS (LEII) Uiversidade da Beira Iterior, Departameto de Iformática Hugo Pedro Proeça, 2016/2017 Resumo Ordeação e Pesquisa Pesquisa Liear Pesquisa Biária Iserção Ordeada IsertSort

Leia mais

1/34 GESTÃO DINÂMICA DE MEMÓRIA

1/34 GESTÃO DINÂMICA DE MEMÓRIA 1/34 GESTÃO DINÂMICA DE MEMÓRIA Memória Estática 2/34 Memória Estática Exemplo #include main() { int V[300], N; do{ printf ( N =? ); scanf ( %d, &N); while ((N < 0) (N > 300); for (i = 0; i

Leia mais

Reinaldo Gomes Alocação Dinâmica

Reinaldo Gomes Alocação Dinâmica Algoritmos e Lógica de Programação Linguagem C Alocação Dinâmica i de Memória Reinaldo Gomes reinaldo@cefet-al.br Alocação Dinâmica Quando declaramos uma variável ou um arranjo, o compilador automaticamente

Leia mais

Linguagem C. Ponteiros. Alex Vidigal Bastos.

Linguagem C. Ponteiros. Alex Vidigal Bastos. Linguagem C Ponteiros Alex Vidigal Bastos alexvbh@gmail.com Ponteiros Ponteiros são variáveis que contém endereços. Estas variáveis apontam para algum determinado endereço da memória. Em geral, o ponteiro

Leia mais

A linguagem C permite dois tipos de alocação de memória: Alocação estática e alocação dinâmica.

A linguagem C permite dois tipos de alocação de memória: Alocação estática e alocação dinâmica. Alocação de Memória Todo programa precisa utilizar memória para ser executado. Quando um programa inicia sua execução, ele começa a solicitar memória ao sistema operacional, ou seja, faz a alocação de

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacioais Sistema de Arquivos Edeyso Adrade Gomes www.edeyso.com.br Sistema de Arquivos w Mecaismo que provê armazeameto e acesso a dados e programas do Sistema Operacioal e do usuário; w Aspecto

Leia mais

Programação. Cap. 12 Gestão de Memória Dinâmica

Programação. Cap. 12 Gestão de Memória Dinâmica Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre Cap. 12 Gestão de Memória Dinâmica Sumário : Utilização de memória Alocação

Leia mais

LINGUAGEM C: ALOCAÇÃO DINÂMICA

LINGUAGEM C: ALOCAÇÃO DINÂMICA LINGUAGEM C: ALOCAÇÃO DINÂMICA Prof. André Backes DEFINIÇÃO Sempre que escrevemos um programa, é preciso reservar espaço para as informações que serão processadas. Para isso utilizamos as variáveis Uma

Leia mais

PROGRAMAÇÃO E ALGORITMOS (LEI) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2016/2017

PROGRAMAÇÃO E ALGORITMOS (LEI) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2016/2017 PROGRAMAÇÃO E ALGORITMOS (LEI) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2016/2017 Resumo Exercícios Gestão de Memória Leitura / Escrita de Ficheiros Tipos de Dados

Leia mais

Programação Computacional Aula 16: Alocação Dinâmica de Memória

Programação Computacional Aula 16: Alocação Dinâmica de Memória Programação Computacional Aula 16: Alocação Dinâmica de Memória Profa. Madeleine Medrano madeleine@icte.uftm.edu.br Definição Sempre que escrevemos um programa, é preciso reservar espaço para as informações

Leia mais

SSC304 Introdução à Programação Para Engenharias. Alocação Dinâmica. GE4 Bio

SSC304 Introdução à Programação Para Engenharias. Alocação Dinâmica. GE4 Bio 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 GE4 Bio GE4Bio Grupo de Estudos em Sinais Biológicos Prof.Dr.

Leia mais

Algoritmos e Estruturas de Dados. Prof. Marcelo Zorzan Profa. Melissa Zanatta

Algoritmos e Estruturas de Dados. Prof. Marcelo Zorzan Profa. Melissa Zanatta Algoritmos e Estruturas de Dados Prof. Marcelo Zorzan Profa. Melissa Zanatta Assuntos da Aula Alocação de Memória Alocação estática de memória Alocação dinâmica de memória Malloc, Calloc, Free, Realloc

Leia mais

Implementação de Planilha de Cálculos Simplificada

Implementação de Planilha de Cálculos Simplificada INF 1620 Estruturas de Dados Semestre 08.2 Primeiro Trabalho Implemetação de Plailha de Cálculos Simplificada Uma plailha de cálculos é um programa muito utilizado em aplicações fiaceiras e aquelas que,

Leia mais

Introdução à Computação

Introdução à Computação Itrodução à Computação Recursividade Aula de hoje Recursividade Fução orial Voto de cofiaça recursivo Fução de Fiboacci Desvatages Professor: Adré de Carvalho Recursão Muitas estratégias de programação

Leia mais

Professor: Jó Ueyama Estagiário PAE: Heitor Freitas

Professor: Jó Ueyama Estagiário PAE: Heitor Freitas Alocação Dinâmica de Memória Professor: Jó Ueyama Estagiário PAE: Heitor Freitas Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo SSC 300 - Linguagem de Programação e Aplicações

Leia mais

Programação Mestrado Integrado em Engenharia Aeronáutica 1º ano, 1º semestre. T. 11 Gestão de Memória Dinâmica

Programação Mestrado Integrado em Engenharia Aeronáutica 1º ano, 1º semestre. T. 11 Gestão de Memória Dinâmica Programação Mestrado Integrado em Engenharia Aeronáutica 1º ano, 1º semestre T. 11 Gestão de Memória Dinâmica 1 Sumário : Utilização de memória Alocação Estática de Memória Alocação Dinâmica de Memória

Leia mais

Sistemas Operacionais. Gerência de Memória. Edeyson Andrade Gomes.

Sistemas Operacionais. Gerência de Memória. Edeyson Andrade Gomes. Sistemas Operacioais Gerêcia de Memória Edeyso Adrade Gomes www.edeyso.com.br Roteiro da Aula w Gerêcia de Memória Metas Algoritmos Sistemas Operacioais - Itrodução Edeyso A. Gomes 2 Gerêcia de Memória

Leia mais

Algoritmos e Estruturas de dados

Algoritmos e Estruturas de dados Algoritmos e Estruturas de dados Listas Encadeadas Prof. Dr. Fábio Rodrigues de la Rocha (Listas Encadeadas) 1 / 21 Definição: Anteriormente estudamos listas encadeadas que foram implementadas como vetores

Leia mais

Análise de Algoritmos. Análise de Algoritmos. Análise de Algoritmos. Análise de Algoritmos. Análise de Algoritmos. Análise de Algoritmos

Análise de Algoritmos. Análise de Algoritmos. Análise de Algoritmos. Análise de Algoritmos. Análise de Algoritmos. Análise de Algoritmos Aálise de Algoritmos Aálise de Algoritmos Prof Dr José Augusto Baraauskas DFM-FFCLRP-USP A Aálise de Algoritmos é um campo da Ciêcia da Computação que tem como objetivo o etedimeto da complexidade dos

Leia mais

Exercício. Alocação Dinâmica. Alocação dinâmica de memória. Alocação de memória. Alocação da Memória Principal. Alocação da Memória Principal

Exercício. Alocação Dinâmica. Alocação dinâmica de memória. Alocação de memória. Alocação da Memória Principal. Alocação da Memória Principal Exercício Crie uma função que recebe o número de dias até um determinado evento e calcula e retorna o equivalente em meses, semanas e dias, sem usar vetor ou o conceito de vetor. Considerar que todos os

Leia mais

Laboratório de Programação II

Laboratório de Programação II Laboratório de Programação II Aula 08 Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br http://www.diemesleno.com.br Na aula passada vimos... Na aula passada vimos... 07 Entradas e saídas padronizadas;

Leia mais

Ponteiros e Tabelas. K&R: Capitulo 5 IAED, 2012/2013

Ponteiros e Tabelas. K&R: Capitulo 5 IAED, 2012/2013 Ponteiros e Tabelas K&R: Capitulo 5 Ponteiros e Tabelas Ponteiros e endereços Ponteiros e argumentos de funções Ponteiros e tabelas Alocação dinâmica de memória Aritmética de ponteiros Tabelas de ponteiros

Leia mais

Ponteiros e Tabelas. K&R: Capitulo 5 IAED, 2012/2013

Ponteiros e Tabelas. K&R: Capitulo 5 IAED, 2012/2013 Ponteiros e Tabelas K&R: Capitulo 5 Ponteiros e Tabelas Ponteiros e endereços Ponteiros e argumentos de funções Ponteiros e tabelas Alocação dinâmica de memória Aritmética de ponteiros Tabelas de ponteiros

Leia mais

Modulo 12: alocação dinâmica de memória

Modulo 12: alocação dinâmica de memória PROGRAMAÇÃO DE COMPUTADORES V - TCC- 00.323 Modulo 12: alocação dinâmica de memória Aura - Erick aconci@ic.uff.br, erickr@id.uff.br Roteiro porque e como utilizar a alocação dinâmica funções: malloc (

Leia mais

CT-234. Estruturas de Dados, Análise de Algoritmos e Complexidade Estrutural. Carlos Alberto Alonso Sanches

CT-234. Estruturas de Dados, Análise de Algoritmos e Complexidade Estrutural. Carlos Alberto Alonso Sanches CT-234 Estruturas de Dados, Aálise de Algoritmos e Complexidade Estrutural Carlos Alberto Aloso Saches CT-234 3) Estruturas de dados elemetares Filas, pilhas e árvores Alocação estática versus diâmica

Leia mais

Introdução a Complexidade de Algoritmos

Introdução a Complexidade de Algoritmos Itrodução a Complexidade de Algoritmos Estruturas de Dados Prof. Vilso Heck Juior Apresetação Revisão - O Algoritmo; A Complexidade; Exercício. Complexidade de Algoritmos REVISÃO - O ALGORITMO O Algoritmo

Leia mais

PROF. DR. JACQUES FACON

PROF. DR. JACQUES FACON 1 PUCPR- Potifícia Uiversidade Católica Do Paraá PPGIA- Programa de Pós-Graduação Em Iformática Aplicada PROF. DR. JACQUES FACON LIMIARIZAÇÃO POR MATRIZ DE CO-OCORRÊNCIA Resumo: O método da matriz de co-ocorrêcia,

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: ponteiros e alocação dinâmica

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: ponteiros e alocação dinâmica Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: ponteiros e alocação dinâmica Prof. Renato Pimentel 1 Ponteiros 2 Prof. Renato Pimentel 1 Ponteiros: introdução Toda a informação

Leia mais

Introdução à Ciência da Computação I. Alocação Dinâmica. Prof. Claudio Fabiano Motta Toledo

Introdução à Ciência da Computação I. Alocação Dinâmica. Prof. Claudio Fabiano Motta Toledo Introdução à Ciência da Computação I Alocação Dinâmica Prof. Claudio Fabiano Motta Toledo Sumário Funções para alocação de memória Ponteiros para ponteiros 8/12/16 2 Funções para alocação de memória malloc(),

Leia mais

13. ALOCAÇÃO DINÂMICA DE MEMÓRIA

13. ALOCAÇÃO DINÂMICA DE MEMÓRIA 787878787878787878787878787878787878787878787878787878 13. ALOCAÇÃO DINÂMICA DE MEMÓRIA Sempre é necessário declarar o número de elementos do array. Mas e se ele for desconhecido? E se ele variar? Pode

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE Algoritmos ANSI C - Gerenciamento de Memória Copyright 2014 IFRN Agenda Introdução Alocação dinâmica Funções malloc free calloc realloc

Leia mais

Programação II. Vetores e Alocação Dinâmica. Bruno Feijó Dept. de Informática, PUC-Rio

Programação II. Vetores e Alocação Dinâmica. Bruno Feijó Dept. de Informática, PUC-Rio Programação II Vetores e Alocação Dinâmica Bruno Feijó Dept. de Informática, PUC-Rio Vetores (arrays) Vetor: estrutura de dados definindo um conjunto enumerável Exemplo: v = vetor de inteiros com 10 elementos

Leia mais

Introdução. Objetivo da Ciência da Computação. Regra Geral. Nenhuma implementação excelente salva um Algoritmo inadequado.

Introdução. Objetivo da Ciência da Computação. Regra Geral. Nenhuma implementação excelente salva um Algoritmo inadequado. Itrodução Problema Algoritmo Implemetação Problema Uiversidade Federal de Ouro Preto Departameto de Computação Algoritmo 1 Algoritmo Algoritmo Projeto e Aálise de Algoritmos - I Implemetação C Implemetação

Leia mais

Alocação Dinâmica. Introdução à Computação

Alocação Dinâmica. Introdução à Computação Alocação Dinâmica Introdução à Computação Alocação de memória Uso da memória: uso de variáveis globais (e está>cas): O espaço reservado para uma variável global existe enquanto o programa es>ver sendo

Leia mais

Alocação de Memória. Lucas Ferrari de Oliveira Professor Adjunto Universidade Federal do Paraná (UFPR)

Alocação de Memória. Lucas Ferrari de Oliveira Professor Adjunto Universidade Federal do Paraná (UFPR) Alocação de Memória Linguagem de Programação Estruturada 1 Alocação dinâmica e ponteiros Lucas Ferrari de Oliveira Professor Adjunto Universidade Federal do Paraná (UFPR) Sumario Introdução Alocação Estática

Leia mais

Programação II. Vetores e Alocação Dinâmica. Bruno Feijó Dept. de Informática, PUC-Rio

Programação II. Vetores e Alocação Dinâmica. Bruno Feijó Dept. de Informática, PUC-Rio Programação II Vetores e Alocação Dinâmica Bruno Feijó Dept. de Informática, PUC-Rio Vetores (arrays) Vetor: estrutura de dados definindo um conjunto enumerável Exemplo: v = vetor de inteiros com 10 elementos

Leia mais

16/10/2017. Banco de Dados. Gerenciamento de Arquivos. Gerenciamento de Arquivos Sistema Gerenciador de Banco de Dados Modelos de Dados

16/10/2017. Banco de Dados. Gerenciamento de Arquivos. Gerenciamento de Arquivos Sistema Gerenciador de Banco de Dados Modelos de Dados Baco de Dados Gereciameto de Arquivos Sistema Gereciador de Baco de Dados Modelos de Dados Gereciameto de Arquivos Gereciameto de Arquivos 1 Gereciameto de Arquivos Em uma empresa existem 3 departametos:

Leia mais

Ponteiros & tabelas (cont.) K&R: Capítulo 5

Ponteiros & tabelas (cont.) K&R: Capítulo 5 Ponteiros & tabelas (cont.) K&R: Capítulo 5 Sinopse da aula de hoje Pointers in a nutshell & alocação dinâmica de memória Estruturas, funções e apontadores Estruturas auto-referenciadas Exemplo de aplicação:

Leia mais

Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos 2007.

Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos 2007. Ageda Aálise e Técicas de Algoritmos Motivação para aálise de de algoritmos Aálise assitótica Algus exemplos simples Jorge Figueiredo Aálise de de Algoritmos Dois aspectos importates: Um problema pode,

Leia mais

Linguagem C Apontadores. Endereços e apontadores Passagem de parâmetros para funções Apontadores e vectores Memória dinâmica

Linguagem C Apontadores. Endereços e apontadores Passagem de parâmetros para funções Apontadores e vectores Memória dinâmica Linguagem C Apontadores Endereços e apontadores Passagem de parâmetros para funções Apontadores e vectores Memória dinâmica Endereços de Memória Podemos considerar a memória como um vector M, em que cada

Leia mais

Fontes Bibliográficas. Estruturas de Dados Aula 14: Recursão. Introdução. Introdução (cont.)

Fontes Bibliográficas. Estruturas de Dados Aula 14: Recursão. Introdução. Introdução (cont.) Fotes Bibliográficas Estruturas de Dados Aula 14: Recursão Livros: Projeto de Algoritmos (Nivio Ziviai): Capítulo 2; Estruturas de Dados e seus Algoritmos (Szwarefiter, et. al): Capítulo 1; Algorithms

Leia mais

Alocação Estática e Dinâmica. Prof. M.Sc. Mariella Berger

Alocação Estática e Dinâmica. Prof. M.Sc. Mariella Berger Alocação Estática e Dinâmica Prof. M.Sc. Mariella Berger http://www.inf.ufes.br/~mberger mberger@inf.ufes.br mariellaberger@gmail.com Alocação Estática Estratégia de alocação de memória na qual toda a

Leia mais

Introdução. Objetivo da Ciência da Computação. Regra Geral. Problema Algoritmo Implementação. Projeto e Análise de. Algoritmo 3

Introdução. Objetivo da Ciência da Computação. Regra Geral. Problema Algoritmo Implementação. Projeto e Análise de. Algoritmo 3 Itrodução Problema Algoritmo Implemetação Problema Uiversidade Federal de Ouro Preto Departameto de Computação Algoritmo 1 Algoritmo 2 Algoritmo 3 Projeto e Aálise de Algoritmos - I Implemetação C Implemetação

Leia mais

Estudando complexidade de algoritmos

Estudando complexidade de algoritmos Estudado complexidade de algoritmos Dailo de Oliveira Domigos wwwdadomicombr Notas de aula de Estrutura de Dados e Aálise de Algoritmos (Professor Adré Bala, mestrado UFABC) Durate os estudos de complexidade

Leia mais

AULA 6. Conceitos. Melhores momentos. Conceitos. Conceitos. Conceitos. Conceitos

AULA 6. Conceitos. Melhores momentos. Conceitos. Conceitos. Conceitos. Conceitos Melhores momentos AULA Endereços: a memória é um vetor e o índice desse vetor onde está uma variável é o endereço da variável. Com o operador & obtemos o endereço de uma variável. Exemplos: &i é o endereço

Leia mais

Linguagem C: Ponteiros - Alocação Dinâmica

Linguagem C: Ponteiros - Alocação Dinâmica Prof. Paulo R. S. L. Coelho paulo@facom.ufu.br Faculdade de Computação Universidade Federal de Uberlândia GEQ007 Organização 1 Ponteiros Alocação Dinâmica de Memória 2 3 4 Organização Ponteiros Alocação

Leia mais

Computadores Digitais 2. Prof. Rodrigo de Souza Couto

Computadores Digitais 2. Prof. Rodrigo de Souza Couto Computadores Digitais 2 Linguagens de Programação DEL-Poli/UFRJ Prof. Miguel Campista Aula de Hoje Vetores e alocação dinâmica Vetores Alocação dinâmica Vetores locais e funções ATENÇÃO Esta apresentação

Leia mais

Aula 24 Ponteiros, vetores e structs

Aula 24 Ponteiros, vetores e structs Programação Aula 24 Ponteiros, vetores e structs Prof. Laura Silva de Assis Engenharia de Computação 2 o Período CEFET/RJ - Centro Federal de Educação Tecnológica Celso Suckow da Fonseca UnED Petrópolis

Leia mais

Aula 25: Alocação Dinâmica

Aula 25: Alocação Dinâmica Aula 25: Alocação Dinâmica Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2019/1 Departamento de Computação UFOP Aulas anteriores Estruturas de memórias heterogêneas

Leia mais

A Inferência Estatística é um conjunto de técnicas que objetiva estudar a população através de evidências fornecidas por uma amostra.

A Inferência Estatística é um conjunto de técnicas que objetiva estudar a população através de evidências fornecidas por uma amostra. UNIVERSIDADE FEDERAL DA PARAÍBA Distribuição Amostral Luiz Medeiros de Araujo Lima Filho Departameto de Estatística INTRODUÇÃO A Iferêcia Estatística é um cojuto de técicas que objetiva estudar a população

Leia mais

Introdução a Programação. Ponteiros e Vetores, Alocação Dinâmica

Introdução a Programação. Ponteiros e Vetores, Alocação Dinâmica Introdução a Programação Ponteiros e Vetores, Alocação Dinâmica Tópicos da Aula Hoje aprenderemos que existe uma forte relação entre ponteiros e vetores Associação entre ponteiros e vetores Ponteiros constantes

Leia mais

Fundamentos de Programação

Fundamentos de Programação Fundamentos de Programação ET42G Aula 21 Prof. Daniel Cavalcanti Jeronymo Conversão de tipos. Alocação dinâmica de memória. Recursão. Criação de bibliotecas, arquivos de cabeçalhos e variáveis globais.

Leia mais

Cap. 4 - Estimação por Intervalo

Cap. 4 - Estimação por Intervalo Cap. 4 - Estimação por Itervalo Amostragem e iferêcia estatística População: cosiste a totalidade das observações em que estamos iteressados. Nº de observações a população é deomiado tamaho=n. Amostra:

Leia mais

MC-102 Aula 19 Ponteiros II

MC-102 Aula 19 Ponteiros II MC-102 Aula 19 Ponteiros II Instituto de Computação Unicamp 20 de Outubro de 2016 Roteiro 1 Ponteiros e Alocação Dinâmica 2 Exemplo de Alocação Dinâmica de Vetores 3 Erros Comuns ao Usar Alocação Dinâmica

Leia mais

Alocação Dinâmica em C

Alocação Dinâmica em C Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação Alocação Dinâmica em C Profa Rosana Braga Adaptado de material preparado pela profa Silvana Maria Affonso de Lara

Leia mais

Estrutura de Dados. Aula 07 Alocação Dinâmica

Estrutura de Dados. Aula 07 Alocação Dinâmica Estrutura de Dados Aula 07 Alocação Dinâmica 2 ALOCAÇÃO DINÂMICA Existem três modos de reservar espaço de memória para o armazenamento de informações: 1ª - através do uso de variáveis globais (e estáticas).

Leia mais

Programação de Computadores II

Programação de Computadores II Programação de Computadores II Slides cedidos por Karina Mochetti 2018.1 Exercício Aula Passada Faça uma função que recebe uma matriz n m representada por ponteiros e desaloque toda a memória usada por

Leia mais

INF1007: Programação 2. 2 Alocação Dinâmica. 17/02/2014 (c) Dept. Informática - PUC-Rio 1

INF1007: Programação 2. 2 Alocação Dinâmica. 17/02/2014 (c) Dept. Informática - PUC-Rio 1 INF1007: Programação 2 2 Alocação Dinâmica 17/02/2014 (c) Dept. Informática - PUC-Rio 1 Tópicos Alocação dinâmica Vetores locais e funções 17/02/2014 (c) Dept. Informática - PUC-Rio 2 Alocação Dinâmica

Leia mais

Laboratório de Introdução à Ciência da Computação I

Laboratório de Introdução à Ciência da Computação I Laboratório de Introdução à Ciência da Computação I Aula 12 Alocação dinâmica de memória Professor: Jó Ueyama Estagiária PAE: Aurea Soriano slide 1 Funções para alocação de memória malloc(), calloc(),

Leia mais

Whats: PROGRESSÃO GEOMÉTRICA

Whats: PROGRESSÃO GEOMÉTRICA Questões Vídeos 1. As áreas dos quadrados a seguir estão em progressão geométrica de razão 2. Podemos afirmar que os lados dos quadrados estão em a) progressão aritmética de razão 2. b) progressão geométrica

Leia mais

Análise e Síntese de Algoritmos. Revisão CLRS, Cap. 1-3

Análise e Síntese de Algoritmos. Revisão CLRS, Cap. 1-3 Aálise e Sítese de Algoritmos Revisão CLRS, Cap. 1-3 Resumo Algoritmos Aálise de algoritmos Sítese de algoritmos Notação assimptótica Outra otação utilizada Somatórios 2007/2008 Aálise e Sítese de Algoritmos

Leia mais

Gerência de Redes Turma : V

Gerência de Redes Turma : V Gerêcia de Redes Turma : 20171.5.01405.1V SNMPv2 Prof. Thiago Dutra Ageda Itrodução Melhorias Gereciameto Descetralizado Estrutura da MIB Operações SNMPv1 x SNMPv2 2 1 Itrodução

Leia mais

Programação de Computadores II. Cap. 5 Alocação Dinâmica

Programação de Computadores II. Cap. 5 Alocação Dinâmica Programação de Computadores II Cap. 5 Alocação Dinâmica Livro: Waldemar Celes, Renato Cerqueira, José Lucas Rangel. Introdução a Estruturas de Dados, Editora Campus (2004) Slides adaptados dos originais

Leia mais

Ponteiros - Parte I. Ponteiros, Ponteiros e Vetores, Algoritmo Bubble Sort, Alocação Dinâmica de Memória

Ponteiros - Parte I. Ponteiros, Ponteiros e Vetores, Algoritmo Bubble Sort, Alocação Dinâmica de Memória Ponteiros - Parte I Ponteiros, Ponteiros e Vetores, Algoritmo Bubble Sort, Alocação Dinâmica de Memória Ponteiros Um ponteiro é uma variável que contém um endereço de memória. Esse endereço é normalmente

Leia mais

Alocação Dinâmica de Memória. Programação II

Alocação Dinâmica de Memória. Programação II Alocação Dinâmica de Memória Programação II Alocação dinâmica Uso da memória Uso de variáveis globais (e estáticas): Espaço reservado para uma variável global existe enquanto o programa estiver sendo executado.

Leia mais

Alocação Dinâmica em C

Alocação Dinâmica em C Alocação Dinâmica em C Anderson L. S. Moreira anderson.moreira@recife.ifpe.edu.br http://dase.ifpe.edu.br/~alsm 1 O que fazer com essa apresentação 2 Introdução A alocação dinâmica de memória é uma característica

Leia mais

Alocação dinâmica de Memória

Alocação dinâmica de Memória Alocação dinâmica de Memória Vetores e Arrays A variável vetor é uma variável que armazena outras variáveis, no caso tem que ser do mesmo tipo. Exemplo Criar um cont Declarar um vet com o tamanho Laço

Leia mais

Programação de Computadores II

Programação de Computadores II Programação de Computadores II 2019.1 Endereço e Ponteiro Endereço Ao colocarmos o símbolo & temos o endereço daquela variável. Ponteiro Ao colocarmos o símbolo * temos o valor da variável armazenada num

Leia mais

Introdução à Computação

Introdução à Computação Introdução à Computação Linguagem C Professor: André de Carvalho Aula de hoje Introdução Tipos compostos Tipo enumeração Conclusão Tipos compostos A Linguagem C permite criar tipos de dados definíveis

Leia mais

Programação I Ponteiros e alocação dinâmica de memória. Prof. Carlos Alberto

Programação I Ponteiros e alocação dinâmica de memória. Prof. Carlos Alberto Programação I Ponteiros e alocação dinâmica de memória Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br Ponteiros O ponteiro é um tipo de dado como int, char ou float; Variáveis

Leia mais

Teste de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2016

Teste de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2016 Teste de Software Egeharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2016 Aspectos teóricos e empíricos de teste de cobertura de software Notas Didáticas do ICMC/USP (o. 31) Tópicos da

Leia mais

Estruturas de Dados. Profa. Juliana Pinheiro Campos

Estruturas de Dados. Profa. Juliana Pinheiro Campos Estruturas de Dados Profa. Juliana Pinheiro Campos Vetores Forma mais simples de estruturar um conjunto de dados. Exemplo: int p[10]; // vetor de inteiros com 10 elementos Reserva de um espaço de memória

Leia mais

Organização de Arquivos

Organização de Arquivos Orgaização de Arquivos Cristia D. A. Ciferri Thiago A. S. Pardo Leadro C. Citra M.C.F. de Oliveira Moacir Poti Jr. Por que Orgaizar Arquivos? Cosidere o seguite stream (fluxo) de bytes AmesJoh123 MapleStillwaterOK74075MasoAla90

Leia mais

PONTEIROS E LISTAS. Kalinka Regina Lucas Jaquie Castelo Branco

PONTEIROS E LISTAS. Kalinka Regina Lucas Jaquie Castelo Branco PONTEIROS E LISTAS Kalinka Regina Lucas Jaquie Castelo Branco kalinka@icmc.usp.br ALOCAÇÃO DINÂMICA DE MEMÓRIA Pode-se assumir que as variáveis declaradas na cláusula variável do pseudo-código do algoritmo

Leia mais

Busca binária. Busca em arquivos. Busca binária. Busca binária. Ordenação e busca em arquivos

Busca binária. Busca em arquivos. Busca binária. Busca binária. Ordenação e busca em arquivos Algoritmos e Estruturas de Dados II Profa. Debora Medeiros Ordeação e Busca em Arquivos Idexação de Arquivos I: Ídices Simples Ordeação e busca em arquivos É relativamete fácil buscar elemetos em cojutos

Leia mais

Princípios de Desenvolvimento de Algoritmos MAC122

Princípios de Desenvolvimento de Algoritmos MAC122 Princípios de Desenvolvimento de Algoritmos MAC122 Prof. Dr. Paulo Miranda IME-USP Alocação Dinâmica de Memória Motivação: Nossos programas pré-fixavam o número de variáveis a serem utilizadas. No caso

Leia mais

Tabelas de Dispersão (hash tabels)

Tabelas de Dispersão (hash tabels) INF1010-3WB Estruturas de Dados Avaçadas Tabelas de Dispersão (hash tabels) 23/03/16 2010 DI, PUC-Rio Estruturas de Dados Avaçadas 2010.1 1 Motivação Busca (acesso) com vetor é muito eficiete Ifo* v[n];...

Leia mais

Ponteiros e Alocação de Memória

Ponteiros e Alocação de Memória Algoritmos e Estrutura de Dados I Ponteiros e Alocação de Memória Prof. Paulo Henrique Pisani fevereiro/2019 Memória Podemos entender a memória como um grande vetor de bytes devidamente endereçados: 0x1051

Leia mais

O termo "linear" significa que todas as funções definidas no modelo matemático que descreve o problema devem ser lineares, isto é, se f( x1,x2

O termo linear significa que todas as funções definidas no modelo matemático que descreve o problema devem ser lineares, isto é, se f( x1,x2 MÓDULO 4 - PROBLEMAS DE TRANSPORTE Baseado em Novaes, Atôio Galvão, Métodos de Otimização: aplicações aos trasportes. Edgar Blücher, São Paulo, 978..CONCEITOS BÁSICOS DE PROGRAMAÇÃO LINEAR É uma técica

Leia mais

5. ANÁLISE DE SISTEMAS DA CONFIABILIADE DE SISTEMAS SÉRIE-PARALELO

5. ANÁLISE DE SISTEMAS DA CONFIABILIADE DE SISTEMAS SÉRIE-PARALELO 5. ANÁLISE DE SISTEMAS DA CONFIABILIADE DE SISTEMAS SÉRIE-PARALELO 5.1 INTRODUÇÃO Um sistema é defiido como todo o cojuto de compoetes itercoectados, previamete determiados, de forma a realizar um cojuto

Leia mais

Departamento de Informática - PUC-Rio INF 1007 Programação 2 P4 07/12/2010

Departamento de Informática - PUC-Rio INF 1007 Programação 2 P4 07/12/2010 Departamento de Informática - PUC-Rio INF 1007 Programação 2 P4 07/12/2010 Aluno: Matrícula: Turma: Instruções: 1) Escreva seu nome completo, matrícula e turma; 2) A prova deve ser completamente resolvida

Leia mais

Gerenciamento de Arquivos Sistema Gerenciador de Banco de Dados Modelos de Dados. Banco de Dados

Gerenciamento de Arquivos Sistema Gerenciador de Banco de Dados Modelos de Dados. Banco de Dados Gereciameto de Arquivos Sistema Gereciador de Baco de Dados Modelos de Dados Baco de Dados Gereciameto de Arquivos Gereciameto de Arquivos Gereciameto de Arquivos Em uma idústria são executadas três fuções:

Leia mais

Sumário. 2 Índice Remissivo 19

Sumário. 2 Índice Remissivo 19 i Sumário 1 Estatística Descritiva 1 1.1 Coceitos Básicos.................................... 1 1.1.1 Defiições importates............................. 1 1.2 Tabelas Estatísticas...................................

Leia mais

Aula 17: Ponteiros e Alocação Dinâmica em C

Aula 17: Ponteiros e Alocação Dinâmica em C Aula 17: Ponteiros e Alocação Dinâmica em C Fernanda Passos Universidade Federal Fluminense Programação de Computadores IV Fernanda Passos (UFF) Ponteiros e Alocação Dinâmica Programação de Computadores

Leia mais

O que é um apontador em C (type pointer in C)?

O que é um apontador em C (type pointer in C)? O que é um apontador em C (type pointer in C)? Um apontador é uma variável que contém um endereço de outra variável. int x = 10;//variável inteira iniciada com o valor 10 int *px = &x;//variável apontadora

Leia mais

Introdução a Programação. Ponteiros e Strings, Alocação Dinâmica

Introdução a Programação. Ponteiros e Strings, Alocação Dinâmica Introdução a Programação Ponteiros e Strings, Alocação Dinâmica Tópicos da Aula Hoje aprenderemos a relação entre ponteiros e strings Ponteiros para strings X Vetores de Caracteres Vetores de ponteiros

Leia mais

08/10/2018. Banco de Dados. Gerenciamento de Arquivos. Gerenciamento de Arquivos Sistema Gerenciador de Banco de Dados Modelos de Dados

08/10/2018. Banco de Dados. Gerenciamento de Arquivos. Gerenciamento de Arquivos Sistema Gerenciador de Banco de Dados Modelos de Dados Baco de Dados Gereciameto de Arquivos Sistema Gereciador de Baco de Dados Modelos de Dados Gereciameto de Arquivos Gereciameto de Arquivos 1 Gereciameto de Arquivos Em uma empresa existem 3 departametos:

Leia mais

Faculdade Campo Limpo Paulista Mestrado em Ciência da Computação Complexidade de Algoritmos Avaliação 2

Faculdade Campo Limpo Paulista Mestrado em Ciência da Computação Complexidade de Algoritmos Avaliação 2 Faculdade Campo Limpo Paulista Mestrado em Ciêcia da Computação Complexidade de Algoritmos Avaliação 2. (2,0): Resolva a seguite relação de recorrêcia. T() = T( ) + 3 T() = 3 Pelo método iterativo progressivo.

Leia mais

CARACTERIZAÇÃO DO CONJUNTO EQUILIBRADOR PARA GRAFOS COM GAP NULO

CARACTERIZAÇÃO DO CONJUNTO EQUILIBRADOR PARA GRAFOS COM GAP NULO CARACTERIZAÇÃO DO CONJUNTO EQUILIBRADOR PARA GRAFOS COM GAP NULO Maximiliao Pito Damas Programa de Egeharia de Produção Uiversidade Federal do Rio de Jaeiro e-mail: maxdamas@hotmailcom Lilia Markezo Núcleo

Leia mais

RADIOATIVIDADE- TEORIA PARTE I

RADIOATIVIDADE- TEORIA PARTE I RDIOTIVIDDE- TEORI PRTE I Itrodução Radioatividade estuda a emissão atural ou provocada (artificial) de partículas e odas eletromagéticas pelos úcleos atômicos (uclídeos) de certos elemetos. Ela evolve

Leia mais

CAPÍTULO 6 - ESTIMAÇÃO E TESTES DE HIPÓTESES

CAPÍTULO 6 - ESTIMAÇÃO E TESTES DE HIPÓTESES CAPÍTULO 6 - ESTIMAÇÃO E TESTES DE HIPÓTESES 6. INTRODUÇÃO INFERÊNCIA ESTATÍSTICA Estimação por poto por itervalo Testes de Hipóteses População X θ =? Amostra θ Iferêcia Estatística X, X,..., X 6. ESTIMAÇÃO

Leia mais

Linguagem Computacional. Estruturas de Controle: Estruturas de Decisão ou de Seleção. Prof. Dr. Adriano Cansian Prof. Dr. Leandro Alves Neves

Linguagem Computacional. Estruturas de Controle: Estruturas de Decisão ou de Seleção. Prof. Dr. Adriano Cansian Prof. Dr. Leandro Alves Neves 1 Algoritmos e Programação Liguagem Computacioal Estruturas de Cotrole: Estruturas de Decisão ou de Seleção Prof. Dr. Adriao Casia Prof. Dr. Leadro Alves Neves O que veremos: Estruturas de Cotrole de Fluxo

Leia mais

Estruturas de Dados Aulas 3 e 4: Uso da. 14/03/2011 e 16/03/2011

Estruturas de Dados Aulas 3 e 4: Uso da. 14/03/2011 e 16/03/2011 Estruturas de Dados Aulas 3 e 4: Uso da memória e Vetores 14/03/2011 e 16/03/2011 Uso da memória Existem 3 maneiras de reservar o espaço da memória: Variáveis globais (estáticas) Espaço existe enquanto

Leia mais

Exercícios. Alocação Dinâmica. Alocação dinâmica de memória. Alocação de memória. Alocação da Memória Principal. Alocação da Memória Principal

Exercícios. Alocação Dinâmica. Alocação dinâmica de memória. Alocação de memória. Alocação da Memória Principal. Alocação da Memória Principal Exercícios 1) Crie uma função que recebe os coeficientes de uma função do 2o. grau e retorna as raízes sem usar vetor. 2) Faça um programa que acha o maior e o menor inteiro dentro de um vetor de 10 inteiros,

Leia mais

ALOCAÇÃO DINÂMICA DE MEMORIA Lista 10. A linguagem C/C++ possui recursos para alocação dinâmica de memoria.

ALOCAÇÃO DINÂMICA DE MEMORIA Lista 10. A linguagem C/C++ possui recursos para alocação dinâmica de memoria. ALOCAÇÃO DINÂMICA DE MEMORIA Lista 10 A linguagem C/C++ possui recursos para alocação dinâmica de memoria. As funções que trabalham com alocação de memoria se encontram na biblioteca void *calloc(int

Leia mais

Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP. Alocação Dinâmica de Memória

Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP. Alocação Dinâmica de Memória Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP Alocação Dinâmica de Memória Alocação Estática x Dinâmica C: dois tipos de alocação de memória: Estática e Dinâmica Na alocação estática, o espaço

Leia mais

Estruturas de Dados Aulas 3 e 4: Uso da memória e Vetores

Estruturas de Dados Aulas 3 e 4: Uso da memória e Vetores Estruturas de Dados Aulas 3 e 4: Uso da memória e Vetores Uso da memória Existem 3 maneiras de reservar o espaço da memória: Variáveis globais (estáticas) Espaço existe enquanto programa estiver executando

Leia mais