TECNOLOGIA EM REDES DE COMPUTADORES Algoritmos e programação de computadores Aula 11 1 03/08/2011 Professor Leomir J. Borba-

Slides:



Advertisements
Apresentações semelhantes
Estruturas de Dados Listas Prof. Rodrigo Rocha
Advertisements

01/08/2011 Professor Leomir J. Borba- –
Programação em Java Prof. Maurício Braga
Marco Antonio Montebello Júnior
ENGENHARIA CIVIL COMPUTAÇÃO APLICADA Aula 12
05/08/2011 Professor Leomir J. Borba- –
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula /08/2011 Professor Leomir J. Borba-
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula /08/2011 Professor Leomir J. Borba-
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula /08/2011 Professor Leomir J. Borba-
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula /08/2011 Professor Leomir J. Borba-
TECNOLOGIA EM REDES DE COMPUTADORES Algoritmos e programação de computadores Aula /08/2011 Professor Leomir J. Borba-
03/08/2011 Professor Leomir J. Borba- –
Algoritmos de manipulação de estruturas elementares de dados
1 Tipos definidos O programador pode definir seus próprios tipos de dados tipos complexos usados da mesma forma que os simples declaram-se variáveis utilizando-se.
LINGUAGEM C.
Linguagem C LPG-I – Variáveis Estruturadas – Vetores
LPG - I: Alocação Dinâmica de Memória - Ponteiros
Estruturas de Dados II Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Estruturas de Dados II Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Universidade de Brasília
Linguagem C Strings.
Slides Prof. Jean SIMÃO Revisão: Prof. João FABRO
Fundamentos de Programação 1
Ponteiros.
Escola Secundária c/ 3º CEB da Batalha
Listas Encadeadas.
Revisão da Linguagem C.
APRESENTAÇÃO: GIANCARLO DE GUSMÃO GONÇALVES CURSO DE C AULA 08: Tipos Estruturados.
Alocação Dinâmica de Memória Professor Mário Dantas
Fundamentos de Programação Estruturada – Turma A 1º Período CSTA - UTP
Aula prática 9 Alocação Dinâmica Monitoria de Introdução à Programação
Aula prática 9 Alocação Dinâmica Monitoria de Introdução à Programação
Linguagem de Programação II Parte IV
Linguagem de Programação II Parte VII
Linguagem de Programação II Parte V
Linguagem de Programação II Parte IX
UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA CIVIL INTRODUÇÃO À ALGORITMOS Professora: Fabíola Gonçalves.
Definição de Tipos Estruturas e Ponteiros
INTELIGÊNCIA ARTIFICIAL
Estrutura de dados II Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Alocação Dinâmica de Memória
TECNOLOGIA EM REDES DE COMPUTADORES INTRODUÇÃO A COMPUTAÇÃO Aula /02/2013 Professor Leomir J. Borba- –
Seminário 1: Revisão de C
UNIDADE 5 ESTRUTURAS DE DADOS HOMOGÊNEAS
Computação Eletrônica
Estruturas de Dados Aula 5: Matrizes
Fundamentos de Programação
Aula 10 - Armazenamento de Dados em Registros
Vetores e Matrizes Ameliara Freire
ENGENHARIA CIVIL COMPUTAÇÃO APLICADA Semana /02/2013 Professor Leomir J. Borba- –
ENGENHARIA CIVIL COMPUTAÇÃO APLICADA Aula /08/2011 Professor Leomir J. Borba- –
1 Alocação Dinâmica Quando se declara arrays o tamanho deve ser fixo e definido primeiramente –Alocação estática Pode-se alocar dinamicamente o espaço.
MSc. Marcelo Torres – professortorres.com.br. Linguagem de Programação 01 - Introdução à Linguagem C MSc. Marcelo Torres – professortorres.com.br.
Vetores Bidimensionais – Debug - Ponteiros – Listas Encadeadas Simples
Estruturas de Dados Aulas 3 e 4: Uso da memória e Vetores
Prof. Alessandro Gonçalves
Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: _01.
TECNOLOGIA EM REDES DE COMPUTADORES Algoritmos e programação de computadores Aula /08/2011 Professor Leomir J. Borba-
TECNOLOGIA EM REDES DE COMPUTADORES Algoritmos e programação de computadores Aula /08/2011 Professor Leomir J. Borba-
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula /08/2011 Professor Leomir J. Borba-
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula /08/2011 Professor Leomir J. Borba-
Estrutura de Dados Revisão Professor Luiz José Hoffmann Filho
 O que são arrays:  estruturas de dados homogêneas  coleção de elementos do mesmo tipo referenciada por um nome comum  um array pode ser imaginado.
