Algoritmos e Estruturas de Dados I (DCC/003) Variável Indexada Vetor
|
|
- Raphaella Paula Brezinski
- 5 Há anos
- Visualizações:
Transcrição
1 Algoritmos e Estruturas de Dados I (DCC/003) Variável Indexada Vetor 1
2 Vetores Iremos aprender como armazenar e trabalhar com um grande conjunto de valores no computador Existem várias formas de armazenar diversos valores: Vetores Pilhas Listas
3 Vetores Os vetores são a forma mais simples de armazenamento Armazenamento em forma sequencial Armazena valores do mesmo tipo Quantidade de elementos máximo não muda Acessamos um elemento pelo seu índice: décimo elemento, quinto elemento, primeiro elemento
4 Vetores em C Declarando um vetor de 10 inteiros int x[10]; Colchetes indicam o número máximo de elementos O valor deve ser uma constante! Não podemos fazer x[tamanho], onde tamanho é uma variável No C, os índices sempre começam em zero, ou seja, o primeiro elemento é o zeroézimo
5 Vetores em C Inicializando valores Por padrão, os valores começam com qualquer coisa (lixo), como em qualquer outra variável do C Temos que inicializar os valores, ex: 1. x[0] = 5; 2. x[1] = 11; 3. x[4] = 0; 4. x[9] = 3;
6 Vetores em C Também podemos declarar valores e já inicializá-los: int v[5] = {1, 3, 5, 7, 9}; Acesso: indicamos o índice do valor que queremos imprimir
7 Exemplo: impressão de valores de um vetor Podemos acessar os elementos indicando o índice dos mesmos: 1. #include<stdio.h> 2. int main() { 3. int i; 4. double v[6] = {1.1, 2.2, 3.3, 4.4, 5.5, 6.6}; 5. for(i=0;i<6;i++) { 6. printf( %lf\n,v[i]); 7. } 8. return 0; 9. }
8 Média de valores entrados via teclado Iremos desenvolver um programa que irá calcular a média dos valores entrados por teclado. Definimos um número máximo de elementos de 100, e pedimos ao usuário que digite o número máximo de elementos. Como fazemos isso?
9 Média de valores entrados via teclado 1. #include<stdio.h> 2. int main() { 3. double valores[100]; 4. int total, i; 5. printf( Digite o numero de valores:\n ); 6. scanf( %d,&total); 7. printf( Agora digite os numeros:\n ); 8. for(i=0;i<total;i++) { 9. printf( Digite numero %d:\n,i); 10. scanf( %lf,&valores[i]); 11. } 12. double soma = 0.0; 13. for(i=0;i<total;i++) 14. soma += valores[i]; 15. printf( A media dos %d numeros eh %lf,total,soma/((double)total)); 16. return 0; 17. }
10 Cálculo de números primos Crivo de Erastótenes Algoritmo para encontrar primos Mais rápido que o método que vimos anteriormente 1. Dados X números, assuma que todos são primos 2. Dado um número primo, elimine os números múltiplos deste 3. Termine até passar por toda a lista Imagem:
11 Cálculo de números primos Crivo de Erastótenes Iremos criar um vetor onde o índice define o número a ser considerado. Vamos marcar com 1 os números primos, e com 0 os números compostos. Iremos ignorar a posição zero, para simplificar o uso dos ponteiros.
12 Crivo de Erastótenes C 1. #include<stdio.h> 2. int main() { 3. int v[1001], i, primo, contaprimo; 4. contaprimo = 0; 5. for(i=1;i<1001;i++) 6. v[i] = 1; 7. primo = 2; 8. while(primo <= 1000) { 9. if(v[primo] == 1) { 10. int composto = 2*primo; 11. while(composto <= 1000) { 12. v[composto] = 0; 13. composto += primo; 14. } 15. } 16. primo++; 17. } 18. for(i=1;i<1001;i++){ 19. if (v[i]!= 0){ 20. printf("%d\t",i); 21. contaprimo++; 22. } 23. } 24. printf("\nquantidade de primos = %d\n",contaprimo); 25. return 0; 26. }
13 Cuidado (2)! Vetores em C possuem tamanho máximo, mas o C não controla acessos ilegais!!!! 1. #include <stdio.h> 2. int main() { 3. int sentinela1; 4. int vetor[10]; 5. int sentinela2, i; 6. sentinela1 = sentinela2 = -1; 7. for(i=0;i<11;i++) 8. vetor[i] = i; 9. printf("%d %d\n",sentinela1, sentinela2); 10. return 0; 11. }
14 Cuidado! Saída do programa (dependendo de S.O.): 10-1 O programa executa normalmente! Podemos acessar posições Acima do tamanho máximo Com índice negativo Outras linguagens terminam o programa se você tentar acessar posição inexistente, por exemplo, Java
15 Passando vetores para funções Em C, ao passarmos vetores como parâmetros para funções, nós estamos passando um ponteiro Ou seja, ao passarmos um vetor para uma função, a função acessa os mesmos valores que a função que declarou o vetor.
16 Recapitulando void teste(int x) { 2. x *= 2; 3. } int main() { 6. int x = 10; 7. printf( Valor de x=%d\n,x);//x=10 8. teste(x); 9. printf( Valor de x=%d\n,x);//x= return 0; 11. } Neste código, x sempre será 10
17 Vetores passados como parâmetro 1. void teste(int x[], int t) { 2. while(t >= 0) 3. x[--t] *= 2; 4. } int main() { 7. int x[5] = {1, 2, 3, 4, 5}; 8. printf( Valor de x=%d\n,x[2]);//x[2] = 3 9. teste(x,5); 10. printf( Valor de x=%d\n,x[2]);//x[2] = return 0; 12. }
18 Vetores passados como parâmetro Podemos definir, no cabeçalho da função, um vetor com tamanho indefinido: int vetor[] Como não sabemos o tamanho do vetor, é de praxe passarmos um outro parâmetro que indica seu tamanho. Porque podemos passar vetores de tamanho indefinido? Porque vetores são ponteiros no C!
19 Vetores passados como parâmetro Vetores são, na verdade, ponteiros para uma variável do tipo do vetor void teste(int x[], int t); void teste(int *x, int t); São a mesma coisa!
20 Vetores e ponteiros x[t] significa: Acesse o dado deslocado t unidades da posição inicial de x Por isso o índice zero no C: primeiro elemento é igual ao ponteiro inicial. Dado um vetor v: Escrever &v[i] é igual a (v+i) Escrever v[i] é igual a *(v+i)
21 Vetores e ponteiros Imprimindo os valores de um vetor 1. void imprime(int v[], int t) { 2. int *p = v; 3. int i; 4. for(i=0;i<t;i++) { 5. printf("%d ",*p); 6. p++; //p = p + x, x = tam. do inteiro. 7. } 8. } 9. int main() { 10. int v[] = {1,2,3,4,5,6,7,8,9,10}; 11. int tamanho = 10; 12. imprime(v,tamanho); 13. return 0; 14. }
22 Texto em C Strings
23 Strings Na maioria das linguagens, um texto é um vetor de caracteres O C não é diferente Quatro formas para representar a mesma coisa: char nome[] = daniel ; char *nome = daniel ; char nome[] = { d, a, n, i, e, l, \0 }; char *nome = { d, a, n, i, e, l, \0 };
24 Strings no C Podemos, como nos vetores, modificar elementos especificos: 1. char nome = daniel ; 2. printf( %s,nome);//imprime daniel 3. nome[2] = N ; 4. printf( %s,nome);//imprime daniel 5. nome[3]= \0 ; 6. printf( %s,nome);//imprime dan
25 Strings no C Toda String no C é terminada por um caractere de valor zero, que escrevemos como \0. Esse caractere é muito útil porque é uma sentinela, que é usada para marcar o fim da string. A sentinela permite que passemos uma string para uma função, sem saber o seu tamanho.
26 Strings no C Assim, quando criamos a nossa string em um vetor, SEMPRE devemos colocar uma sentinela, senão as funções da biblioteca string.h (e todas as bibliotecas do C que usam strings) não irão funcionar com a nossa string.
27 Imprimindo/lendo strings Usamos o %s no printf e scanf para ler strings: char *texto[20]; 1. printf( Digite o seu nome:\n ); 2. scanf( %s,texto); 3. printf( O nome digitado: %s\n,texto);
28 Imprimindo/lendo strings É importante lembrar que você passou um ponteiro para o scanf, assim pode acontecer da sua string ser maior que o espaço alocado. Para evitar tal fato, usamos um delimitador de tamanho no scanf: 1. char texto[20]; 2. printf( Digite o seu nome:\n ); 3. scanf( %19s,texto); 4. printf( O nome digitado: %s\n,texto);
29 Scanf detalhes importantes O scanf para após encontrar o primeiro caractere de espaço : tabulação, enter ou espaço. Para ler uma linha completa, o melhor é usar a função getline().
30 Vetores - avançado
31 Vetores de tamanho definido durante a execução Suponhamos que não sabemos quantos dados o usuário vai digitar Ao invés de fazer um chute e criar um vetor muito grande, podemos esperar que o usuário digite um valor de tamanho e então criamos o vetor Iremos usar ponteiros
32 Alocação dinâmica de memória Para poder criar um vetor de tamanho desconhecido, precisamos reservar um espaço de memória que só será conhecido no momento de execução. Usamos, no C, a função malloc para reservar memória para esse espaço
33 Malloc void *malloc(size_t size); Retorna um ponteiro para nada Se não tiver espaço suficiente, retorna zero. Tamanho definido em bytes Uso: int *vetor = (int *)malloc(sizeof(int)*100);
34 Malloc int *vetor = (int *) malloc(sizeof(int)*100); Devemos converter o ponteiro para nada para um ponteiro para inteiro sizeof(tipo) é uma função do compilador que retorna o tamanho em bytes do tipo Compilador substitui sizeof(int) pelo tamanho do inteiro no código
35 Malloc e free A memória alocada usando o malloc não é liberada quando terminamos a execução do bloco Precisamos liberar a memória explicitamente, usando a função free.
36 Malloc e free exemplo 1. void teste(int x[], int t) { 2. while(t > 0) 3. x[--t] *= 2; 4. } int main() { 7. int *x = (int *)malloc(sizeof(int)*5); 8. for(int i=0;i<5;i++) 9. x[i] = i+1; 10. printf( Valor de x=%d\n,x[2]);//x[2] = teste(x,5); 12. printf( Valor de x=%d\n,x[2]);//x[2] = free(x); 14. return 0; 15. }
Ponteiros. Baseado nos slides do Prof. Mauro.
Baseado nos slides do Prof. Mauro. A memória do computador é uma sequência de bytes, na qual endereçamos cada um sequencialmente. Como vimos, uma variável é uma região da memória que reservamos para armazenar
Leia maisAlocaçã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 maisIntroduçã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 maisIntroduçã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 maisProgramação: Vetores
Programação de Computadores I Aula 09 Programação: Vetores José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/62 Motivação Problema Faça um programa que leia
Leia maisEstruturas 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 maisPonteiros 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 maisExercí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 mais5. Vetores e alocação dinâmica
5. Vetores e alocação dinâmica W. Celes e J. L. Rangel 5.1. Vetores A forma mais simples de estruturarmos um conjunto de dados é por meio de vetores. Como a maioria das linguagens de programação, C permite
Leia maisExercí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 maisEstruturas 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 maisPonteiros. prof. Fabrício Olivetti de França
Ponteiros prof. Fabrício Olivetti de França Anteriormente em prog. estrut. Vimos que as variáveis representando arrays em C armazenam apenas um apontador para o endereço de memória contendo os valores
Leia maisUniversidade 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 mais1 Exercícios com ponteiros
Computação para Informática Funções e Ponteiros1 EXERCÍCIOS COM PONTEIROS Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Aula Prática - Funções e ponteiros O objetivo desta aula prática
Leia maisEstruturas de Dados. Introdução Definição de Ponteiros Declaração de Ponteiros em C Manipulação de Ponteiros em C
Estruturas de Dados Revisão de Ponteiros Prof. Ricardo J. G. B. Campello Sumário Introdução Definição de Ponteiros Declaração de Ponteiros em C Manipulação de Ponteiros em C Operações Ponteiros e Arranjos
Leia maisEstruturas 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 maisAula 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 maisPonteiros 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 maisIntrodução a Programação de Jogos
Introdução a Programação de Jogos Aula 03 Introdução a Linguagem C Edirlei Soares de Lima Estrutura de um Programa C Inclusão de bibliotecas auxiliares: #include Definição
Leia maisProgramação de Computadores II. Cap. 7 Cadeias de Caracteres
Programação de Computadores II Cap. 7 Cadeias de Caracteres Livro: Waldemar Celes, Renato Cerqueira, José Lucas Rangel. Introdução a Estruturas de Dados, Editora Campus (2004) Slides adaptados dos originais
Leia maisAlgoritmos e Estruturas de Dados I (DCC/003) Funções
Algoritmos e Estruturas de Dados I (DCC/003) Funções Funções Funções definem operações que são usadas frequentemente Funções, na matemática, requerem parâmetros de entrada, e definem um valor de saída
Leia maisEstruturas 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 maisMódulo 5 Vetores e Alocação Dinâmica
Estruturas de Dados Módulo 5 Vetores e Alocação Dinâmica 1/9/2005 (c) Dept. Informática - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora
Leia maisA sintaxe para se declarar uma variável do tipo ponteiro é dada por:
Pense duas vezes e faça uma vez. Provérbio Chinês. PONTEIROS Um ponteiro nada mais é que uma variável capaz de armazenar um número hexadecimal que corresponde a um endereço de memória de outra variável.
Leia maisINSTITUTO 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 maisMétodos Computacionais. Tipos Estruturados
Métodos Computacionais Tipos Estruturados Tipos Estruturados C oferece tipos primitivos que servem para representar valores simples Reais (float, double), inteiros (int), caracter (char) C oferece também
Leia maisProgramação de Computadores II. Cap. 7 Cadeias de Caracteres 1/2
Programação de Computadores II Cap. 7 Cadeias de Caracteres 1/2 Livro: Waldemar Celes, Renato Cerqueira, José Lucas Rangel. Introdução a Estruturas de Dados, Editora Campus (2004) Slides adaptados dos
Leia maisVetores e Matrizes. Conceito. Conceito. Conceito. Conceito. Conceito. Variáveis Compostas Homogêneas. Matriz
Variáveis Compostas Homogêneas São conhecidas na linguagem C como matrizes. Vetores e es É um conjunto de variáveis do mesmo tipo, acessíveis com um único nome e armazenadas de forma contínua na memória.
Leia maisProgramação de Computadores I Funções Básicas da Linguagem C PROFESSORA CINTIA CAETANO
Programação de Computadores I Funções Básicas da Linguagem C PROFESSORA CINTIA CAETANO Função Printf() Sintaxe printf( expressão de controle, argumentos); É uma função padrão para exibir uma mensagem na
Leia maisAlgoritmos 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 maisMatrizes 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 maisPonteiros e Tabelas. K&R: Capítulo 5
Ponteiros e Tabelas K&R: Capítulo 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 maisCaracteres e Cadeias de Caracteres
Caracteres e Cadeias de Caracteres INF1005 Programação I Prof. Hélio Lopes lopes@inf.puc-rio.br sala 408 RDC 1 caracteres e cadeias de caracteres tópicos caracteres cadeias de caracteres (strings) vetor
Leia maisAlocaçã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 maisComputação Eletrônica. Strings. Prof: Luciano Barbosa. CIn.ufpe.br
Computação Eletrônica Strings Prof: Luciano Barbosa Recapitulando: Vetores Representar uma coleção de variáveis de um mesmo tipo em uma dimensão Ex: float notas[5]; ou float notas[5] = {2.5,3.2,1.9,4.1,2.0};
Leia maisMétodos Computacionais. Vetores e Matrizes Dinâmicas
Métodos Computacionais Vetores e Matrizes Dinâmicas Vetores Um programa para o cálculo da média Média m n i= = 1 n x i Variância v n i= = 1 ( x i n m) 2 A forma mais simples de estruturar um conjunto de
Leia maisProgramaçã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 maisEstrutura de dados 2. Ponteiro. Prof. Jesuliana N. Ulysses
1 3 Estrutura de dados 2 Ponteiro Ponteiro 2 O ponteiro é um tipo de dado como int, char ou float. A diferença do ponteiro ponteiro guardará um endereço de memória. Por meio deste endereço pode-se acessar
Leia maisMaterial sobre Funções AEDS 1
Material sobre Funções AEDS 1 1 Funções - revisão Funções definem operações que são usadas frequentemente Funções, na matemática, requerem parâmetros de entrada e definem um valor de saída 2 Funções -
Leia maisVetores. e o programa deverá ler os valores separadamente:
Vetores Vetor é um tipo de dado usado para representar uma certa quantidade de variáveis de valores homogêneos (do mesmo tipo). Imagine o seguinte problema: calcular a média das notas da prova de 5 alunos.
Leia maisTipos de Dados, Variáveis e Entrada e Saída em C. DCC 120 Laboratório de Programação
Tipos de Dados, Variáveis e Entrada e Saída em C DCC 120 Laboratório de Programação Variáveis Uma variável representa um espaço na memória do computador para armazenar um determinado tipo de dado. Em C,
Leia maisAlocaçã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 maisMódulo 7 Cadeias de Caracteres
Estruturas de Dados Módulo 7 Cadeias de Caracteres 9/8/2005 (c) Dept. Informática - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora
Leia maisIntrodução a Linguagem C (Parte I) UFPA Sistemas de Informação. Roberto Araujo 2013
Introdução a Linguagem C (Parte I) UFPA Sistemas de Informação Roberto Araujo 2013 Meu primeiro programa em C #include main() { printf( Primeiro Programa \n ); Biblioteca padrão Função principal
Leia maisAlgoritmos 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 maisAlgoritmos e Programação
Algoritmos e Programação Aula 3 Introdução a Linguagem C Profa. Marina Gomes marinagomes@unipampa.edu.br 1 Aula de Hoje - Criar programas simples em C utilizando a estrutura básica; - Declarar variáveis;
Leia maisAlocação Dinâmica de Memória
Alocação Dinâmica de Memória Elerson R. S. Santos elerson@dcc.ufmg.br Algoritmos e Estruturas de DCC UFMG Variáveis Uma variável representa um nome simbólico para uma posição de memória. Cada posição de
Leia maisApontadores/ponteiros
Apontadores/ponteiros 1 Apontadores/ponteiros 1. Um ponteiro pode ser manipulado como sendo um vetor. #include int v[5] = { 10, 20, 30, 40, 50 ; int p, i; p = v; for (i = 1; i < 5; i++) printf
Leia maisProgramação Estruturada
Programação Estruturada Ponteiros Parte 1 Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Ponteiros Ponteiro Ponteiros
Leia maisINF1007: 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 maisRevisão para Prova 2. Mirella M. Moro
Revisão para Prova 2 Mirella M. Moro 2 Roteiro 1. Estruturas de decisão 2. Estruturas de repetição 3. Funções 4. Vetores 5. Matrizes 6. Ponteiros 7. Alocação dinâmica 3 1. Estruturas decisão if (condição)
Leia maisALGORITMOS E ESRUTRA DE DADOS I. Ponteiros Passagem por Valor e Referência Alocação de Memória
ALGORITMOS E ESRUTRA DE DADOS I Ponteiros Passagem por Valor e Referência Alocação de Memória 2 Agenda Ponteiros Conceitos gerais O que é Ponteiro? Declaração de Ponteiros Operadores para Ponteiros Exemplos
Leia maisAula 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 maisA 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 maisCadeias de Caracteres (Strings)
INF1005: Programação 1 Cadeias de Caracteres (Strings) 02/05/10 (c) Paula Rodrigues 1 Tópicos Caracteres Cadeias de caracteres Leitura de caracteres e cadeias de caracteres Funções que manipulam cadeias
Leia mais1 Exercícios com ponteiros
Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Oitava Aula Prática - 29 de outubro de 2010 O objetivo desta aula prática é exercitar ponteiros e funções. 1 Exercícios com ponteiros
Leia maisLinguagem C: Introdução
Linguagem C: Introdução Linguagem C É uma Linguagem de programação genérica que é utilizada para a criação de programas diversos como: Processadores de texto Planilhas eletrônicas Sistemas operacionais
Leia maisProgramaçã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 maisVetores são estruturas indexadas utilizadas para armazenar dados de um mesmo tipo: int, char, float ou double. Oexemploaseguirédeumvetordeinteiros:
18 Vetores Ronaldo F. Hashimoto e Carlos H. Morimoto Nessa aula vamos introduzir o tipo vetor. Aofinaldessaaulavocêdeverásaber: Descrever o que são vetores na linguagem C. Declarar vetores. Como acessar
Leia maisIntroduçã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 maisAlocaçã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 maisProgramaçã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 maisLinguagem C. André Tavares da Silva.
Linguagem C André Tavares da Silva dcc2ats@joinville.udesc.br Variáveis Posição nomeada de memória que é usada para guardar um valor que pode ser modificado pelo programa. Todas as variáveis devem ser
Leia maisNOTAS DE AULA 09 Estruturas e Ponteiros
Estrutura de Dados 1 NOTAS DE AULA 09 Estruturas e Ponteiros 1. Estruturas de Dados A linguagem C/C++ fornece uma porção de tipos de variáveis: int, float, long, double, boolean, char... dentre outros.
Leia maisComputadores 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 maisIntrodução à Programação. Introdução a Linguagem C. Prof. José Honorato F. Nunes
Introdução à Programação Introdução a Linguagem C Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br Resumo da aula Introdução Variáveis Tipos de dados Operadores e Expressões: Operadores
Leia maisUnidade 8: Sobrecarga de Funções e Vetores e Matrizes (Arrays) Prof. Daniel Caetano
Linguagem de Programação Atualização: // Unidade 8: Sobrecarga de Funções e Vetores e Matrizes (Arrays) Prof. Daniel Caetano Objetivo: Uso de sobrecarga de funções para criação de código intuitivo e uso
Leia maisCaracteres. Caracteres são representados através de códigos numéricos. Tabela de códigos: Define correspondência entre caracteres e códigos numéricos
Caracteres Caracteres são representados através de códigos numéricos. Tabela de códigos: Define correspondência entre caracteres e códigos numéricos Exemplo: Tabela ASCII Alguns alfabetos precisam de maior
Leia maisAula 8 Oficina de Programação Vetores. Profa. Elaine Faria UFU
Aula 8 Oficina de Programação Vetores Profa. Elaine Faria UFU - 2017 Variáveis Compostas Homogêneas O que uma variável composta homogênea? - Conjunto de variáveis do mesmo tipo - É chamada de forma geral
Leia maisApê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 maisINF 1007 Programação II
INF 1007 Programação II Aula 04 Alocação Dinâmica Edirlei Soares de Lima Vetores - Declaração e Inicialização Declaração de um vetor: int meu_vetor[10]; Reserva um espaço de memória
Leia maisEstruturas de Dados Aula 6: Cadeias de 28/03/2010
Estruturas de Dados Aula 6: Cadeias de Caracteres 28/03/2010 Caracteres Caracteres são representados internamente por códigos numéricos Tipo char (inteiro pequeno ) 1 byte (8 bits) 256 caracteres possíveis
Leia maisEstruturas de Dados Aula 6: Cadeias de Caracteres
Estruturas de Dados Aula 6: Cadeias de Caracteres Caracteres Caracteres são representados internamente por códigos numéricos Tipo char (inteiro pequeno ) 1 byte (8 bits) 256 caracteres possíveis Códigos
Leia maisPonteiros & 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 maisMétodos Computacionais. Strings (Vetor de Caracteres)
Métodos Computacionais Strings (Vetor de Caracteres) Em C, o tipo char : Caracteres é usado para representar caracteres pode armazenar valores inteiros (em 1 byte), representando assim, 256 valores distintos
Leia maisEstrutura 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 maisINF 1620 P1-16/09/06 Questão 1 Nome:
INF 1620 P1-16/09/06 Questão 1 Considerando a fórmula para o cálculo da distância entre dois pontos (x 1, y 1 ) e (x 2, y 2 ) apresentada a seguir: d = (x 2 " x 1 ) 2 + (y 2 " y 1 ) 2 (a) Escreva uma função
Leia maisLINGUAGEM DE PROGRAMAÇÃO C AULA 2. Professor: Rodrigo Rocha
LINGUAGEM DE PROGRAMAÇÃO C AULA 2 Professor: Rodrigo Rocha TIPOS, VARIÁVEIS E CONSTANTES Tipos de Dados Variáveis Constantes Introdução a entrada e saída Printf Scanf Ferramentas: Dev-C++ Code::Blocks
Leia maisSSC304 Introdução à Programação Para Engenharias. Ponteiros. 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 s GE4 Bio GE4Bio Grupo de Estudos em Sinais Biológicos Prof.Dr.
Leia maisAlocaçã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 maisProgramação de Computadores II. Cap. 5 Vetores
Programação de Computadores II Cap. 5 Vetores Livro: Waldemar Celes, Renato Cerqueira, José Lucas Rangel. Introdução a Estruturas de Dados, Editora Campus (2004) Slides adaptados dos originais dos profs.:
Leia maisTipos Básicos. Operadores de Incremento e Decremento. Operador Sizeof. 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 03/03/2010 Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa
Leia mais3. Linguagem de Programação C
Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3.5. Vetores 3.5.1. Vetores 3.5.2. Strings 3.5.3.
Leia maisLinguagem de Programação
Linguagem de Programação Vetores e Strings int vetor[] / rand() / #define / char string[] / gets() Gil Eduardo de Andrade Vetores Introdução Um vetor pode ser definido como é um conjunto de elementos (variáveis)
Leia maisCCO 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 05 Entrada de dados Leia scanf Entrada dos dados Entrada de dados compreende a operação
Leia maisEstruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011
Estruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011 Tipos Básicos Quantos valores distintos podemos representar com o tipo char? Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa
Leia maisEstruturas 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 Tipos Básicos Quantos valores distintos podemos representar com o tipo char? 1 Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa o
Leia maisCCO 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 maisLINGUAGEM 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 maisIntrodução a Programação. Strings (Vetor de Caracteres)
Introdução a Programação Strings (Vetor de Caracteres) Tópicos da Aula Hoje aprenderemos a manipular vetores de caracteres (Strings) Caracteres em C Entrada/Saída de caracteres Funções que manipulam caracteres
Leia maisAula 8 - Matrizes e Strings
Programação I Aula 8 - e Prof. Laura Silva de Assis Engenharia da Computação 2 o Período CEFET/RJ - Centro Federal de Educação Tecnológica Celso Suckow da Fonseca UnED Petrópolis 2n o semestre - 2015 1
Leia maisIntrodução à Programação
Programação de Computadores Introdução à Programação Prof. Helton Fábio de Matos hfmatos@dcc.ufmg.br Agenda Algoritmo & Programa Variáveis Declaração de tipos Comando de entrada ou de leitura Comando de
Leia maisDeclarando e Utilizando Ponteiros. Para declarar um ponteiro temos a seguinte forma geral: tipo_do_ponteiro *nome_da_variável;
Declarando e Utilizando Ponteiros Para declarar um ponteiro temos a seguinte forma geral: tipo_do_ponteiro *nome_da_variável; É o asterisco (*) que faz o compilador saber que aquela variável não vai guardar
Leia maisIntrodução à Programação C
Introdução à Programação C Fabio Mascarenhas - 2014.2 http://www.dcc.ufrj.br/~fabiom/introc Vetores Para vários problemas precisamos de uma maneira de representar uma sequência de valores com um número
Leia maisProgramaçã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 maisSSC304 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 maisDAS5102 Fundamentos da Estrutura da Informação
Ponteiros e Funções Funções ou sub-rotinas são parcelas de código que podem ser invocadas a partir do programa principal ou até mesmo por outras sub-rotinas. Elas têm como objetivo a execução de uma tarefa
Leia maisDisciplina 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