Estrutura de Dados. Ricardo José Cabeça de Souza Parte 4

Documentos relacionados
Estrutura de Dados. Ricardo José Cabeça de Souza Parte 2

Estrutura de Dados. Ricardo José Cabeça de Souza Parte 9

Estruturas de Dados. Módulo 4 Funções. 9/8/2005 (c) Dept. Informática - PUC-Rio 1

Ricardo José Cabeça de Souza.

Tipos Básicos. Operadores de Incremento e Decremento. Operador Sizeof. Estruturas de Dados Aula 2: Estruturas Estáticas

Estruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011

Estruturas de Dados Aula 2: Estruturas Estáticas. Tipos Básicos. Quantos valores distintos podemos representar com o tipo char?

Estrutura de Dados. Ricardo José Cabeça de Souza Parte 1

ESTRUTURA DE DADOS (TCC )

Ponteiros de Variáveis

Programação de Computadores II. Cap. 4 Funções

Computadores Digitais 2. Prof. Rodrigo de Souza Couto

Programação: Vetores

PLANO DE UNIDADE DIDÁTICA- PUD

Introdução à Programação

Lista de Exercícios sobre Listas Implementadas por Encadeamento

Métodos Computacionais. Funções, Escopo de Variáveis e Ponteiros

Lista de Exercícios 04

CHAPTER ONE. Uma árvore B de ordem "m" (máximo de filhos para cada nó) é uma árvore que atende as seguintes propriedades:

Ministério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Campus Curitiba PLANO DE ENSINO

Computadores Digitais 2. Prof. Rodrigo de Souza Couto

6 Alguns conceitos e comandos em programação

Estruturas de Dados Aula 1: Introdução e conceitos básicos 28/02/2011

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: funções

SCC Capítulo 2 Recursão

Algoritmos e Programação

Web site. Profa. Patrícia Dockhorn Costa.

REVISÃO DE C. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos

Pesquisa Linear. Adriano J. Holanda 15/3/2016

Estruturas de Dados. Módulo 6 Matrizes. 9/8/2005 (c) Dept. Informática - PUC-Rio 1

Introdução à Programação. Funções e Escopo de Variáveis

Algoritmos e Linguagem de Programação de Computadores I

Fundamentos de Programação de Computadores Linguagem C Função Unidade 08 Linguagem C - Função 1/18

Carlos Eduardo Batista. Centro de Informática - UFPB

LINGUAGEM C: FUNÇÕES FUNÇÃO 08/01/2018. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa.

Introdução à Programação

Módulo 5 Vetores e Alocação Dinâmica

Métodos Computacionais

Estruturas de Dados Homogêneas (Vetores e Matrizes) e Ponteiros em C

COMPILAÇÃO. Ricardo José Cabeça de Souza

SSC304 Introdução à Programação Para Engenharias. Introdução a Linguagem C. GE4 Bio

Sumário. Introdução à Ciência da Computação. Ponteiros em C. Introdução. Definição. Por quê ponteiros são importantes?

TECNOLOGIA EM REDES DE COMPUTADORES. computadores. Aula 5

Centro Universitário Franciscano Curso de Sistemas de Informação Disciplina de algoritmos e programação II. Ponteiros

Programação II. Ponteiros. Bruno Feijó Dept. de Informática, PUC-Rio

Fundamentos de Programação. Linguagem C++ aula II - Variáveis e constantes. Prof.: Bruno Gomes

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

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: funções

Introdução a classes e objetos. Copyright 2006 by Pearson Education

Algoritmos e Estruturas de Dados I IEC012. Procedimentos e Funções. Prof. César Melo Todos os créditos para o professor Leandro Galvão

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

Fundamentos de Programação de Computadores Linguagem C Vetor Unidade 09 Linguagem C - Vetor 1/16

Programação I Funções. Prof. Carlos Alberto

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

LINGUAGEM C: FUNÇÕES FUNÇÃO 04/07/2017. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa.

Introdução a Programação. Ponteiros e Passagem de Argumentos por Referência

Linguagem e Técnicas de Programação

ALGORITMOS E ESRUTRA DE DADOS I. Ponteiros Passagem por Valor e Referência Alocação de Memória

Programação de Computadores II. Cap. 5 Vetores

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

Recursividade UFOP 1/48

Fundamentos de Orientação a Objetos

Introduzir o conceito de préprocessamento e apresentar as duas principais diretivas utilizadas. funções em C.

SSC304 Introdução à Programação Para Engenharias. Ponteiros. GE4 Bio

Árvores binárias de busca

O vetor é provavelmente um dos mais simples e importantes tipos agregados. Através do seu uso, podemos

INF1007: Programação 2. 0 Revisão. 06/08/2015 (c) Dept. de Informática - PUC-Rio 1

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO E DO DESPORTO CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS CEFET-MG UNIDADE DE ENSINO

Ambiente de desenvolvimento

Primeiros programas.

Representações de Grafos

Modelo de plano analitico

INF1007: Programação 2 6 Ordenação de Vetores. 01/10/2015 (c) Dept. Informática - PUC-Rio 1

Algoritmos Computacionais

Ponteiros e Alocação de Memória

