Estrutura de Dados Conceitos Iniciais

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

Download "Estrutura de Dados Conceitos Iniciais"

Transcrição

1 Engenharia de CONTROLE e AUTOMAÇÃO Estrutura de Dados Conceitos Iniciais Aula 02 DPEE 1038 Estrutura de Dados para Automação Curso de Engenharia de Controle e Automação Universidade Federal de Santa Maria beltrame@mail.ufsm.br

2 Sumário Vetores Unidimensionais String de caracteres Bidimensionais (Matrizes) Tipos abstratos de dados (TDAs) 2

3 Vetores Vetores Unidimensionais São tipos de dados estruturados Compostos de dados mais simples Vetor unidimensional Conjunto finito e ordenado de elementos homogêneos Finito: número especifico, pré definido Ordenado: elemento zero, elemento um, etc. Homogêneo: todos os elementos precisam ser do mesmo tipo (inteiros ou caracteres, mas não ambos) 3

4 Vetores Limites de um vetor Elemento de menor índice: limite mínimo (lower) Elemento de maior índice: limite máximo (upper) Número de elementos do vetor: faixa faixa upper lower 1 Observação Os limites de um vetor não podem ser alterados durante a execução de um programa! Limite mínimo = 0 Limite máximo = definido quando o programa foi escrito 4

5 Vetores Declarando os limites #define LIMITE 100 // Decl. de constante int a[limite]; // Decl. do vetor for (i=0; i<limite, i++) {... } Operações básicas sobre vetores int a[100]; // Declaração x = a[i]; // Oper. de Extração a[i] = x; // Oper. de Armazenamento 5

6 Vetores Implementando vetores unidimensionais A declaração em C int b[100] reserva 100 posições sucessivas na memória com tamanho suficiente para armazenar um inteiro Primeira posição: endereço base do vetor b, indicado por base(b) Se o tamanho de cada elemento for SIZE, então b[0] elemento na posição base(b) b[1] elemento na posição base(b) + SIZE b[2] elemento na posição base(b) + 2 * SIZE... b[i] elemento na posição base(b) + i * SIZE 6

7 Vetores Em C uma variável vetor é implementada como um ponteiro Não aparece * na declaração porque [ ] também indicam que a variável trata se de um ponteiro Diferença entre int *b e int b[100] int b[100] reserva 100 posições de inteiros começando na posição b int b[100]; x = b[i]; // Elemento de b na posição i x = *(b + i); // Expressão equivalente Na verdade, é implementado base(b) + i * SIZE 7

8 Vetores String de Caracteres Definida como um vetor de caracteres Encerrada por um caractere NULL \0 Constante string Definida por um texto entre aspas duplas O caractere NULL é automaticamente incluído ao final \n // Nova linha \t // Tabulação \b // Retrocesso \ // Aspas \\ // Barra \ // Apostrofo \r // Retorno \f // Avanço de pág. 8

9 Vetores Exemplo x = I DON\ T KNOW HIM 17 elementos 12 caracteres do tipo letra 3 caracteres do tipo espaço 1 caractere especial do tipo apóstrofo (\ ) 1 caractere especial de saída (\0) 9

10 Vetores Operações com strings: operações primitivas Tamanho da string #define STRSIZE 90 // Variáveis globais char string[strsize]; strlen(string) // Função strlen char string[]; { int i; for (i=0; string[i]!= \0 ; i++); return(i); } 10

11 Vetores Vetores Bidimensionais Os tipos do componente de um vetor pode ser outro vetor int a[3][5]; Vetor com 3 elementos Cada elemento é, em si, um vetor contendo 5 elementos 11

12 Vetores Lembrar que A memória (hardware) de um computador é linear (unidimensional) Como armazenar um vetor bidimensional? Representação por linha Cada linha do vetor ocupa um conjunto de posições na memória Podem existir cabeçalhos no início do vetor contendo a informação sobre sua dimensão a [0] [0] a [0] [1] a [0] [2] a [0] [3] a [0] [4] a [1] [0] a [1] [1] a [1] [2] a [1] [3] a [1] [4] a [2] [0] a [2] [1] a [2] [2] a [2] [3] a [2] [4] Cabeçalho base (a) Linha 0 Linha 1 Linha 2 12

13 Vetores 1/5 Endereçamento do vetor na memória Sendo int a[r1][r2]; um vetor de inteiros com r1 e r2 as faixas da primeira e segunda dimensões do vetor e base(a) éo endereço de a[0][0] Como calcular o endereço na memória do elemento a[i1][i2]? &[1][2] a i i base a i1 r 2 i2 esize &[0][0] a nº bytes de cada elemento nº linhas nº colunas nº elementos por linha 13

14 Vetores 1/5 Exemplo Supondo o vetor bit a[3][5]; Calcular o endereço de a[2][4] supondo esize = 1 (1 bit) r1 =3, r2 = 5 i1 = 2, i2 = 4 &[1][2] a i i base a i1 r 2 i2 esize &[2][4] a base a &[2][4] a base a a [0] [0] a [0] [1] a [0] [2] a [0] [3] a [0] [4] a [1] [0] a [1] [1] a [1] [2] a [1] [3] a [1] [4] a [2] [0] a [2] [1] a [2] [2] a [2] [3] a [2] [4] Cabeçalho base (a) Linha 0 Linha 1 Linha 2 14

