A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

FUNDAMENTO DE PROGRAMAÇÃO

Apresentações semelhantes


Apresentação em tema: "FUNDAMENTO DE PROGRAMAÇÃO"— Transcrição da apresentação:

1 FUNDAMENTO DE PROGRAMAÇÃO
LINGUAGEM C – VETORES 1

2 SUMÁRIO Conceito de String Declaração de String Exercícios 2 2

3 CONCEITO DE STRING 3 3

4 CONCEITO DE STRING A forma mais simples de estruturarmos um conjunto de dados é por meio de vetores. Como a maioria das linguagens de programação, C permite a definição de vetores. 4 4

5 Em C, vetores devem sempre conter dados do mesmo tipo de variável.
CONCEITO DE VETORES Vetores, também chamados arrays (do inglês) ou arranjo, são uma maneira de armazenar vários dados num mesmo nome de variável através do uso de índices numéricos. Em C, vetores devem sempre conter dados do mesmo tipo de variável. 5 5

6 Por exemplo: Como armazenar 3 notas?
CONCEITO DE VETORES Por exemplo: Como armazenar 3 notas? float nota1, nota2, nota3; printf("Nota do aluno 1: "); scanf("%f“,&nota1); printf("Nota do aluno 2:"); scanf("%f“,&nota2); printf("Nota do aluno 3:"); scanf("%f“,&nota3); 6 6

7 Por exemplo: Como armazenar 100 notas?
CONCEITO DE VETORES Por exemplo: Como armazenar 100 notas? float nota1, nota2, nota3, /*…*/,nota100; printf("Nota do aluno 1: "); scanf("%f“,&nota1); printf("Nota do aluno 2:"); scanf("%f“,&nota2); printf("Nota do aluno 3:"); scanf("%f“,&nota3); /*…*/ printf("Nota do aluno 100:"); scanf("%f“,&nota100); 7 7

8 CONCEITO DE VETORES 8

9 Por exemplo: Como armazenar 100 notas?
CONCEITO DE VETORES Por exemplo: Como armazenar 100 notas? float nota[100]; int n, i; printf("Número de alunos:"); scanf("%d", &n); for (i = 0; i < n; i++) { printf("Nota do aluno %d: ", i+1); scanf("%f", &nota[i]); } 9 9

10 DECLARAÇÃO DE VETORES 10 10

11 DECLARAÇÃO DE VETORES Declaramos vetores de maneira muito semelhante à declaração de variáveis normais. A única diferença é que depois do nome da variável deve ser informada a quantidade de elementos do vetor. 11 11

12 <tipo> identificador [ <número de posições> ];
DECLARAÇÃO DE VETORES Portanto a sintaxe é: <tipo> identificador [ <número de posições> ]; A primeira posição de um vetor tem índice 0. A última posição de um vetor tem índice < número de posições > - 1. O sistema de execução não verifica se um dado acesso está a dentro dos limites de um vetor. 12 12

13 Definimos um vetor em C da seguinte forma: int v[10];
DECLARAÇÃO DE VETORES Definimos um vetor em C da seguinte forma: int v[10]; A declaração acima diz que v é um vetor de inteiros dimensionado com 10 elementos; Em outras palavras, isto é, reservamos um espaço de memória contínuo para armazenar 10 valores inteiros. 13 13

14 DECLARAÇÃO DE VETORES int v[10];
Assim, se cada int ocupa 4 bytes, a declaração acima reserva um espaço de memória de 40 bytes, como ilustra a figura abaixo: 14 14

15 DECLARAÇÃO DE VETORES A quantidade de elementos de um vetor não pode ser alterada depois que o vetor for declarado. Da mesma maneira que podemos inicializar uma variável junto com sua declaração, podemos usar as chaves ({ }) para inicializar um array. 15 15

16 Por exemplo: int vetor[5] = {17, 42, 9, 33, 12};
DECLARAÇÃO DE VETORES Por exemplo: int vetor[5] = {17, 42, 9, 33, 12}; printf(”%i”,vetor[0]); printf(”%i”,vetor[1]); printf(”%i”,vetor[2]); printf(”%i”,vetor[3]); printf(”%i”,vetor[4]); printf(”%i”,vetor[5]); //Errado 16 16

17 DECLARAÇÃO DE VETORES Para fazer referência a um valor de um elemento contido em um vetor, usamos a notação vetor[índice]; Esta notação que serve tanto para obter quanto para definir o valor de um elemento específico do vetor, dada sua posição. 17 17

18 DECLARAÇÃO DE VETORES Em C podemos omitir o número de elementos quando os valores são inicializados; Assim o tamanho do vetor será o número de valores inicializados. Por exemplo, as duas notações abaixo são equivalentes: int valores[5] = {1, 2, 3, 4, 5}; int valores[ ] = {1, 2, 3, 4, 5}; 18 18

19 RELAÇÃO DE VETORES E PONTEIROS
19 19

20 RELAÇÃO DE VETORES E PONTEIROS
Existe uma associação forte entre vetores e ponteiros, pois se existe a declaração: int v[10]; A variável v é uma constante que armazena o endereço inicial do vetor; Portanto, v, sem indexação, aponta para o primeiro elemento do vetor. 20 20

21 RELAÇÃO DE VETORES E PONTEIROS
Com isto, num vetor int v[10] temos as seguintes equivalências: v → aponta para o primeiro elemento do vetor. v+1 → aponta para o segundo elemento do vetor. v+2 → aponta para o terceiro elemento do vetor. v+3 → aponta para o quarto elemento do vetor. v+4 → aponta para o quinto elemento do vetor. v+5 → aponta para o sexto elemento do vetor. v+6 → aponta para o sétimo elemento do vetor. ... v+9 → aponta para o último elemento do vetor. 21 21

22 PONTEIROS PARA VETORES
Estas equivalências implicam que: Escrever &v[i] é equivalente a escrever (v+i). De maneira análoga, escrever v[i] é equivalente a escrever *(v+i) (é lógico que a forma indexada é mais clara e adequada). 22 22

23 PONTEIROS PARA VETORES
23 23

24 RELAÇÃO DE VETORES E PONTEIROS
Em C, se p representa um ponteiro para um vetor inteiro v, a operação p+1 faz o ponteiro p apontar para o próximo inteiro armazenado no espaço de memória alocado para v. 24 24

25 RELAÇÃO DE VETORES E PONTEIROS
Por exemplo: int i; int v [3] = {4, 7, 1}; int *ptr = v; printf("%p\n", v); printf("%p\n", ptr); printf("%p\n", &ptr); for (i = 0; i < 3; i++){ printf(“O endereço do índice %d de v é%p", i, ptr+i); printf(“ e o valor é %d\n", *(ptr+i) ); } 25 25

26 EXERCÍCIOS 26 26

27 RELAÇÃO DE VETORES E PONTEIROS
Cria um vetor com 10 posições e zerar todas a posições. Criar um algoritmo que leia um vetor de números inteiros de 5 posições. Mostre cada elemento do vetor multiplicado por 3. Faça um programa que lê 5 números e faz a média aritmética desses números. 27

28 RELAÇÃO DE VETORES E PONTEIROS
Armazenada uma seqüência de 10 números em um vetor, imprimi-la na ordem inversa à da leitura. Dados dois vetores x e y, ambos com n elementos, determinar o produto dos valores de mesmo índice nestes vetores. 28 28

29 RELAÇÃO DE VETORES E PONTEIROS
Dados dois vetores x e y, ambos com n elementos, determinar o maior e menor valor de cada vetor e depois imprimir qual o maior e o menor dentre estes quatro valores. Dado um vetor de tamanho n preenchido com números aleatórios, informar a quantidade de números pares e impares no vetor. Utilizar a função rand( ). 29 29

30 RELAÇÃO DE VETORES E PONTEIROS
Dado um vetor(array ou arranjo) A, criar um vetor B somente com os elementos pares do vetor A. Dado um número inteiro X, obter sua localização no vetor A. Se o valor de X for encontrado imprimir uma mensagem informando a posição do elemento no vetor. Caso contrário, imprimir a mesagem: ‘Número não econtrado no vetor’. 30 30

31 RELAÇÃO DE VETORES E PONTEIROS
Escreve um programa que sorteio, aleatoriamente, 10 números e armazene estes em um vetor. Em seguida, o usuário digita um número e seu programa em C deve acusar se o número digitado está no vetor ou não. Se estiver, diga a posição que está. 31 31


Carregar ppt "FUNDAMENTO DE PROGRAMAÇÃO"

Apresentações semelhantes


Anúncios Google