Estruturas Homogêneas – Vetores e Matrizes
Ponteiros. Programação II Professora: Mai-Ly vanessa horário: ter 9h-11h; sex 11h-13h Aula 1.
Algoritmo e Estrutura de Dados I Aulas 15 – Linguagem C Alocação Dinâmica de Memória Márcia Marra
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula /08/2011 Professor Leomir J. Borba-
Linguagem de Programação
Programação em C Aula 9.
Alocação Dinâmica Dilvan Moreira. Objetivos  Entender o que são e como usar:  Gerenciamento de Memória  Alocação Dinâmica em C.
Transcrição da apresentação:

TECNOLOGIA EM REDES DE COMPUTADORES Algoritmos e programação de computadores Aula /08/2011 Professor Leomir J. Borba- –

Agenda Implementação de estrutura de controle de repetição while/do-while Laço for Variáveis compostas homogêneas – Vetores/Matrizes Manipulação Variáveis compostas heterogeneas – Registros 2 03/08/2011 Professor Leomir J. Borba- –

Implementação de estrutura de controle de repetição while/do- while Utilizando a estrutura while apresentada na aula anterior implemente um programa para contar o numero de caracteres digitados e mostrar em tela, sair quando digitar r através da funções getche() Bibliotecas necessarias iostream.h,stlib.h,conio.h Sintaxe função getche (le caracteres no momento em que é digitado mas não mostra em tela)- = getche() 3 03/08/2011 Professor Leomir J. Borba- –

Implementação de estrutura de controle de repetição while/do- while Utilizando a estrutura do-while apresentada na aula anterior implemente um programa para adivinhar uma letra selecionada randomicamente através da funções rand(),getch() Bibliotecas necessarias iostream.h,stlib.h,conio.h Sintaxe função rand – char = rand() % a; Sintaxe função getch (le caracteres no momento em que é digitado)- = getch() 4 03/08/2011 Professor Leomir J. Borba- –

Implementação de estrutura de controle de repetição for Usada para implementar estrutura de controle de repetição de forma similar ao while/do-while Três expressões separadas por ponto e virgula regulam seu funcionamento 5 03/08/2011 Professor Leomir J. Borba- –

Implementação de estrutura de controle de repetição for Crie um laco utilizando for para mostrar na tela a tabuada do 6 utilizando as funções setw() (formata display na tela, campo) Bibliotecas necessárias iostream.h,iomanip (sem.h) Altere o programa para que mostre a taboada invertida 6 03/08/2011 Professor Leomir J. Borba- –

Variáveis compostas homogêneas – Vetores Dados Homogêneos Uma estrutura de dados, que utiliza somente um tipo de dado, em sua Definição é conhecida como dados homogêneos. Variáveis compostas homogêneas correspondem a posições de memória, identificadas por um mesmo nome, individualizado por índices e cujo conteúdo é composto do mesmo tipo. Sendo os vetores (também conhecidos como estruturas de dados unidimensionais) e as matrizes (estruturas de dados bidimensionais) os representantes dos dados homogêneos 7 05/08/2011 Professor Leomir J. Borba- –

Variáveis compostas homogêneas – Vetores Vetor - O vetor é uma estrutura de dados linear que necessita de somente um índice para que seus elementos sejam endereçados. Usado para armazenar lista de valores do mesmo tipo. Cada célula armazena somente um valor de dados do vetor tipo. Cada célula tem seu próprio endereço ou indice. Características principais Alocação estática, Estrutura homogênea, alocação seqüencial 8 05/08/2011 Professor Leomir J. Borba- –

Variáveis compostas homogêneas – Vetores Inserção/Exclusão Realocação dos elementos Posição de memória não liberada Ex : int nota [ 5 ] nota [1]=9.5; nota[2]= /08/2011 Professor Leomir J. Borba- –