15 Vetores 1/5 Vetores Multidimensionais O C permite a declaração de vetores com mais de 2 dimensões int b[3][2][4]; Cada elemento éespecificado por 3 índices (plano, linha e coluna) 15

16 Vetores 1/ b [0] [0] [0] b [0] [0] [1] b [0] [0] [2] b [0] [0] [3] b [0] [1] [0] b [0] [1] [1] b [0] [1] [2] b [0] [1] [3] b [1] [0] [0] b [1] [0] [1] b [1] [0] [2] b [1] [0] [3]... Cabeçalho base (b) Linha 0 Linha 1 Linha 0 Plano 0 Plano 1 16

17 Tipos de dados abstratos (TDAs) 1/5 Éa especificação de um conjunto de dados e operações que podem ser executadas sobre esses dados Tem como proposta reduzir a informação necessária para a criação de um algoritmo Faz uso da abstração das variáveis envolvidas em uma única entidade fechada Dados desconexos Estudante Nome Curso Nome Curso Nascimento Disciplinas Nascimento Disciplinas Endereço Endereço 17

18 Tipos de dados abstratos (TDAs) Sem o emprego de TDAs Um estudante seria representado por variáveis soltas, operadas em separado, sem uma ligação lógica entre elas O programador deve saber que dada variável trata se do nome da "entidade" estudante Exemplo de TDA aluno.nome aluno.nome.nascimento aluno.nome.endereco aluno.nome.curso aluno.nome.curso.disciplinas 18

19 Tipos de dados abstratos (TDAs) Abstração dos dados Passou se a se projetar um programa pensando que não há o nome, idade e matrícula do estudante de modo independente Existe, simplesmente, o tipo estudante Da mesma forma que um inteiro ou uma string, o tipo deve possuir operadores próprios Exemplo: duplicar informação, validar a matrícula, verificar a idade TDA Modelo matemático composto pelo par (V, O) V éo conjunto de valores (dados) O éo conjunto de operações que atuam sobre esses valores 19

20 Tipos de dados abstratos (TDAs) Composição de um TDA Cabeçalho: nome da TDA, descrição do tipo do dado e lista de operações Para cada operação são especificados Entradas: informações necessárias para executar a operação Pré condições: verificações antes de executar a operação Processo: operações que devem ser executadas Saídas: informações obtidas após a execução do processo Pós condições: indicam quaisquer alterações que a execução da operação em questão causou no dado 20

21 Tipos de dados abstratos (TDAs) 1/5 Implementação de um TDA (linguagem estruturada) TDA nome_tda é: dados: domínio do dado operações: operação 1: entradas: pré-condição: processo: saída: pós-condição: operação 2:... operação n:... fim TDA nome_tda 21

22 Revisão Vetores Unidimensionais String de caracteres Bidimensionais (Matrizes) Representação linear na memória São tratados pelo C como ponteiros Tipos abstratos de dados (TDAs) Especificação de um conjunto de dados e operações que podem ser executadas sobre esses dados Definição de um novo tipo de variável Agrupamento de informações anteriormente dispersas 22

Estrutura de Dados Conceitos Iniciais

Estrutura de Dados Conceitos Iniciais Engenharia de CONTROLE e AUTOMAÇÃO Estrutura de Dados Conceitos Iniciais Aula 01 DPEE 1038 Estrutura de Dados para Automação Curso de Engenharia de Controle e Automação Universidade Federal de Santa Maria

Leia mais

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

Slide 01 16/03/2017. Estruturas de Dados. Prof. Cleziel Franzoni da /Cleziel. Slide 01 16/03/2017 Estruturas de Dados Prof. Cleziel Franzoni da Costa 1 @Cleziel /Cleziel cleziel@hotmail.com 42 3 EMENTA Listas lineares e suas variações. Filas e pilhas. Árvores binárias e suas variações.

Leia mais

Programação I Matrizes e Strings. Prof. Carlos Alberto

Programação I Matrizes e Strings. Prof. Carlos Alberto Programação I Matrizes e Strings Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br Matrizes Matriz é uma coleção de variáveis do mesmo tipo que é referenciada por um nome comum;

Leia mais

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

Vetores e matrizes. MCTA028 Programação Estruturada. Material preparado a partir de slides dos profs. Jesús Mena-Chalco e Fabrício Olivetti 1 MCTA28 Programação Estruturada Vetores e matrizes Material preparado a partir de slides dos profs. Jesús Mena-Chalco e Fabrício Olivetti Luiz Rozante 3Q-218 Armazenar 1 inteiros em um programa... Usando

Leia mais

Linguagem C: Tipos básicos de dados escalares e cadeia de caracteres. Prof. Leonardo Barreto Campos 1

Linguagem C: Tipos básicos de dados escalares e cadeia de caracteres. Prof. Leonardo Barreto Campos 1 Linguagem C: Tipos básicos de dados escalares e cadeia de caracteres Prof. Leonardo Barreto Campos 1 Sumário Dados Escalares; Strings: Strings Constantes; Strings Variáveis; A função gets(); A função strcpy();

Leia mais

LINGUAGEM C: ARRAY: VETORES E MATRIZES

