Carlos Eduardo Batista. Centro de Informática - UFPB

Documentos relacionados
Estrutura de Dados (DPADF 0056)

Introdução a Programação de Jogos

Carlos Eduardo Batista. Centro de Informática - UFPB

ECT1203 Linguagem de Programação

Carlos Eduardo Batista. Centro de Informática - UFPB

Programação: Vetores

Programação de Computadores II

Faculdade de Computação

Introdução a Computação

Programação Estruturada

Slide 01 16/03/2017. Estruturas de Dados. Prof. Cleziel Franzoni da /Cleziel.

Capítulo 1: Introdução à Linguagem C. Pontifícia Universidade Católica Departamento de Informática

Disciplina de Algoritmos e Programação

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

Métodos Computacionais

ALGORITMOS AULA 01. Baseado nas aulas do Prof. Jorgiano Vidal

Programação de Computadores II Aula 03. Linguagem C I

Algoritmos e Estruturas de Dados I (AEDI) Introdução - AEDI. Prof. Paulo Henrique Pisani

Ponteiros e Tabelas. K&R: Capítulo 5

Apontadores/ponteiros

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

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

TE091 Programação Orientada a Objetos Engenharia Elétrica

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

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

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

ANHANGUERA ESTRUTURA DE DADOS AULA 02 O QUE É ESTRUTURA DE DADOS? Prof. Thomás da Costa

Mais sobre Ponteiros em C

Prof. A. G. Silva. 25 de abril de Prof. A. G. Silva INE5231 Computação Científica I 25 de abril de / 68

Programação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação

Introdução à Programação

PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C

Estruturas de Dados. Módulo 2 Expressões. 9/8/2005 (c) Marco A. Casanova - PUC-Rio 1

Básico: estrutura de programa, sintaxe Interface com linha de comando

Introdução à Programação. Introdução a Linguagem C. Prof. José Honorato F. Nunes

Estrutura de Dados Conceitos Iniciais

Computação 2. Aula 7. Profª. Fabiany Ponteiros

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

Programação de Computadores II

INTRODUÇÃO À LINGUAGEM C. Prof. Msc. Luis Filipe Alves Pereira 2015

Programação Básica. Estrutura de um algoritmo

Estrutura de Programas e Tipos de Dados Simples

ENGENHARIA DE PRODUÇÃO PROGRAMAÇÃO Algoritmos Conceitos Iniciais. Prof. Luiz Fernando Laguardia Campos FMS

Linguagem de Programação. Thiago Leite Francisco Barretto

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

Variáveis e Operadores em C

Suponha um conjunto habitacional, com várias famílias... imagina se todas elas morassem em uma única casa?

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

Sistemas Operacionais e Introdução à Programação. Programação com linguagem C

ESTRUTURAS COMPOSTAS. Variáveis Compostas Unidimensionais VETOR. Baseado nos slides de Rosely Sanches e Simone Senger de Souza

PLANO DE UNIDADE DIDÁTICA- PUD

Matrizes em C. Lucas Ferrari de Oliveira Professor Adjunto. Universidade Federal do Paraná

Disciplina de Algoritmos e Programação

Introdução à Linguagem C Variáveis e Expressões

Ponteiros. Baseado nos slides do Prof. Mauro.

Variáveis, Tipos de Dados e Operadores

Vetores e matrizes. MCTA028 Programação Estruturada. Material preparado a partir de slides dos profs. Jesús Mena-Chalco e Fabrício Olivetti

PROGRAMAÇÃO I E N T R A DA E S A Í DA D E DA D O S

Aula 03: Introdução a C

Algoritmos e Estruturas de Dados I (DCC/003) Funções

O que é um jogo digital?

3. Linguagem de Programação C

Linguagem C: Introdução

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

Cap. 3 Entrada e Saída e Controle de Fluxo

Motivação. Estrutura de Dados. Motivação. Motivação. Por que estudar os tipos de dados? Duas são as principais preocupações em um projeto de software

Algoritmos e Introdução à Programação. Lógica e Linguagem de Programação

Algoritmos e Programação

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

Introdução à Programação

Curso de C. Introdução by Arnaldo V. Moura e Daniel F. Ferber 3/10/ :43 AM

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

Ponteiro. Ponteiro. Objetivo. Compreender a definição e dominar a implementação de ponteiros em C.

Introdução à Computação MAC0110

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

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

Princípios de Desenvolvimento de Algoritmos MAC122

Parte 1. Programação (linguagem C) Introdução Geral

Aula 18: Funções em C

Curso de C. Declaração de Variáveis 18/3/ :48 1

Computação 2. Aula 5. Profª. Fabiany defines vetor, strings e matriz por parâmetros de função

1.1 o que é um algoritmo... 6

Ponteiros. Ponteiros. Ponteiros. Ponteiros. Ponteiros. Introdução a Programação. Profa. Roseli Romero

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

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

ANHANGUERA ESTRUTURA DE DADOS AULA 04 MATRIZES, LISTAS E ALOCAÇÃO DINÂMICA. Prof. Thomás da Costa

Introdução a Programação de Jogos

Computadores Digitais 2. Prof. Rodrigo de Souza Couto

Cap. 2 Expressões na linguagem C

Material sobre Funções AEDS 1

TÉCNICAS DE LINGUAGEM DE PROGRAMAÇÃO

MCTA028 Programação Estruturada Aula 09: - Ponteiros (parte 2)

Módulo 1 Conceitos Fundamentais

