Aula 27: Estruturas heterogêneas e alocação dinâmica
|
|
- Marcelo Rijo
- 5 Há anos
- Visualizações:
Transcrição
1 Aula 27: Estruturas heterogêneas e alocação dinâmica Introdução a Programação Túlio Toffolo & Puca Huachi BCC /2 Departamento de Computação UFOP
2 Aulas anteriores Memória Ponteiro Utilização de ponteiros Aritmética de ponteiros Alocação dinâmica Estruturas heterogêneas 2 / 33 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 27: Estruturas heterogêneas e alocação dinâmica
3 Aula de hoje 1 Exercícios da última aula 2 Estruturas heterogêneas (breve revisão) 3 Alocação dinâmica de estruturas heterogêneas 4 Cópias de estruturas heterogêneas 5 Exercícios 6 Parâmetros da função main e próxima aula 2 / 33 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 27: Estruturas heterogêneas e alocação dinâmica
4 Aula de hoje 1 Exercícios da última aula 2 Estruturas heterogêneas (breve revisão) 3 Alocação dinâmica de estruturas heterogêneas 4 Cópias de estruturas heterogêneas 5 Exercícios 6 Parâmetros da função main e próxima aula 2 / 33 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 27: Estruturas heterogêneas e alocação dinâmica
5 Exercícios da última aula Exercício 1 Crie um programa que apresente, na tela de abertura, um menu com opções para: 1 inserir uma nova pessoa: nome, altura e ano de nascimento; 2 listar todos os nomes e respectivas alturas; 3 listar os nomes das pessoas que nasceram depois de um certo ano. Cada uma destas opções deve ser implementada em uma função separada. O programa deve ser capaz de armazenar dados de até 100 pessoas. 3 / 33 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 27: Estruturas heterogêneas e alocação dinâmica
6 Exercícios da última aula Exercício 2 Crie uma estrutura (struct) para armazenar dados de um funcionário: 1 nome (até 50 caracteres), 2 função (até 50 caracteres), 3 idade, 4 salário. Em seguida, crie um programa que lê os dados de n funcionários. 4 / 33 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 27: Estruturas heterogêneas e alocação dinâmica
7 Aula de hoje 1 Exercícios da última aula 2 Estruturas heterogêneas (breve revisão) 3 Alocação dinâmica de estruturas heterogêneas 4 Cópias de estruturas heterogêneas 5 Exercícios 6 Parâmetros da função main e próxima aula 4 / 33 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 27: Estruturas heterogêneas e alocação dinâmica
8 Struct struct: palavra reservada que cria um novo tipo de dados. Tipos conhecidos: char, int, float, double e void. Estrutura: é um tipo de estrutura de dados heterogênea; agrupa itens de dados de diferentes tipos. Cada item de dado é denominado membro; struct define um tipo de dados (estrutura): informa ao compilador o nome, o tamanho em bytes e a maneira como ela deve ser armazenada e recuperada da memória. Ao ser definido, o tipo passa a existir e pode ser utilizado para criar variáveis. 5 / 33 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 27: Estruturas heterogêneas e alocação dinâmica
9 Exemplo: armazenando dados de um aluno 1 #include <iostream> 2 using namespace std; 3 4 struct Aluno { 5 int nmat; // número de matrícula 6 float nota[3]; // três notas 7 float media; // média aritmética 8 }; // fim da definição da estrutura (com ;) 9 10 int main() 11 { 12 Aluno bart; // declara a variável do tipo Aluno 13 bart.nmat = ; 14 bart.nota[0] = 8.5; 15 bart.nota[1] = 9.5; 16 bart.nota[2] = 10.0; 17 bart.media = ( bart.nota[0]+ bart.nota[1] + bart.nota[2] ) / 3.0; 18 cout << "Matrícula: " << bart.nmat << endl; 19 cout << "Média : " << bart.media << endl; 20 return 0; 21 } 6 / 33 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 27: Estruturas heterogêneas e alocação dinâmica
10 Inicializando estruturas A inicialização é semelhante a inicialização das matrizes. 1 struct Data { 2 int dia; 3 char mes[10]; 4 int ano; 5 }; 6 7 Data natal = { 25, "Dezembro", 2016 }; 8 Data niver = { 20, "Outubro", 1986 }; Obs.: as variáveis são inicializadas juntamente com suas declarações. Os valores atribuídos aos membros devem ser colocados na ordem em que foram definidos na estrutura, separados por vírgula e entre chaves. 7 / 33 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 27: Estruturas heterogêneas e alocação dinâmica
11 Atribuição entre estruturas O uso de variáveis de estruturas é similar ao uso das variáveis que estamos acostumados a utilizar... Uma variável estrutura pode ser atribuída à outra variável do mesmo tipo por meio de uma atribuição simples. 1 Data natal = { 25, "Dezembro", 2016 }; 2 3 Data nataldesteano; 4 nataldesteano = natal; Importante: valores dos membros da estrutura são atribuídos de uma única vez; a atribuição entre vetores/matrizes deve ser feita elemento por elemento. 8 / 33 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 27: Estruturas heterogêneas e alocação dinâmica
12 Exemplo de uso e operações em structs: 1 struct Venda { 2 int pecas; 3 float preco; 4 }; 5 6 int main() 7 { 8 Venda A = {20, 110.0}; 9 Venda B = {3, 258.0}; 10 Venda total; // soma membro a membro 13 total.pecas = A.pecas + B.pecas; 14 total.preco = A.preco + B.preco; 15 } Erro comum 1 // ERRO! 2 total = A + B; 9 / 33 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 27: Estruturas heterogêneas e alocação dinâmica
13 Estruturas aninhadas 1 struct Data { 2 int dia; 3 char mes[10]; 4 int ano; 5 }; 6 7 struct Venda { 8 int pecas; 9 float preco; 10 Data diavenda; 11 }; int main() 14 { 15 // exemplo de declaração 16 Venda v = {20, 110.0, {7, "Novembro", 2015} }; // exemplo de uso: 19 cout << "Ano da venda: " << v.diavenda.ano << endl; return 0; 22 } 10 / 33 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 27: Estruturas heterogêneas e alocação dinâmica
14 Estruturas em funções As estruturas podem ser passadas como argumentos de funções da mesma maneira que as variáveis simples. O nome de uma estrutura em C++ não é um endereço, portanto ela pode ser passada por valor. Exemplo: função que recebe duas estruturas como argumento e imprime os valores da soma de seus membros. 1 struct Venda { 2 int pecas; 3 float preco; 4 }; 5 6 // protótipo (com passagem por valor) 7 void imprimetotal(venda v1, Venda v2); 11 / 33 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 27: Estruturas heterogêneas e alocação dinâmica
15 Estruturas em funções Exemplo utilizando passagem por valor: 1 struct Venda { 2 int pecas; 3 float preco; 4 }; 5 6 void imprimetotal(venda v1, Venda v2) 7 { 8 Venda total = {0, 0.0}; 9 total.pecas = v1.pecas + v2.pecas; 10 total.preco = v1.preco + v2.preco; 11 cout << "Nro peças: " << total.pecas << endl; 12 cout << "Preço total: " << total.preco << endl; 13 } int main() 16 { 17 Venda v1 = {1, 20}, v2 = {3, 10}; 18 imprimetotal(v1, v2); 19 return 0; 20 } 12 / 33 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 27: Estruturas heterogêneas e alocação dinâmica
16 Estruturas em funções Alternativamente, podemos fazer passagem por referência: 1 struct Venda { 2 int pecas; 3 float preco; 4 }; 5 6 // protótipo (com passagem por referência) 7 void imprimetotal(venda &v1, Venda &v2); Ou, ainda, utilizar ponteiros: 1 struct Venda { 2 int pecas; 3 float preco; 4 }; 5 6 // protótipo (utilizando ponteiros) 7 void imprimetotal(venda *v1, Venda *v2); 13 / 33 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 27: Estruturas heterogêneas e alocação dinâmica
17 Estruturas em funções Exemplo utilizando passagem por referência: 1 struct Venda { 2 int pecas; 3 float preco; 4 }; 5 6 void imprimetotal(venda &v1, Venda &v2) 7 { 8 Venda total = {0, 0.0}; 9 total.pecas = v1.pecas + v2.pecas; 10 total.preco = v1.preco + v2.preco; 11 cout << "Nro peças: " << total.pecas << endl; 12 cout << "Preço total: " << total.preco << endl; 13 } int main() 16 { 17 Venda v1 = {1, 20}, v2 = {3, 10}; 18 imprimetotal(v1, v2); 19 return 0; 20 } 14 / 33 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 27: Estruturas heterogêneas e alocação dinâmica
18 Estruturas em funções Exemplo utilizando ponteiros: 1 struct Venda { 2 int pecas; 3 float preco; 4 }; 5 6 void imprimetotal(venda *v1, Venda *v2) 7 { 8 Venda total = {0, 0.0}; 9 total.pecas = (*v1).pecas + (*v2).pecas; 10 total.preco = (*v1).preco + (*v2).preco; 11 cout << "Nro peças: " << total.pecas << endl; 12 cout << "Preço total: " << total.preco << endl; 13 } int main() 16 { 17 Venda v1 = {1, 20}, v2 = {3, 10}; 18 imprimetotal(&v1, &v2); 19 return 0; 20 } 15 / 33 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 27: Estruturas heterogêneas e alocação dinâmica
19 Estruturas em funções Exemplo utilizando ponteiros (alternativa): / 33 struct Venda { int pecas; float preco; }; void imprimetotal(venda *v1, Venda *v2) { Venda total = {0, 0.0}; total.pecas = v1->pecas + v2->pecas; v1->pecas ou (*v1).pecas total.preco = v1->preco + v2->preco; cout << "Nro peças: " << total.pecas << endl; cout << "Preço total: " << total.preco << endl; } int main() { Venda v1 = {1, 20}, v2 = {3, 10}; imprimetotal(&v1, &v2); return 0; } Túlio Toffolo & Puca Huachi Introdução a Programação Aula 27: Estruturas heterogêneas e alocação dinâmica
20 Aula de hoje 1 Exercícios da última aula 2 Estruturas heterogêneas (breve revisão) 3 Alocação dinâmica de estruturas heterogêneas 4 Cópias de estruturas heterogêneas 5 Exercícios 6 Parâmetros da função main e próxima aula 16 / 33 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 27: Estruturas heterogêneas e alocação dinâmica
21 Alocação dinâmica e structs É possível alocar uma estrutura dinamicamente. O processo é igual ao da criação de um int ou double usando alocação dinâmica. De forma análoga, o usuário deve liberar a memória alocada. 1 int main() 2 { 3 Aluno *a = new Aluno; 4 strcpy(a->nome, "Tulio"); 5 strcpy(a->sobrenome, "Toffolo"); 6 a->idade = 21; 7 8 cout << a->nome << " " << a->sobrenome << endl; 9 cout << "Idade = " << a->idade << endl; delete a; 12 return 0; 13 } 17 / 33 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 27: Estruturas heterogêneas e alocação dinâmica
22 Alocação dinâmica e structs Exemplo completo (incluindo a estrutura Aluno): 1 struct Aluno 2 { 3 char nome[50]; 4 char sobrenome[50]; 5 int idade; 6 }; 7 8 int main() 9 { 10 Aluno *a = new Aluno; 11 strcpy(a->nome, "Tulio"); 12 strcpy(a->sobrenome, "Toffolo"); 13 a->idade = 21; cout << a->nome << " " << a->sobrenome << endl; 16 cout << "Idade = " << a->idade << endl; delete a; 19 return 0; 20 } 18 / 33 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 27: Estruturas heterogêneas e alocação dinâmica
23 Vetores de struct A criação/utilização de vetores de estruturas tanto estáticas quanto dinâmicas também é simples, sem nenhuma diferença relevante: 1 int main () 2 { 3 Aluno alunos[500]; 4 int n; 5 cin >> n; // nro de alunos digitado pelo usuário 6 7 for (int i = 0; i < n; i++) { 8 cin >> alunos[i].nome >> alunos[i].sobrenome; 9 cin >> alunos[i].idade; 10 } return 0; 13 } 19 / 33 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 27: Estruturas heterogêneas e alocação dinâmica
24 Vetores de struct A criação/utilização de vetores de estruturas tanto estáticas quanto dinâmicas também é bastante simples: 1 int main () 2 { 3 int n; 4 cin >> n; // nro de alunos digitado pelo usuário 5 Aluno *alunos = new Aluno[n]; 6 7 for (int i = 0; i < n; i++) { 8 cin >> alunos[i].nome >> alunos[i].sobrenome; 9 cin >> alunos[i].idade; 10 } delete[] alunos; 13 return 0; 14 } 20 / 33 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 27: Estruturas heterogêneas e alocação dinâmica
25 Vetores de struct Mas... o que o código a seguir imprimirá? 1 int main () 2 { 3 int n; 4 cin >> n; // nro de alunos digitado pelo usuário 5 6 Aluno alunosest[500]; 7 Aluno *alunosdin = new Aluno[n]; 8 9 cout << "Array estático usa " << sizeof(alunosest) 10 << " bytes!" << endl << endl; cout << "Array dinâmico usa " << sizeof(alunosdin) 13 << " bytes???" << endl; 14 cout << "Não... Usa " << sizeof(aluno) * n + sizeof(alunosdin) 15 << " bytes!" << endl << endl; return 0; 18 } 21 / 33 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 27: Estruturas heterogêneas e alocação dinâmica
26 Vetores de struct O código anterior imprimirá (se o usuário digitar 20): 1 Array estático usa bytes! 2 3 Array dinâmico usa 8 bytes??? 4 Não... Usa 2088 bytes! O array estático usa 500 sizeof(aluno) bytes O dinâmico usa n sizeof(aluno) bytes + um ponteiro (8 bytes) 22 / 33 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 27: Estruturas heterogêneas e alocação dinâmica
27 Aula de hoje 1 Exercícios da última aula 2 Estruturas heterogêneas (breve revisão) 3 Alocação dinâmica de estruturas heterogêneas 4 Cópias de estruturas heterogêneas 5 Exercícios 6 Parâmetros da função main e próxima aula 22 / 33 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 27: Estruturas heterogêneas e alocação dinâmica
28 O que o código a seguir imprimirá? 1 #include <iostream> 2 using namespace std; 3 4 struct Aluno 5 { 6 char nome[50]; 7 char sobrenome[50]; 8 int idade; 9 }; int main() 12 { 13 Aluno a = { "Puca", "Penna", 20 }; Aluno b = a; 16 strcpy(b.nome, "Tulio"); 17 strcpy(b.sobrenome, "Toffolo"); cout << a.nome << " " << a.sobrenome << " - " << a.idade << endl; 20 cout << b.nome << " " << b.sobrenome << " - " << b.idade << endl; 21 return 0; 22 } 23 / 33 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 27: Estruturas heterogêneas e alocação dinâmica
29 Cópia de estruturas O código imprimirá: 1 Puca Penna Tulio Toffolo - 20 Uma cópia dos dados da estrutura é criada ao fazer Aluno b = a; Note que a estrutura Aluno ocupa 104 bytes Ao fazer a cópia, os 104 bytes são copiados Note que isto só ocorre porque a string foi alocada estaticamente. 24 / 33 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 27: Estruturas heterogêneas e alocação dinâmica
30 E o código a seguir, o que imprimirá? 1 #include <iostream> 2 using namespace std; 3 4 struct Aluno 5 { 6 char nome[50]; 7 char ultnome[50]; 8 int idade; 9 }; int main() 12 { 13 Aluno a = { "Puca", "Penna", 20 }; Aluno *b = &a; 16 strcpy(b->nome, "Tulio"); 17 strcpy(b->ultnome, "Toffolo"); cout << a.nome << " " << a.ultnome << " - " << a.idade << endl; 20 cout << b->nome << " " << b->ultnome << " - " << b->idade << endl; 21 return 0; 22 } 25 / 33 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 27: Estruturas heterogêneas e alocação dinâmica
31 Cópia de estruturas O código imprimirá: 1 Tulio Toffolo Tulio Toffolo - 20 Este resultado é esperado, já que b agora é um ponteiro. Ao alocar um ponteiro, ocupamos apenas o espaço necessário para armazenar um endereço de memória. (4 ou 8 bytes, dependendo de a arquitetura ser de 32 ou 64 bits). 26 / 33 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 27: Estruturas heterogêneas e alocação dinâmica
32 E o código a seguir, o que imprimirá? 1 #include <iostream> 2 using namespace std; 3 4 struct Aluno 5 { 6 char *nome; 7 int idade; 8 }; 9 10 int main() 11 { 12 Aluno a = { new char[50], 20 }; 13 strcpy(a.nome, "Puca"); Aluno b = a; 16 strcpy(b.nome, "Tulio"); 17 b.idade = 25; cout << a.nome << " - " << a.idade << endl; 20 cout << b.nome << " - " << b.idade << endl; delete[] a.nome; 23 return 0; 24 } 27 / 33 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 27: Estruturas heterogêneas e alocação dinâmica
33 Cópia de estruturas O código imprimirá: 1 Tulio Tulio - 25 Ao copiar b em a, copiamos o endereço de memória apontado pelo ponteiro a.nome em b.nome; eles apontam para a mesma memória! Copiamos o valor da variável a.idade Importante: note o delete no exemplo anterior Toda memória alocada dinamicamente (usando new) deve ser desalocada pelo programador (usando delete). 28 / 33 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 27: Estruturas heterogêneas e alocação dinâmica
34 Aula de hoje 1 Exercícios da última aula 2 Estruturas heterogêneas (breve revisão) 3 Alocação dinâmica de estruturas heterogêneas 4 Cópias de estruturas heterogêneas 5 Exercícios 6 Parâmetros da função main e próxima aula 28 / 33 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 27: Estruturas heterogêneas e alocação dinâmica
35 Exercício 1 Crie uma estrutura que representa um ponto (x, y). Em seguida, crie: 1 uma função que recebe dois pontos e retorna a distância entre eles; 2 uma função que recebe dois pontos e retorna o ponto equidistante aos dois mais próximo. Exercício 2 Crie uma estrutura para representar um número complexo a + ib (lembre-se que i = 1). Implemente: 1 uma função que retorna a soma dois números complexos; 2 uma função que retorna o produto de dois números complexo. Exemplo: (2 + 5i) (1 2i) = 2 4i + 5i 10i 2 (lembrando que i 2 = 1) = 2 4i + 5i 10 ( 1) = 2 4i + 5i + 10 = 12 + i 29 / 33 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 27: Estruturas heterogêneas e alocação dinâmica
36 Aula de hoje 1 Exercícios da última aula 2 Estruturas heterogêneas (breve revisão) 3 Alocação dinâmica de estruturas heterogêneas 4 Cópias de estruturas heterogêneas 5 Exercícios 6 Parâmetros da função main e próxima aula 29 / 33 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 27: Estruturas heterogêneas e alocação dinâmica
37 Parâmetros da função main Até aqui, utilizamos a função main sem parâmetros: 1 int main() 2 { return 0; 6 } Mas a função main também pode receber parâmetros: int argc: número de argumentos char *argv[]: valor dos argumentos (ou char **argv) 30 / 33 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 27: Estruturas heterogêneas e alocação dinâmica
38 Parâmetros da função main 1 #include <iostream> 2 using namespace std; 3 4 int main(int argc, char *argv[]) 5 { 6 for (int i = 0; i < argc; i++) 7 cout << "argumento " << i << " = " << argv[i] << endl; 8 9 return 0; 10 } O que o código acima irá imprimir? 31 / 33 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 27: Estruturas heterogêneas e alocação dinâmica
39 Parâmetros da função main O fato é que argv é um vetor de vetores de caracteres! (ou um array de arrays de caracteres) Mas um vetor de caracteres pode ser visto como uma string... Portanto, argv é na prática um vetor de strings :) 32 / 33 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 27: Estruturas heterogêneas e alocação dinâmica
40 Próxima aula Último item da ementa da disciplina: Arquivos Importante Resolvam as listas de exercícios no site! 33 / 33 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 27: Estruturas heterogêneas e alocação dinâmica
41 / 12 Perguntas?
Aula 26: Estruturas heterogêneas
Aula 26: Estruturas heterogêneas Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aulas anteriores Memória Ponteiro Utilização
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 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 2018/2 Departamento de Computação UFOP Aulas anteriores Memória Ponteiro Utilização de ponteiros
Leia maisAula 24: Ponteiros e Alocação Dinâmica
Aula 24: Ponteiros e Alocação Dinâmica Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aula anterior Memória Ponteiro Utilização
Leia maisAula 28: Arquivos de texto
Aula 28: Arquivos de texto Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Baseado nos slides de Guillermo Cámara-Chávez Aulas anteriores Memória Ponteiro Utilização
Leia maisAula 23: Ponteiros Introdução a Programação Túlio Toffolo & Puca Huachi
Aula 23: Ponteiros Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Baseado nos slides do Prof. Guillermo Cámara-Chávez Aulas anteriores Vetores Matrizes Cadeias
Leia maisANHANGUERA ESTRUTURA DE DADOS AULA 04 MATRIZES, LISTAS E ALOCAÇÃO DINÂMICA. Prof. Thomás da Costa
ANHANGUERA 2015.2 ESTRUTURA DE DADOS AULA 04 Prof. Thomás da Costa thomascosta@aedu.com O que é: Matrizes São vetores que possuem duas ou mais dimensões para armazenar valores. Uma matriz de duas dimensões,
Leia maisFundamentos de Programação
Fundamentos de Programação Linguagem C++: arrays - aula I Bruno Emerson Gurgel Gomes 1 1 Instituto Federal de Educação, Ciência e Tecnologia do RN (IFRN) 2012 Bruno Gomes (IFRN) Fundamentos de Programação
Leia maisAula 30: Revisão para Prova 03
Aula 30: Revisão para Prova 03 Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC202 2019/1 Departamento de Computação UFOP Avaliação 3 Provas (60% da nota): Prova 01: 15%
Leia maisAula 20: Matrizes (Parte 2)
Aula 20: Matrizes (Parte 2) Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aulas anteriores Vetores Matrizes 2 / 15 Túlio Toffolo
Leia maisAula 17: Funções (Parte III) e Introdução a Vetores
Aula 17: Funções (Parte III) e Introdução a Vetores Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aula de Hoje 1 Exemplos
Leia maisAula 29: Arquivos binários
Aula 29: Arquivos binários Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aulas anteriores Memória Ponteiro Utilização de ponteiros
Leia maisEstrutura de dados 1. Ponteiros
Estrutura de dados 1 Ponteiros Ponteiros Um ponteiro é um endereço de memória O valor de um ponteiro indica onde uma variável está armazenada Um ponteiro proporciona um modo de acesso a uma variável sem
Leia maisAula 08: Funções (Parte II)
Aula 08: Funções (Parte II) Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2019/1 Departamento de Computação UFOP Aula Anterior Introdução a Funções Aula prática
Leia maisAula 11: Laços e exercícios
Aula 11: Laços e exercícios Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aula Anterior Manipulação de laços Exercício 2 /
Leia maisAula 26: Arquivos de texto
Aula 26: Arquivos de texto 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 heterogêneas Alocação
Leia maisBCC202 - Estrutura de Dados I
BCC202 - Estrutura de Dados I Aula 02: Alocação Dinâmica de Memória Reinaldo Fortes Universidade Federal de Ouro Preto, UFOP Departamento de Ciência da Computação, DECOM Website: www.decom.ufop.br/reifortes
Leia maisCentro Universitário Franciscano Curso de Sistemas de Informação Disciplina de algoritmos e programação II. Ponteiros
Centro Universitário Franciscano Curso de Sistemas de Informação Disciplina de algoritmos e programação II Ponteiros Profa.: Simone Ceolin Slides (Prof.Tiago Rios da Rocha) Primeiro Semestre 2011 Sumário
Leia maisEstruturas (registros)
BCC 201 - Introdução à Programação I Estruturas (registros) Guillermo Cámara-Chávez UFOP 1/44 Estruturas (struct) I Imaginemos que queremos ler as notas de 4 provas para um aluno e calcular a média do
Leia maisAula 10: Manipulação do fluxo de laços
Aula 10: Manipulação do fluxo de laços Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aula Anterior Laços aninhados Exemplos
Leia maisAula 18: Vetores Introdução a Programação Túlio Toffolo & Puca Huachi
Aula 18: Vetores Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aula de Hoje 1 Exercícios da aula prática 2 Vetores 3 Exemplos
Leia maisAula 05: Condicionais (Parte 2)
Aula 05: Condicionais (Parte 2) Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aula Anterior Breve Revisão Comandos de Decisão
Leia maisPuca Huachi Vaz Penna
Aula 3 C++: variáveis e expressões aritméticas 2017/1 BCC201 Introdução à Computação Turmas 61, 62, 63, 64, 65 e 66, 32 e 33 Puca Huachi Vaz Penna Departamento de Computação Universidade Federal de Ouro
Leia maisProgramação Orientada a Objetos. Giselle Lopes Ferrari Ronque
Programação Orientada a Objetos Giselle Lopes Ferrari Ronque ferrari@eletrica.ufpr.br Avaliações Provas 27/03/2015 15/05/2015 Trabalhos 12 e 19/06/2015 Segunda chamada: 26/06/2015 Exame: 10/07/2015 Regras
Leia maisLISTA DE EXERCÍCIOS 2
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO DE CIÊNCIA DA COMPUTAÇÃO PROGRAMAÇÃO DE COMPUTADORES 1. TIPOS COMPOSTOS DE DADOS LISTA DE EXERCÍCIOS 2 1. Considerando as declarações abaixo, responda dizendo
Leia maisProgramação científica C++
Programação científica C++ NIELSEN CASTELO DAMASCENO Slide 8 Matrizes como argumento de funções O nome de uma matriz (sem os colchetes) representa o endereço onde a matriz está armazenada. Ao passar o
Leia maisBCC 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 maisInstituto Federal de Educação, Ciência e Tecnologia do RN Câmpus Currais Novos. LINGUAGEM C++ VARIÁVEIS COMPOSTAS Arrays Aula I
LINGUAGEM C++ VARIÁVEIS COMPOSTAS Arrays Aula I Prof. Bruno E. G. Gomes Uma variável em um algoritmo pode ser vista como uma gaveta. A declaração de uma variável reserva uma gaveta (posição) de um certo
Leia maisAula 15: Introdução a Funções
Aula 15: Introdução a Funções Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aula Anterior Laços aninhados Exemplos diversos
Leia maisC++ Orientado a Objetos
flavio@facom.ufu.br flaviosilva@computer.org a@comp org 1 Declaração As variáveis em C++ podem ser de duas diferentes naturezas Uma variável pode conter um VALOR ou um ENDEREÇO VALOR A declaração de uma
Leia maisBruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP. Alocação Dinâmica de Memória
Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP Alocação Dinâmica de Memória Alocação Estática x Dinâmica C: dois tipos de alocação de memória: Estática e Dinâmica Na alocação estática, o espaço
Leia maisAlgoritmos e Programação de Computadores Profs: Ronaldo Castro de Oliveira Anilton Joaquim da Silva
Algoritmos e Programação de Computadores Profs: Ronaldo Castro de Oliveira ronaldo.co@ufu.br Anilton Joaquim da Silva anilton@ufu.br Matrizes Uma matriz é uma variável capaz de armazenar vários dados de
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 maisIntrodução a Programação. Tipos Estruturados de Dados
Introdução a Programação Tipos Estruturados de Dados Tópicos da Aula Hoje aprenderemos a trabalhar com tipos de dados mais complexos Tipos Primitivos x Tipos Estruturados Conceito de Tipos Estruturados
Leia maisESTRUTURA 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 maisVariáveis, Comandos de Atribuição e Comando de Entrada e Saída
BCC 201 - Introdução à Programação Variáveis, Comandos de Atribuição e Comando de Entrada e Saída Guillermo Cámara-Chávez UFOP 1/1 Estrutura Básica de um programa C I < d i r e t i v a s do pré p r o c
Leia mais# Estrutura de Dados # Aula - Revisão de C/C++ na Prática. Prof. Leinylson Fontinele Pereira
# Estrutura de Dados # Aula - Revisão de C/C++ na Prática Prof. Leinylson Fontinele Pereira Na aula anterior... Ponteiros Funções Introdução 3 O que vamos aprender? Preparação do ambiente de testes Conceitos
Leia maisEstruturas. struct são coleções de dados heterogêneos agrupados em uma mesma estrutura de dados. Ex: armazenar as coordenadas (x,y) de um ponto:
Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação Estruturas Profa Rosana Braga 1 Estruturas struct são coleções de dados heterogêneos agrupados em uma mesma estrutura
Leia maisPonteiros de Variáveis
Ponteiros de Variáveis C++ permite o armazenamento e a manipulação de valores de endereços de memória. Para cada tipo existente, há um tipo ponteirocapaz de armazenar endereços de memória em que existem
Leia maisAlocação Dinâmica de Memória. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR
Alocação Dinâmica de Memória David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Alocação Estática x Dinâmica C: dois tipos de alocação de memória: Estática e Dinâmica Na alocação estática, o espaço
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 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 maisALOCAÇÃ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 maisAlocação Dinâmica. Túlio Toffolo BCC202 Aula 02 Algoritmos e Estruturas de Dados I
Alocação Dinâmica Túlio Toffolo tulio@toffolo.com.br www.toffolo.com.br BCC202 Aula 02 Algoritmos e Estruturas de Dados I Esquema de Memória baixa Código do Programa Variáveis Globais e Estáticas Memória
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 maisPuca Huachi Vaz Penna / José Américo T. Messias
BCC201 Introdução à Computação Turmas 61, 62, 63, 64, 65 e 66 Puca Huachi Vaz Penna / José Américo T. Messias Departamento de Computação Universidade Federal de Ouro Preto http://www.decom.ufop.br/puca
Leia maisAula 03: Introdução a C
Aula 03: Introdução a C Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2019/1 Departamento de Computação UFOP Aula Anterior O que é um computador Organização de um
Leia maisCMP Técnicas de Programação 2 a Lista de Exercícios - Passagem de parâmetros por referência e ponteiros Max Gontijo de Oliveira
CMP1048 - Técnicas de Programação 2 a Lista de Exercícios - Passagem de parâmetros por referência e ponteiros Max Gontijo de Oliveira 1. Considere um programa em C++ que tenha duas variáveis declaradas
Leia maisPonteiros. Embora o programador não tenha acesso ao endereço de uma variável, existem algumas situações onde é necessário a utilização deste endereço.
Logo Aula 06 Ponteiros 2 Ponteiros Embora o programador não tenha acesso ao endereço de uma variável, existem algumas situações onde é necessário a utilização deste endereço. Um exemplo clássico disto
Leia maisVariáveis, Comandos de Atribuição e Comando de Entrada e Saída
BCC 201 - Introdução à Programação Variáveis, Comandos de Atribuição e Comando de Entrada e Saída Guillermo Cámara-Chávez UFOP 1/63 Estrutura Básica de um programa C I < d i r e t i v a s do pre p r o
Leia maisAula 4: Introdução à Linguagem C++
CI208 - Programação de Computadores Aula 4: Introdução à Linguagem C++ Prof. MSc. Diego Roberto Antunes diegor@inf.ufpr.br www.inf.ufpr.br/diegor Universidade Federal do Paraná Setor de Ciências Exatas
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 maisC++ - Matrizes. Observ.: C++ não avisa quando o limite de uma matriz foi excedido. Providenciar a verificação é responsabilidade do programador.
C++ - Matrizes É um conjunto de variáveis, do mesmo tipo, referenciadas por um único nome, onde cada variável é diferenciada por meio de um número entre colchetes chamado índice. Declaração : tipo nome
Leia maisAula 10 Comandos de Repetição
Aula 10 Comandos de Repetição Algoritmos e Programação de Computadores Profs: Ronaldo Castro de Oliveira ronaldo.co@ufu.br Anilton Joaquim da Silva anilton@ufu.br 1 Introdução Em certas situações é necessária
Leia maisComputação Eletrônica. Aula 08 Estruturas de Dados. Prof: Luciano Barbosa. CIn.ufpe.br
Computação Eletrônica Aula 08 Estruturas de Dados Prof: Luciano Barbosa Tipos de Dados Primitivos vs Estruturados Tipos primitivos: reais (float, double), inteiros (int), caractere (char); Tipos estruturados:
Leia maisProgramação I Ponteiros e alocação dinâmica de memória. Prof. Carlos Alberto
Programação I Ponteiros e alocação dinâmica de memória Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br Ponteiros O ponteiro é um tipo de dado como int, char ou float; Variáveis
Leia maisAula 9 Agregado Heterogêneo Ponteiro. prof Leticia Winkler
Aula 9 Agregado Heterogêneo Ponteiro prof Leticia Winkler 1 Prof. Leticia Winkler 2 Agregado Heterogêneo Também conhecido como registro; É uma coleção de campos que podem ser referenciados pelo mesmo nome.
Leia maisProgramação científica C++
Programação científica C++ NIELSEN CASTELO DAMASCENO Slide 2 Expressões Combinação de dados e operadores que resulta em um valor. expressão x = 2 * y + 4; variável operador constante Memória do computador
Leia maisTipos Estruturados. Tipos Estruturados
Tipos Estruturados Até aqui trabalhamos apenas com tipos básicos (disponibilizados pela linguagem), mas para desenvolver programas mais complexos é necessário trabalhar de uma maneira mais abstrata para
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 maisMódulo 1. Introdução. AEDS I C++ (Rone Ilídio)
Módulo 1 Introdução AEDS I C++ (Rone Ilídio) Introdução Linguagens de Programação Fonte Compilador Executável SO I Hardware C++ - Características Evolução do C, ou seja, possui a mesma sintaxe É uma linguagem
Leia maisVariáveis, Comandos de Atribuição e Comando de Entrada e Saída
BCC 201 - Introdução à Programação Variáveis, Comandos de Atribuição e Comando de Entrada e Saída Guillermo Cámara-Chávez UFOP 1/54 Estrutura Básica de um programa C I < d i r e t i v a s do pre p r o
Leia maisUniversidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação. Estruturas em C
Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação Estruturas em C 1 Material preparado pela profa Silvana Maria Affonso de Lara 2º semestre de 2010 ROTEIRO DA AULA
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 maisBCC 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 maisLÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA
LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA OUTRAS ESTRUTURAS DE REPETIÇÃO Prof. Dr. Daniel Caetano 2013-1 Objetivos Conhecer outras estruturas de repetição da linguagem C/C++ Compreender o uso de cada uma delas
Leia maisprim = A ; prim = &A[0];
57 12 - MAIS SOBRE APONTADOR 12.1 - Ponteiros e arrays Em C, ponteiros e matrizes são tratados de maneira semelhante. 12.1.1 - Nome O nome é um ponteiro, ou seja, aponta (contém o endereço) para o primeiro
Leia maisAula 2 Listas Lineares Sequenciais. prof Leticia Winkler
Aula 2 Listas Lineares Sequenciais prof Leticia Winkler 1 Conteúdo Revisão de Vetor Definição Declaração Acesso dos Elementos Inicialização dos Elementos Exemplo Vetor e Função Lista Linear Operações com
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 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 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 maisComputação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica.
Computação L2 Linguagem C++ ovsj@cin.ufpe.br Observação: Material Baseado na Disciplina Computação Eletrônica. Alfabeto São os símbolos ( caracteres ) permitidos na linguagem: Letras (maiúsculas e minúsculas);
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 maisAula 1 Conceitos Básicos
Aula 1 Conceitos Básicos Elerson R. S. Santos elerson@dcc.ufmg.br Livro Projeto de Algoritmos Capítulo 1 @ DCC/UFMG O que é um algoritmo? O que é um programa? O que é um TAD? Algoritmos e Estrutura de
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 maisGEQ Prof. Paulo R. Coelho. Lista para prova
GEQ007 2013 Prof. Paulo R. Coelho Lista para prova 7. Defina uma estrutura empregado para armazenar nome, data de nascimento, idade e salário de um empregado de uma empresa. Leia informações sobre 10 empregados
Leia maisCaracteres, Vetores e Matrizes
Caracteres, Vetores e Matrizes STRINGS VETORES DE CARACTERES Para realizar processamento de texto e trabalhar com letras do alfabeto e outros caracteres como, por exemplo, símbolos de pontuação, a linguagem
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 maisFábio da Fontoura Beltrão Felipe Augusto Chies Lucas Fialho Zawacki Marcos Vinicius Cavinato Matheus de Carvalho Proença
C++ Fábio da Fontoura Beltrão Felipe Augusto Chies Lucas Fialho Zawacki Marcos Vinicius Cavinato Matheus de Carvalho Proença Primeiro Programa //Primeiro Programa C++ #include int main() { std::cout
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 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.6. Ponteiros 3.6.1. Introdução 3.6.2. Uso
Leia maisCCO 016 Fundamentos de Programação
CCO 016 Fundamentos de Programação Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá Aula 05 Entrada de dados Leia scanf ou cin Entrada de Dados Entrada de dados compreende a operação
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 maisMC-102 Aula 19 Ponteiros II
MC-102 Aula 19 Ponteiros II Instituto de Computação Unicamp 20 de Outubro de 2016 Roteiro 1 Ponteiros e Alocação Dinâmica 2 Exemplo de Alocação Dinâmica de Vetores 3 Erros Comuns ao Usar Alocação Dinâmica
Leia maisProgramação Estruturada Prof. Rodrigo Hausen Agregados de Dados Heterogêneos (structs)
Programação Estruturada Prof. Rodrigo Hausen http://progest.compscinet.org Agregados de Dados Heterogêneos (structs) 1 AGREGADO HOMOGÊNEO Um agregado homogêneo de dados é um conjunto de dados que são necessariamente
Leia maisC++ Orientado a Objetos Ponteiros
C++ Orientado a Objetos flavio@facom.ufu.br flaviosilva@computer.org a@comp org 198 Declaração As variáveis em C++ podem ser de duas diferentes naturezas Uma variável pode conter um VALOR ou um ENDEREÇO
Leia maisAlocação Dinâmica de Memória
Alocação Dinâmica de Memória Luiz Chaimowicz, Raquel O. Prates, Pedro O.S. Vaz de Melo Algoritmos e Estruturas de Dados II DCC UFMG Alocação Estática x Dinâmica C: dois tipos de alocação de memória: Estática
Leia maisTécnicas de Programação:
Técnicas de Programação: Programação Orientada a Objeto PROF. PROTÁSIO DEE-UFPB Classes e Objetos Classe É uma estrutura de dados que pode conter: Objeto Dados, e Funções. É uma instância de uma classe.
Leia maisa) Implemente uma função que retorne uma aproximação do valor de π, de acordo com a F órmula de Leibniz: ( 1)
INF 620 P - 7/04/04 Questão a) Implemente uma função que retorne uma aproximação do valor de π, de acordo com a F órmula de Leibniz: Ou seja: π 4 * + 3 π 5 7 + 9 i ( ) 4 * n i= 0 2 * i + + K Esta função
Leia maisLinguagem C Princípios Básicos (parte 1)
Linguagem C Princípios Básicos (parte 1) Objetivos O principal objetivo deste artigo é explicar alguns conceitos fundamentais de programação em C. No final será implementado um programa envolvendo todos
Leia maisINF 1007 Programação II
INF 1007 Programação II Aula 07 Vetor de Ponteiros Edirlei Soares de Lima Vetor de Cadeia de Caracteres Vetores de cadeias de caracteres. Exemplo: char alunos[50][81]; Função para
Leia mais//conteúdo do arquivo pacote.h
//conteúdo do arquivo pacote.h #ifndef PACOTE_H #define PACOTE_H #include #include class Pacote friend istream &operator>> (istream &, Pacote &); friend ostream &operator
Leia maisPuca Huachi Vaz Penna / José Américo T. Messias
BCC201 Introdução à Computação Turmas 61, 62, 63, 64, 65 e 66 Puca Huachi Vaz Penna / José Américo T. Messias Departamento de Computação Universidade Federal de Ouro Preto http://www.decom.ufop.br/puca
Leia maisComputação eletrônica:
Computação eletrônica: Gurvan Huiban ghuiban@cin.ufpe.br Plano de aula 1 Vetores unidimensionais 2 Vetores multidimensionais 3 Vetores e funções 4 Cadeia de caracteres Vetores unidimensionais 1 Vetores
Leia maisIntrodução à Disciplina de. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR
Introdução à Disciplina de Estruturas de Dados Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR Fev/2019 Software = Lógica + Dados Software Niklaus Wirth (1989). Lógica
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 maisIntrodução a Programação. Ponteiros para Estruturas, Outros Tipos de Estruturas
Introdução a Programação Ponteiros para Estruturas, Outros Tipos de Estruturas Tópicos da Aula Hoje aprenderemos a trabalhar com ponteiros para estruturas Ponteiros para estruturas Alocação dinâmica de
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 maisITENS FUNDAMENTAIS Programando em C++
INFORMÁTICA E COMPUTAÇÃO - CMP 1060 AULA 3 ITENS FUNDAMENTAIS Programando em C++ 1. Constantes São valores que são mantidos fixos pelo compilador. Tipo de Dado Exemplos de Constantes char b \n \0 int 2
Leia maisLÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA
LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA OUTRAS ESTRUTURAS DE REPETIÇÃO Prof. Dr. Daniel Caetano 2018-1 Objetivos Conhecer outras estruturas de repetição da linguagem C/C++ Compreender o uso de cada uma delas
Leia mais