LINGUAGEM C: ARRAY: VETORES E MATRIZES LINGUAGEM C: ARRAY: VETORES E MATRIZES Prof. André Backes POR QUE USAR ARRAY? As variáveis declaradas até agora são capazes de armazenar um único valor por vez. Sempre que tentamos armazenar um novo valor

Leia mais

Estruturas de Dados. Prof.: Carlos Alberto Página da Disciplina:

Estruturas de Dados. Prof.: Carlos Alberto Página da Disciplina: Estruturas de Dados Prof.: Carlos Alberto Página da Disciplina: http://alged.webnode.com/ E-mail: carlos36_batista@yahoo.com.br Estruturas de dados Programa da disciplina Estruturas de dados - referências

Leia mais

Vetores e Matrizes. Prof. Fabrício Olivetti de França Charles Henrique

Vetores e Matrizes. Prof. Fabrício Olivetti de França Charles Henrique Vetores e Matrizes Prof. Fabrício Olivetti de França Charles Henrique Vetores Estáticos Um vetor em C é declarado como: tipo nome[tamanho]; 2 Vetores Estáticos /* vetor de nome v1 com 100 elementos do

Leia mais

Arrays. Professor: Ricardo Luis dos Santos IFSUL Campus Sapucaia do Sul

Arrays. Professor: Ricardo Luis dos Santos IFSUL Campus Sapucaia do Sul Professor: Ricardo Luis dos Santos IFSUL 2015 Arrays ou vetores são estruturas de dados que armazenam usualmente uma quantidade fixa de dados de um determinado tipo Também são conhecidos como estruturas

Leia mais

O que é um jogo digital?

O que é um jogo digital? O que é um jogo digital? Programa de Computador Dados Algoritmos Para que estudar Estrutura de Dados? Para manipular os dados dos programas usamos os ALGORITMOS e para organizar os dados da melhor forma

Leia mais

ALOCAÇÃO DINÂMICA DE MEMÓRIA

ALOCAÇÃO DINÂMICA DE MEMÓRIA INE5408 Estruturas de Dados Semestre 2008/1 Prof. Leandro J. Komosinski ALOCAÇÃO DINÂMICA DE Memória de Computador 1 byte = 8 bits (ex.: 00100110) 1 KB = 1024 bytes 1 MB = 1024 KB 1 GB = 1024 MB Meu computador

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

TÉCNICAS DE PROGRAMAÇÃO. Estrutura de dados

TÉCNICAS DE PROGRAMAÇÃO. Estrutura de dados TÉCNICAS DE PROGRAMAÇÃO Estrutura de dados O que são estrutura de dados? É a forma como os armazenamos tipos de dados, vistos dia a dia, ou seja, nada mais são do que a transformação de uma forma de armazenamento

Leia mais

Disciplina de Algoritmos e Programação

Disciplina de Algoritmos e Programação Disciplina de Algoritmos e Programação Aula Passada Prática com declaração e inicialização de variáveis Capacidade de representação (estouro de representação) Tamanho ocupado pela variável na memória (comando

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

Sumário. 1.1 Variáveis Globais e Locais Passagem de Parâmetro (por valor por referência) 1

Sumário. 1.1 Variáveis Globais e Locais Passagem de Parâmetro (por valor por referência) 1 Sumário Sobre as Autoras ix Introdução xi 1 Sub-rotinas 1 1.1 Variáveis Globais e Locais 1 1.2 Passagem de Parâmetro (por valor por referência) 1 2 Vetores e Matrizes 7 2.1 Vetores 7 2.2 Matrizes 8 2.2.1

Leia mais

Representação de Arranjos

Representação de Arranjos Representação de Arranjos Algoritmos e Estruturas de Dados I Embora os arranjos multidimensionais sejam fornecidos como um objeto de dados padrão na maioria das linguagens de programação em alto nível,

Leia mais

Teoria dos Grafos Aula 3

Teoria dos Grafos Aula 3 Teoria dos Grafos Aula 3 Aula passada Exemplo (mapas) Definições Algumas propriedades Aula de hoje Representando grafos Matriz e lista Comparando tempos de acesso Grafo G=(V, E) Grafo V = conjunto de vértices

Leia mais

Estruturas Compostas Matriz

Estruturas Compostas Matriz Estruturas Compostas Matriz Profa. Dra. Elisa Yumi Nakagawa 1. Semestre de 2017 Slides inicialmente preparados pela Profa. Dra. Simone Souza 2 Introdução n Como armazenar um nome em um programa? n Uso

Leia mais

Aula 06 Introdução à Programação Matrizes

Aula 06 Introdução à Programação Matrizes Aula 06 Introdução à Programação Matrizes Prof. Gustavo Callou gustavo.callou@ufrpe.br gcallou@gmail.com Roteiro Matrizes Unidimensionais (Vetor) Bidimensionais String Exercícios Gustavo Callou DEINFO/UFRPE

Leia mais

Programação I A Linguagem C. Prof. Carlos Alberto

Programação I A Linguagem C. Prof. Carlos Alberto Programação I A Linguagem C Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br 2 Origem A linguagem C foi desenvolvida em 1972, nos Laboratórios Bell, por Dennis Ritchie. Implementada

Leia mais

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

O vetor é provavelmente um dos mais simples e importantes tipos agregados. Através do seu uso, podemos Cláudio C. Rodrigues Faculdade da Computação -UFU LINGUAGEM C 04: VETORES, STRINGS E MATRIZES Faculdade da Computação - UFU 1 Introdução & Objetivo O vetor é provavelmente um dos mais simples e importantes

Leia mais

Linguagem de Programação

Linguagem de Programação Linguagem de Programação Matrizes Gil Eduardo de Andrade Introdução Uma matriz pode ser definida, assim como um vetor, como um conjunto de elementos (variáveis) que apresentam um mesmo tipo e são referenciados

Leia mais

Introdução à Linguagem C

Introdução à Linguagem C Engenharia de CONTROLE e AUTOMAÇÃO Introdução à Linguagem C Aula 02 DPEE 1038 Estrutura de Dados para Automação Curso de Engenharia de Controle e Automação Universidade Federal de Santa Maria beltrame@mail.ufsm.br

Leia mais

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

Prof. A. G. Silva. 25 de abril de Prof. A. G. Silva INE5231 Computação Científica I 25 de abril de / 68 INE5231 Computação Científica I Prof. A. G. Silva 25 de abril de 2017 Prof. A. G. Silva INE5231 Computação Científica I 25 de abril de 2017 1 / 68 Conteúdo programático O computador - [3 horas-aula] Representação

Leia mais

Introdução. Por que desenvolver ALGORITMO?

Introdução. Por que desenvolver ALGORITMO? Introdução Programa Computacional busca da necessidade de solução de um problema particular: a geração automática de documentos, o controle de um equipamento eletrodoméstico, a transmissão de informações

Leia mais

Estrutura de Dados (DPADF 0056)

Estrutura de Dados (DPADF 0056) Estrutura de Dados (DPADF 0056) Aula 1 Motivação e Revisão Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Superior de Tecnologia em Sistemas para Internet Prof. Bruno

Leia mais

CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS DISCIPLINA : INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO ASSUNTO: ALGORITMOS

CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS DISCIPLINA : INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO ASSUNTO: ALGORITMOS CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS DISCIPLINA : INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO ASSUNTO: ALGORITMOS PROFESSOR : Romilson Lopes Sampaio Introdução a Lógica de Programação

Leia mais

Carlos Eduardo Batista. Centro de Informática - UFPB

Carlos Eduardo Batista. Centro de Informática - UFPB 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

Leia mais

Linguagem de Maquina II. Visão Geral

Linguagem de Maquina II. Visão Geral Linguagem de Maquina II Visão Geral Revisão A linguagem de máquina é composta de seqüências binárias (1's e 0's) São interpretadas como instruções pelo hardware A linguagem de montagem e a linguagem de

Leia mais

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@gmail.com

Leia mais

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

MCTA028 Programação Estruturada Aula 09: - Ponteiros (parte 2) MCTA028 Programação Estruturada Aula 09: - Ponteiros (parte 2) Prof. João Henrique Kleinschmidt Material elaborado pelo prof. Jesús P. Mena-Chalco 3Q-2018 Sobre funções ( uma ideia ) Qual função é mais

Leia mais

1/50. Conceitos Básicos. Programa Básico

1/50. Conceitos Básicos. Programa Básico 1/50 Conceitos Básicos Programa Básico 2/50 Operações básicas de entrada e saída #include main retorna um inteiro int main() { std::cout

Leia mais

Paradigmas de Linguagens

Paradigmas de Linguagens Paradigmas de Linguagens Aula 2: Tipos de dados Professora Sheila Cáceres Tipos de dados Dados são a matéria prima da computação junto com os programas. LPs precisam manipular dados. LPS utilizam os conceitos

Leia mais

Java e sua Sintaxe. Estrutura mínima de um programa em Java: public class Exemplo { }

Java e sua Sintaxe. Estrutura mínima de um programa em Java: public class Exemplo { } Java e sua Sintaxe Java e sua Sintaxe Estrutura mínima de um programa em Java: public class Exemplo { } Como todo programa deve ter um início, convenciona-se que a primeira ação de um programa é a execução

Leia mais

- Mapa de memória de um processo - Ponteiros

- Mapa de memória de um processo - Ponteiros 1 MCTA028 Programação Estruturada - Mapa de memória de um processo - Ponteiros Material preparado a partir de slides dos profs. Jesús Mena-Chalco e Fabrício Olivetti Luiz Rozante 3Q-2018 2 Alocação de

Leia mais

CURSO DE POO COM JAVA

CURSO DE POO COM JAVA 07 CURSO DE POO COM JAVA Arrays PROF. MARCOS VINICIUS marcos.engsoft@gmail.com Introdução Imaginemos que queiramos trabalhar com as notas dos alunos. Supondo que cada aluno deva ter cinco notas, podemos

Leia mais

Introdução à Programação Aula 10. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Introdução à Programação Aula 10. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação Introdução à Programação Aula 10 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação Vetores São estruturas quem contém um conjunto de elementos de um mesmo

Leia mais

Estruturas de Dados Estruturas de Dados Fundamentais

Estruturas de Dados Estruturas de Dados Fundamentais Estruturas de Dados Estruturas de Dados Fundamentais Prof. Eduardo Alchieri Estruturas de Dados Fundamentais Todos os tipos abstratos de dados (pilhas, filas, deques, etc.) podem ser implementados usando

Leia mais

USP - ICMC - SSC SSC o. Semestre Disciplina de Introdução à Computação para Engenharia Ambiental

USP - ICMC - SSC SSC o. Semestre Disciplina de Introdução à Computação para Engenharia Ambiental USP - ICMC - SSC SSC 0301-2o. Semestre 2013 Disciplina de Introdução à Computação para Engenharia Ambiental Prof. Dr. Fernando Santos Osório LRM - Laboratório de Robótica Móvel do ICMC / CROB-SC Email:

Leia mais

Tipos Abstratos de Dados

Tipos Abstratos de Dados Tipos Abstratos de Dados Prof. Rui Jorge Tramontin Jr. UDESC - Rui J. Tramontin Jr. 1 Índice Introdução Definição de Tipos Abstratos de Dados Exemplos de TADs Implementação de TADs Implementação em C Exemplo

Leia mais

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

Programação Estruturada Aula 9 - Matrizes e Strings II Programação Estruturada Aula 9 - Matrizes e Strings II Prof. Luis Carlos Retondaro Técnico em Telecomunicações 2 o Ano CEFET/RJ - Centro Federal de Educação Tecnológica Celso Suckow da Fonseca Campus Petrópolis

Leia mais

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

MCTA028 Programação Estruturada Aula 09: - Ponteiros (parte 2) MCTA028 Programação Estruturada Aula 09: - Ponteiros (parte 2) Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 3Q-2017 1 Sobre funções ( uma ideia ) 2 Qual função é mais eficiente? 3 1995 2015 4 Qual

Leia mais

CCO 016 / COM 110 Fundamentos de Programação

CCO 016 / COM 110 Fundamentos de Programação CCO 016 / COM 110 Fundamentos de Programação Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá AULA 12 Agregados Homogêneos Variáveis Indexadas matrizes Variáveis Indexadas bi dimensionais

Leia mais

Web site. Profa. Patrícia Dockhorn Costa.

Web site.  Profa. Patrícia Dockhorn Costa. Estruturas de Dados Aula 1: Introdução e conceitos básicos Web site http://www.inf.ufes.br/~pdcosta/ensino/ Profa. Patrícia Dockhorn Costa Email: pdcosta@inf.ufes.br Monitoria: Alexandro alexandrosouzaramos@gmail.com

Leia mais

Representação de Dados Arrays e Structs

Representação de Dados Arrays e Structs Representação de Dados Arrays e Structs Noemi Rodriguez Ana Lúcia de Moura http://www.inf.puc-rio.br/~inf1018 Representação de Arrays C usa uma implementação bastante simples alocação contígua na memória

Leia mais

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

Matrizes em C. Lucas Ferrari de Oliveira Professor Adjunto. Universidade Federal do Paraná em C Lucas Ferrari de Oliveira Professor Adjunto Universidade Federal do Paraná Uma matriz é uma coleção de variáveis do mesmo tipo que é referenciada por um nome comum; Em C todas as matrizes consistem

Leia mais

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

Estruturas de Dados Homogêneas (Vetores e Matrizes) e Ponteiros em C Estruturas de Dados Homogêneas (Vetores e Matrizes) e Ponteiros em C 2015/1 Programação Básica de Computadores (INF 09325) Archimedes Detoni www.inf.ufes.br/~archimedesdetoni archimedesdetoni@inf.ufes.br

Leia mais

Estruturas de Dados. Professora: Luciana Faria 2º EAC

Estruturas de Dados. Professora: Luciana Faria 2º EAC Estruturas de Dados Professora: Luciana Faria 2º EAC Conceitos Estruturas de Dados estáticas e dinâmicas Um computador é uma máquina de processar dados. Para que isso ocorra da forma mais otimizada, é

Leia mais

ESTRUTURA DE DADOS ESTRUTURAS E PONTEIROS

ESTRUTURA DE DADOS ESTRUTURAS E PONTEIROS ESTRUTURA DE DADOS ESTRUTURAS E PONTEIROS Prof. Dr. Daniel Caetano 2012-2 Objetivos Compreender o que são estruturas Compreender sua aplicação Compreender o que são ponteiros Capacitar para implementar

Leia mais

Classificação de Dados

Classificação de Dados Engenharia de CONTROLE e AUTOMAÇÃO Classificação de Dados Aula 01 DPEE 1038 Estrutura de Dados para Automação Curso de Engenharia de Controle e Automação Universidade Federal de Santa Maria beltrame@mail.ufsm.br

Leia mais

Introdução à Linguagem C

Introdução à Linguagem C Engenharia de CONTROLE e AUTOMAÇÃO Introdução à Linguagem C Aula 03 DPEE 1038 Estrutura de Dados para Automação Curso de Engenharia de Controle e Automação Universidade Federal de Santa Maria beltrame@mail.ufsm.br

Leia mais

1.1 o que é um algoritmo... 6

1.1 o que é um algoritmo... 6 sumário introdução 1 1 fundamentos 5 1.1 o que é um algoritmo... 6 1.1.1 algoritmos executados por um computador...7 1.1.2 comandos básicos executados por um computador...11 1.1.3 da necessidade do desenvolvimento

Leia mais

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO LÓGICA DE PROGRAMAÇÃO PROFª. M.Sc. JULIANA H Q BENACCHIO Modificadores de Tipos Os tipos de dados básicos em C podem estar acompanhados por modificadores na declaração de variáveis. Tais modificadores

Leia mais

INTRODUÇÃO À LINGUAGEM C

INTRODUÇÃO À LINGUAGEM C INTRODUÇÃO À LINGUAGEM C Prof. Bruno Feijó, Dept. de Informática, PUC-Rio (2017) C foi criado no início da década de 70, quando os programas mais eficientes eram escritos em linguagem Assembly, bem próxima

Leia mais

BCC Introdu c ao ` a Programa c ao I Ponteiros Guillermo C amara-ch avez UFOP 1/61

BCC Introdu c ao ` a Programa c ao I Ponteiros Guillermo C amara-ch avez UFOP 1/61 BCC 201 - Introdução à Programação I Ponteiros Guillermo Cámara-Chávez UFOP 1/61 Ponteiros... I i n t main ( ) { i n t x ; x = 10 p r i n t f ( " Conteudo de x: %d \n", x ) ; p r i n t f ( " Endereco de

Leia mais

PROGRAMAÇÃO A. Matrizes

PROGRAMAÇÃO A. Matrizes PROGRAMAÇÃO A Matrizes DEFINIÇÃO Em linguagem C, uma matriz é um vetor cujos itens são também vetores. Uma matriz pode ter qualquer número de dimensões, mas as matrizes bidimensionais são as mais usadas.

Leia mais

Linguagem de Programação C. Ponteiros

Linguagem de Programação C. Ponteiros Cristiano Lehrer Conceitos Básicos (1/3) char ch; RAM 100 101 102... 5000 5001 5002... ch ch = 'A'; RAM ch A 100 101 102... 5000 5001 5002... char *; RAM ch A 100 101 102... 5000 5001 5002... = &ch; ch

Leia mais

INF 1620 P4-13/12/01 Questão 1 Nome:

INF 1620 P4-13/12/01 Questão 1 Nome: INF 1620 P4-13/12/01 Questão 1 (a) Escreva uma função em C, chamada somaprod, para calcular a soma e o produto de dois valores inteiros. Esta função deve ter o seguinte efeito: se tivermos duas variáveis

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: variáveis compostas homogêneas: Arrays Strings

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: variáveis compostas homogêneas: Arrays Strings Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: variáveis compostas homogêneas: Arrays Strings Prof. Renato Pimentel 1 Relembrando: Comando while em C Exemplo: criar um programa

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

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 6 Manipulação de strings Profa. Marina Gomes marinagomes@unipampa.edu.br 23/10/2017 Engenharia de Computação - Unipampa 1 Variáveis string Na linguagem C uma cadeia de caracteres

Leia mais

PLANO DE UNIDADE DIDÁTICA- PUD

PLANO DE UNIDADE DIDÁTICA- PUD Professor: Marcus Vinícius Midena Ramos Coordenação: Ricardo Argenton Ramos Data: 03/08/2010 Página: 1 de 5 EMENTA: Conceitos básicos de linguagens. Histórico, classificação e principais aplicações de

Leia mais

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

Estruturas de Dados Aula 1: Introdução e conceitos básicos 28/02/2011 Estruturas de Dados Aula 1: Introdução e conceitos básicos 28/02/2011 Web site http://www.inf.ufes.br/~pdcosta/ensino/ Profa. Patrícia Dockhorn Costa Email: pdcosta@inf.ufes.br Introdução O que são estruturas

Leia mais

Programação científica C++

Programação científica C++ Programação científica C++ NIELSEN CASTELO DAMASCENO Slide 6 Exercício 1 Dados dois vetores com n (n

Leia mais

Programação Estruturada Prof. Rodrigo Hausen Organização e Gerenciamento de Memória

Programação Estruturada Prof. Rodrigo Hausen  Organização e Gerenciamento de Memória Programação Estruturada Prof. Rodrigo Hausen http://progest.compscinet.org Organização e Gerenciamento de Memória 1 AULA PASSADA - vetores ou arrays Declaração de um vetor (array) em C: tipo nome[tamanho];

Leia mais

Linguagem C: Ponteiros. Prof. Tiago Alves de Oliveira

Linguagem C: Ponteiros. Prof. Tiago Alves de Oliveira Linguagem C: Ponteiros 1 Sumário Ponteiros; Variáveis ponteiros; Operadores de ponteiros; Expressões com ponteiros; Atribuição de ponteiros; Aritmética de ponteiros; Comparação de ponteiros; Ponteiros

Leia mais

INTRODUÇÃO À LINGUAGEM C

INTRODUÇÃO À LINGUAGEM C INTRODUÇÃO À LINGUAGEM C Prof. Bruno Feijó, Dept. de Informática, PUC-Rio (2018) C foi criado no início da década de 70, quando os programas mais eficientes eram escritos em linguagem Assembly, bem próxima

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

LINGUAGEM C: PONTEIROS

LINGUAGEM C: PONTEIROS LINGUAGEM C: PONTEIROS Prof. André Backes DEFINIÇÃO Variável É um espaço reservado de memória usado para guardar um valor que pode ser modificado pelo programa; Ponteiro É um espaço reservado de memória

Leia mais

Linguagem C: Ponteiros. Prof. Leonardo Barreto Campos 1

Linguagem C: Ponteiros. Prof. Leonardo Barreto Campos 1 Linguagem C: Ponteiros Prof. Leonardo Barreto Campos 1 Sumário Ponteiros; Variáveis ponteiros; Operadores de ponteiros; Expressões com ponteiros; Atribuição de ponteiros; Aritmética de ponteiros; Comparação

Leia mais

Listas. Aula 01. DPEE 1038 Estrutura de Dados para Automação Curso de Engenharia de Controle e Automação Universidade Federal de Santa Maria

Listas. Aula 01. DPEE 1038 Estrutura de Dados para Automação Curso de Engenharia de Controle e Automação Universidade Federal de Santa Maria Engenharia de CONTROLE e AUTOMAÇÃO Listas Aula 01 DPEE 1038 Estrutura de Dados para Automação Curso de Engenharia de Controle e Automação Universidade Federal de Santa Maria beltrame@mail.ufsm.br 1/ Sumário

Leia mais

USP - ICMC - SSC SSC o. Semestre Disciplina de Introdução à Computação para Engenharia Ambiental

USP - ICMC - SSC SSC o. Semestre Disciplina de Introdução à Computação para Engenharia Ambiental USP - ICMC - SSC SSC 0301-2o. Semestre 2013 Disciplina de Introdução à Computação para Engenharia Ambiental 1 Outubro 2013 Prof. Dr. Fernando Santos Osório / Prof. Artur Lovato Cunha LRM - Laboratório

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

ESTRUTURA DE DADOS VARIÁVEIS E PONTEIROS

ESTRUTURA DE DADOS VARIÁVEIS E PONTEIROS ESTRUTURA DE DADOS VARIÁVEIS E PONTEIROS Prof. Dr. Daniel Caetano 2014-2 Objetivos Compreender a organização dos dados na memória Compreender o que são ponteiros Capacitar para implementar programas com

Leia mais

Arrays em Java. Prof. Renato Pimentel. GGI030 Programação Orientada a Objetos. Universidade Federal de Uberlândia Faculdade de Computação

Arrays em Java. Prof. Renato Pimentel. GGI030 Programação Orientada a Objetos. Universidade Federal de Uberlândia Faculdade de Computação Universidade Federal de Uberlândia Faculdade de Computação Arrays em Java Prof. Renato Pimentel GGI030 Programação Orientada a Objetos GGI030 Arrays em Java Prog. Orient. Objetos 1 / 20 Sumário 1 API GGI030

Leia mais

MCTA028 Programação Estruturada Aula 03: - Funções e procedimentos - Vetores e matrizes

MCTA028 Programação Estruturada Aula 03: - Funções e procedimentos - Vetores e matrizes MCTA28 Programação Estruturada Aula 3: - Funções e procedimentos - Vetores e matrizes Prof. João Henrique Kleinschmidt Material elaborado pelo Prof. Jesús P. Mena-Chalco 3Q-218 Funções Funções (modularidade)

Leia mais

Mais sobre Ponteiros em C

Mais sobre Ponteiros em C Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação Mais sobre Ponteiros em C Material preparado pela profa Silvana Maria Affonso de Lara 2º semestre de 2010 ROTEIRO

Leia mais

Ponteiros em C. Adriano Joaquim de Oliveira Cruz 21 de julho de Instituto de Matemática Departamento de Ciência da Computação UFRJ

Ponteiros em C. Adriano Joaquim de Oliveira Cruz 21 de julho de Instituto de Matemática Departamento de Ciência da Computação UFRJ Ponteiros em C Adriano Joaquim de Oliveira Cruz 21 de julho de 2017 Instituto de Matemática Departamento de Ciência da Computação UFRJ 1 Resumo da Seção Introdução Declaração Incrementando e Decrementando

Leia mais

BCC Introdu c ao ` a Programa c ao I Ponteiros Guillermo C amara-ch avez UFOP 1/54

BCC Introdu c ao ` a Programa c ao I Ponteiros Guillermo C amara-ch avez UFOP 1/54 BCC 201 - Introdução à Programação I Ponteiros Guillermo Cámara-Chávez UFOP 1/54 Ponteiros... I i n t main ( ) { i n t x ; x = 10 cout

Leia mais

Seqüências de Caracteres

Seqüências de Caracteres Seqüências de Caracteres Strings Material da Prof. Ana Eliza Definição Uma STRING é uma seqüência de caracteres. Exemplos Maria José Número 10 5% de R$ 20,00 Introdução a Programação II - Prof. Márcio

Leia mais

Ponteiros. Introdução e Alocação Dinâmica

Ponteiros. Introdução e Alocação Dinâmica Ponteiros Introdução e Alocação Dinâmica Conceito Um PONTEIRO ou APONTADOR é uma variável usada para armazenar um endereço de memória. Normalmente, o endereço armazenado em um PONTEIRO é a posição de uma

Leia mais

Linguagem C vetores. IF61A/IF71A - Computação 1 Prof. Leonelo Almeida. Universidade Tecnológica Federal do Paraná

Linguagem C vetores. IF61A/IF71A - Computação 1 Prof. Leonelo Almeida. Universidade Tecnológica Federal do Paraná Linguagem C vetores IF61A/IF71A - Computação 1 Prof. Leonelo Almeida Universidade Tecnológica Federal do Paraná Até agora... Introdução à linguagem C Estrutura de um programa Escrita e execução do primeiro

Leia mais

Pseudocódigo e Visualg

Pseudocódigo e Visualg Pseudocódigo e Visualg Professor: Alex Sandro Forghieri alex.forghieri@ifsc.edu.br Agenda Revisão Algoritmos Estrutura de dados Estrutura básica de um algoritmo em pseudocódigo Teste de mesa Operadores

Leia mais

Variáveis, Tipos de Dados e Operadores

Variáveis, Tipos de Dados e Operadores ! Variáveis, Tipos de Dados e Operadores Engenharias Informática Aplicada 2.o sem/2013 Profa Suely (e-mail: smaoki@yahoo.com) VARIÁVEL VARIÁVEL É um local lógico, ligado a um endereço físico da memória

Leia mais

Algoritmos II prof. Daniel Oliveira

Algoritmos II prof. Daniel Oliveira Algoritmos II prof. Daniel Oliveira Revisar conceitos abordados na disciplina anterior Abordar conceitos vistos com a linguagem C# Variáveis e listas Expressões Estruturas de controle do tipo condicional

Leia mais

11a. Aula Ponteiros e Vetores

11a. Aula Ponteiros e Vetores 11a. Aula Ponteiros e Vetores 2013.2 2 É um tipo de variável com uma ressalva...... armazena apenasendereçode memória (ou null) Se eu tiver o endereço da casa de Francisca, eu poderei visitá-la e lhe fazer

Leia mais

Lógica de Programação, Algoritmos e Estruturas de Dados

Lógica de Programação, Algoritmos e Estruturas de Dados Lógica de Programação, Algoritmos e Estruturas de Dados Professor: Vilson Heck Junior vilson.junior@ifsc.edu.br Agenda Funções Básicas do Software; Relações entre áreas; Introdução à Algoritmos; Introdução

Leia mais

MCTA028 Programação Estruturada Aula 03: - Funções e procedimentos - Vetores e matrizes

MCTA028 Programação Estruturada Aula 03: - Funções e procedimentos - Vetores e matrizes MCTA28 Programação Estruturada Aula 3: - Funções e procedimentos - Vetores e matrizes Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 3Q-217 1 Funções 2 Funções (modularidade) Consiste em dividir uma

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

Algoritmos e Lógica de Programação 80 horas // 4 h/semana. Para começar... Matrizes. Para começar... Matrizes. Matrizes

Algoritmos e Lógica de Programação 80 horas // 4 h/semana. Para começar... Matrizes. Para começar... Matrizes. Matrizes Algoritmos e Lógica de Programação 80 horas // 4 h/semana Aula 13 Prof. Piva Para começar... Vamos considerar um algoritmo que foi elaborado para para armazenar os Nomes e as Médias Finais dos 20 alunos

Leia mais

Representação de Dados

Representação de Dados Representação de Dados Representação binária Exemplo: 15213 10 11101101101101 2 Vantagens: Implementação eletrônica Possibilidade de armazenar elementos com dois estados Transmissão eletrônica confiável

Leia mais

1.2 OPERAÇÕES BÁSICAS EM ALGORITMOS E PROGRAMAS 18

1.2 OPERAÇÕES BÁSICAS EM ALGORITMOS E PROGRAMAS 18 ÍNDICE MÓDULO 1 INTRODUÇÃO À ALGORITMIA 11 1.1 PROGRAMAS E ALGORITMOS 12 Fases da programação 12 Algoritmos e algoritmia 13 Algoritmos em linguagem informal, pseudocódigo e fluxogramas 14 Símbolos utilizados

Leia mais

LINGUAGEM C VETOR E MATRIZ

LINGUAGEM C VETOR E MATRIZ LINGUAGEM C VETOR E MATRIZ Introdução à Programação Prof. Cayo Fontana SUMÁRIO Vetor Matriz Exercícios VETOR Vetores são estruturas de dados, estáticas, compostas por uma coleção de elementos de um mesmo

Leia mais

Estrutura de Dados II

Estrutura de Dados II Estrutura de Dados II Introdução à Estrutura de Dados www.aeciocosta.com.br aecio.costa@faculdadeguararapes.edu.br Estrutura de Dados Estrutura de dados é um modo particular de armazenamento e organização

Leia mais

Apêndice B. Cadeias de Caracteres (Strings)

Apêndice B. Cadeias de Caracteres (Strings) Apêndice B. Cadeias de Caracteres (Strings) Até agora, quando desejávamos indicar o número de elementos existentes em um vetor qualquer, utilizávamos uma variável inteira, digamos tam, para armazenar tal

Leia mais

Conceitos Básicos de Programação

Conceitos Básicos de Programação BCC 201 - Introdução à Programação Conceitos Básicos de Programação Guillermo Cámara-Chávez UFOP 1/53 Conceitos básicos I Variável 2/53 Conceitos básicos II Posição de memoria, identificada através de

Leia mais

Computação 2. Aula 3. Diego Addan Vetores de caracteres (strings)

Computação 2. Aula 3. Diego Addan Vetores de caracteres (strings) Computação 2 Aula 3 Vetores de caracteres (strings) Diego Addan diegoaddan@gmail.com Vetor de caracteres (Strings) Uma cadeia de caracteres, mais conhecida como string, é uma seqüência de caracteres (letras

Leia mais