Aula 5 Oficina de Programação Introdução ao C. Profa. Elaine Faria UFU

Alocação Dinâmica de Memória

Conhecendo a Linguagem de Programação C

Aula 02: Custos de um algoritmo e funções de complexidade

Introdução à Programação Estruturada Parte 2. Material da Prof. Ana Eliza

LINGUAGEM DE PROGRAMAÇÃO C AULA 2. Professor: Rodrigo Rocha

Transcrição:

Estrutura de Dados Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br

Motivação para o uso da linguagem C Entendendo Estrutura de Dados Revisão da Linguagem C Tipos primitivos Vetores e matrizes Exemplos de programas em C Cenas dos próximos capítulos... Linguagem C: Revisão e Motivação 2

Estrutura de dados uma forma particular de armazenar e organizar dados em um programa de computador de forma que possam ser utilizados eficientemente. Diferentes estruturas se adequam a diferentes problemas Exemplo: árvores-b se são interessantes para implementação de banco de dados, compiladores usam tabelas hash... Estrutura de dados: organização + operações Estrutura de dados usando C 3

Operações típicas associadas às estruturas de dados: inserção, deleção, primeiro item, último item, próximo item, localizar item... Estruturas de dados Facilitam a organização de grandes volumes de informação Facilitam o reconhecimento de dados complexos, agregando informações relacionadas Estrutura de dados usando C 4

Usar C para aprender estrutura de dados é bom pois C... É uma linguagem de grande penetração no mercado (ubíqua) Mais referências para aprendizagem, melhor aceitação no mercado Permite controle fino do uso de memória Acesso ao mundo real e não o mundo controlado de um sandbox Ponteiros e recursividade usar sem medo, mas com responsabilidade Permite maior controle operacional você designa como o controle é feito Outras linguagens oferecem muitas funcionalidades embutidas Estrutura de dados usando C 5

Programa de Computador Algoritmos + Estruturas de Dados Implementação concreta em uma linguagem de programação Utiliza estrutura de dados para armazenamento e manipulação das informações relacionadas com o domínio do problema atacado pelo programa Eficácia Atingir o objetivo proposto corretamente Eficiência Além de atingir o objetivo, fazê-lo otimamente (menor tempo, menor número de recursos etc.) Entendendo estrutura de dados 6

Estrutura de dados Retrata as relações lógicas existentes entre as informações utilizadas por um programa de computador Organiza informações Facilitam manipulação algorítmica das informações Entendendo estrutura de dados 7

Na definição de estruturas de dados devem ser considerados os seguintes aspectos Maneira como as estruturas serão utilizadas Métodos de manipulação que as estruturas oferecem Tipo de alocação de memória utilizada Entendendo estrutura de dados 8

Tipos de dados Conjunto de valores (domínio) que uma variável pode assumir Define também quais operações poderão ser aplicadas sobre os valores Tipos básicos: inteiro, real, caractere, booleano... Tipos básicos são indivisiveis Tipos estruturados: vetores, matrizes... Agregador de valores primitivos Entendendo estrutura de dados 9

Tipos abstratos de dados Especificam conceitualmente os dados (organização física e lógica) Definem operações para manipulação da estrutura Devem ser construídos pelo desenvolvedor Entendendo estrutura de dados 10

#include <stdio.h> int main(int argc, char **argv[]) { printf( Hello World!!"); return 0; } Revisão da Linguagem C 11

Um programa simples: Define (secretamente) um número aleatório Solicita ao usuário que insira um número Verifica se usuário acertou o número aleatório definido Se errou, informa se o valor tentado é maior ou menor Se acertou, exibe mensagem, informando quantas tentativas foram feitas Revisão da Linguagem C 12

Compilação Pré-processamento Verificação sintática Compilação Linkedição Revisão da Linguagem C 13

Variável Região de memória rotulada, que armazenará dados de um tipo específico Tipo de dado Conjunto de valores que podem ser atribuídos a uma variável Revisão da Linguagem C 14

char letra = 'a'; float area; int lado; lado = 5; area = lado * lado; Endereço 3048 3049 3050 3051 3052 3053 3054 ID letra area lado Valor a 25 5 Revisão da Linguagem C 15

Tipo Tamanho Valores char 1 byte -128 a 127 unsigned char 1 byte 0 a 255 short int 2 bytes -32.768 a 32.767 long int 4 bytes -2.147.483.648 a 2.147.483.647 float 4 bytes 10-38 a 10 38 double 8 bytes 10-308 a 10 308 Revisão da Linguagem C 16

Constantes Macros Substituídos na etapa de pré-processamento #define PI 3.14159265 Revisão da Linguagem C 17

Entrada e Saída printf(formato, lista de constantes/variáveis/expressões); printf( %d %f\n, 34234, 243.345); printf( Inteiro = %d Real = %f\n, 33, 5.3); scanf(formato, lista de endereços); scanf( %d,&n); scanf( %d:%d,&h,&m); Revisão da Linguagem C 18

Declaração de funções Com ou sem retorno (void) Escopo de variáveis Escopo global, local... Vetor Variável multivalorada unidimensional Matriz Variável multivalorada multidimensional Revisão da Linguagem C 19

Tipos abstratos de dados em C Aritmética de ponteiros em C Métodos de pesquisa e classificação de dados Próximas aulas 20

https://code.google.com/p/learnc/ Notas de Aula do Prof. Bruno B. Boniati Referências 21

Estrutura de Dados Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br