Variáveis compostas homogêneas – Matriz Uma matriz é um arranjo bidimensional ou multidimensional de alocação estática e seqüencial. A matriz é uma estrutura de dados que necessita de um índice para referenciar a linha e outro para referenciar a coluna para que seus elementos sejam endereçados. Ex. Char letras[3][6] 10 05/08/2011 Professor Leomir J. Borba- –

Variáveis compostas homogêneas – Matriz Funções para alocação de memória Na linguagem C, a alocação dinâmica de memória pode ser realizada com apenas quatro chamadas a funções: void * malloc(int qty_bytes_alloc); void * calloc(int qty, int size); void * realloc(void * pointer, int new_size); free( void * pointer); 11 05/08/2011 Professor Leomir J. Borba- –

Estruturas de Dados Dados Heterogêneos Uma estrutura de dados é chamada de heterogênea quando envolve a utilização de mais de um tipo básico de dado (inteiro ou caractere, por exemplo) para representar uma estrutura de dados. Normalmente, este tipo de dado é chamado de registro (mais comum em banco de dados) /08/2011 Professor Leomir J. Borba- –

Estruturas de Dados Para se fazer o acesso de um único campo deve-se utilizar o nome da estrutura seguido de um ponto e do nome do campo desejado da estrutura. A linguagem C também permite que seja criado um vetor de estruturas, exemplo : 13 05/08/2011 Professor Leomir J. Borba- – Criação da estrutura struct DADO { char sNome[40]; int iIdade; }; Struct DADOS sDAdos[5]; Utilização da estrutura A estrutura é dividida em duas partes por um ponto (.). Tem-se o nome da estrutura à esquerda e o nome do campo à direita. Neste exemplo, como está sendo manipulado um vetor de estruturas, também tem índice para cada linha do vetor. */ nVar = sDados[iIndice].sNome

Uso de Memória em C Funções para alocação de memória É a função malloc que realiza a alocação de memória. Deve-se informar para a função a quantidade de bytes para alocação. A função irá retornar, se existir memória suifciente, um endereço que deve ser colocado em uma variável do tipo ponteiro. Como a função retorna um ponteiro para o tipo void, deve-se utilizar o typecast, transformando este endereço para o tipo de ponteiro desejado /08/2011 Professor Leomir J. Borba- –

Uso de Memória em C Funções para alocação de memória calloc - Em vez de se alocar uma quantidade de bytes através da função malloc, pode-se usar a função calloc e especificar a quantidade de bloco de um determinado tamanho. Funcionalmente a alocação irá ocorrer de maneira idêntica. A única diferença entre o malloc e o calloc é que a última função, além de alocar o espaço, também inicializa o mesmo com zeros /08/2011 Professor Leomir J. Borba- –

Uso de Memória em C Funções para alocação de memória Função realloc Às vezes é necessário expandir uma área alocada. Para isto deve-se usar a função realloc. Deve-se passar para ela o ponteiro retornado pelo malloc e a indicação do novo tamanho. A realocação de memória pode resultar na troca de blocos na memória /08/2011 Professor Leomir J. Borba- –

Uso de Memória em C Funções para alocação de memória Função free - Quando não se deseja mais uma área alocada, deve-se liberá-la através da função free. Deve ser passado para a função o endereço, que se deseja liberar, que foi devolvido quando a alocação da memória ocorreu /08/2011 Professor Leomir J. Borba- –

Bibliografia 03/08/2011 Professor Leomir J. Borba- – 18 BIBLIOGRAFIA BÁSICA 1 GUIMARÃES, Ângelo de Moura e LAGES, Alberto de Castilho. Algoritmos e estruturas de dados. 1ª edição. Rio de janeiro. LTC, MIZHARI, Victorine Viviane. Treinamento – Módulo 1. 1ª Edição, São Paulo. Editora Makron Books, BIBLIOGRAFIA COMPLEMENTAR 3 Forbellone, A. L. V. e Eberspacher, H. F.. Lógica de Programação - a Construção de Algoritmos e Estruturas de Dados. 3ª edição. Pearson, FARRER, Harry et al. Algoritmos Estruturados. 3ª Edição.Rio de Janeiro:LTC, SCHILDT, Herbert. C, completo e total. 3ª Edição. Makron Books, 1997