Ponteiros. Prof. Fernando V. Paulovich *Baseado no material do Prof. Gustavo Batista

Computadores Digitais 2. Prof. Rodrigo de Souza Couto

Linguagem C: Introdução

INF 1007 Programação II

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

Introdução a Programação. Tipos Estruturados de Dados

Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação. Profa Rosana Braga

LINGUAGEM C: ARRAY: VETORES E MATRIZES

Computação Básica. Prof. Tiago Alves. Universidade de Brasília Campus Gama

Algoritmos e Estruturas de Dados I (DCC/003) Introdução à Programação de Computadores. Aula - Tópico 1

DAS5102 Fundamentos da Estrutura da Informação

Programação Estruturada Aula 9 - Matrizes e Strings II

Algoritmos e Programação. Linguagem C Procedimentos e. Eliane Pozzebon

Linguagem C Princípios Básicos (parte 1)

Aula 1 Apresentação do curso e Conceitos Fundamentais. Objetivo do curso

Aula 3 Constantes e funções de E/S

Aula 26: Estruturas heterogêneas

Modularidade - Funções e Procedimentos

Programação em Linguagem C

Fundamentos de Programação

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

# Estrutura de Dados # Aula - Revisão de C/C++ na Prática. Prof. Leinylson Fontinele Pereira

Transcrição:

Estrutura de Dados Ricardo José Cabeça de Souza www.ricardojcsouza.com.br Parte 4

As funções dividem grandes tarefas de computação em tarefas menores Criação de funções evita a repetição de código

Exemplo

Quando uma função não tem parâmetros, colocamos a palavra reservada void entre os parênteses Uma função pode ter um valor de retorno associado

PROTÓTIPO O protótipo de uma função consiste na repetição da linha de sua definição seguida do caractere (;)

Retorno

PILHA DE EXECUÇÃO As variáveis locais definidas dentro do corpo de uma função (e isto inclui os parâmetros das funções) não existem fora da função Escopo local Escopo global

PASSAGEM DE PARÂMETROS POR VALOR O valor passado é atribuído ao parâmetro da função chamada

MODELO DE PILHA

PONTEIRO DE VARIÁVEIS A linguagem C permite o armazenamento e a manipulação de valores de endereços de memória Para cada tipo existente, há um tipo ponteiro que pode armazenar endereços de memória onde existem valores do tipo correspondente armazenados

PONTEIRO DE VARIÁVEIS Após as declarações, ambas as variáveis, a e p, armazenam valores "lixo", pois não foram inicializadas

PONTEIRO DE VARIÁVEIS

PONTEIRO DE VARIÁVEIS A variável a recebe, indiretamente, o valor 6 Acessar a é equivalente a acessar *p, pois p armazena o endereço de a Dizemos que p aponta para a, daí o nome ponteiro

PONTEIRO DE VARIÁVEIS Exemplo

PASSANDO PONTEIROS PARA Ponteiros oferecem meios de alterarmos valores de variáveis acessando-as indiretamente Passagem de parâmetros por referência

PASSANDO PONTEIROS PARA Obs: Alguns compiladores usam & como representação do ponteiro na passagem de parâmetros.

PASSANDO PONTEIROS PARA

RECURSIVIDADE As funções podem ser chamadas recursivamente, isto é, dentro do corpo de uma função podemos chamar novamente a própria função Se uma função A chama a própria função A, dizemos que ocorre uma recursão direta Se uma função A chama uma função B que, por sua vez, chama A, temos uma recursão indireta

RECURSIVIDADE Exemplo

PRÉ-PROCESSADOR O pré-processador de C reconhece determinadas diretivas e altera o código para, então, enviá-lo ao compilador Uma das diretivas reconhecidas pelo pré-processador: #include É seguida por um nome de arquivo e o pré-processador a substitui pelo corpo do arquivo especificado Quando o nome do arquivo a ser incluído é envolto por aspas ("arquivo"), o pré-processador procura primeiro o arquivo no diretório atual Se o arquivo é colocado entre os sinais de menor e maior (<arquivo>), o pré-processador procura nos diretórios de include especificados para compilação

PRÉ-PROCESSADOR O pré-processador de C reconhece determinadas diretivas e altera o código para, então, enviá-lo ao compilador Outra diretiva reconhecidas pelo pré-processador: #define Diretiva de definição para representarmos constantes simbólicas

PRÉ-PROCESSADOR Exemplo diretiva #define

Estrutura de Dados REFERÊNCIAS Tenenbaum, Aaron M. Langsam, Yedidyah, Augenstein, Moshe J. Estruturas de dados usando C. São Paulo : MAKRON Books, 1995. Veloso, Paulo. et. al. Estrutura de dados. Rio de Janeiro: Campus, 1986. Moraes, Celso Roberto. Estrutura de dados e algoritmos. 2. ed. São Paulo: Futura, 2003. Celes, W. Rangel, J. L. Curso de Estrutura de Dados. PUC- Rio, 2002. W. Celes, R. Cerqueira, J.L. Rangel. Introdução a Estruturas de Dados - com técnicas de programação em C. Rio de Janeiro: Campus, 2004.