FUNDAMENTO DE PROGRAMAÇÃO

Slides:



Advertisements
Apresentações semelhantes
Jean Carlo Mendes
Advertisements

CLASSES EM JAVA Dilvan Moreira (baseado no livro Big Java)
Linguagem de Programação – Aula 03 Prof. Me. Ronnison Reges Vidal.
Princípios de Desenvolvimento de Algoritmos MAC122 Prof. Dr. Paulo Miranda IME-USP Variáveis e Atribuições.
Algoritmos e Estruturas de Dados I
1) Defina sequências numéricas.
Introdução à Computação para Engenharia MAC2166
Tópicos Preliminares Algorítmos I.
Algoritmo e Lógica Programação Vetores e Matrizes
Medições – parte I: Precisão.
Algoritmos e Estruturas de Dados I
Ordenação dos Elementos de um Vetor - Bubble Sort e Quick Sort .
Programação em C Aula 8.
ESTATÍSTICA . SÍNTESE DO 10.º ANO . RELAÇÕES BIDIMENSIONAIS (11.º ANO)
Fundamentos de Programação 1
Tópicos Preliminares (Tipos, Constante e Variável)
Profa. Mercedes Gonzales Márquez
Comandos da Linguagem C
Estruturas de Repetição
Linguagem C Para programadores Python
Algoritmos e Estruturas de Dados I
Algoritmos e Estruturas de Dados I
Prof. Wellington Franco
FUNDAMENTO DE PROGRAMAÇÃO PROF. BRUNO DE CASTRO H. SILVA
Introdução à Programação BCC 201 Aula
FUNDAMENTO DE PROGRAMAÇÃO
FUNDAMENTO DE PROGRAMAÇÃO PROF. BRUNO DE CASTRO H. SILVA
DESENVOLVIMENTO DE PROGRAMAS
Prof. Wellington Franco Manipulação de Arquivos em C
Propriedades das Proporções
Prof. Wellington Franco
Estruturas de Dados Vetores.
Arquitetura de Computadores
LIMITE DE UMA FUNÇÃO Aula 01 – Matemática I – Engenharia de Aquicultura Prof. Danilene Donin Berticelli.
UNIDADE 7 Tipos estruturados
aritmética de ponteiros
INE 5201 – INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO
CES-11 ALGORITMOS E ESTRUTURAS DE DADOS
Algoritmos e Programação MC102
Algoritmos Prof.: Carlos Alberto _1:
Movimento Retilíneo Uniforme Movimento Retilíneo Variado Vetores
Organização básica de arquivos
O que você deve saber sobre
Relembrando... Variáveis : endereçam uma posição de memória que contem um determinado valor dependendo do seu tipo (char, int, float, double, ...) void.
Complexidade de Algoritmos
Profa. Maria Augusta Constante Puget
LÓGICA DE PROGRAMAÇÃO Estruturas de Decisão
Vetores: Exercícios Resolvidos
Linguagem de Programação II
Linguagem PASCAL Tipos Estruturados
Vetores – Exercícios de Fixação
EDA - Prof. Paulemir Campos
Fundamentos de Programação 1
MEMORIAS RAUL DIAZ ROSAS.
Computação Eletrônica Vetores e Matrizes
Computação Eletrônica Funções e Escopo de Variáveis
Filas.
Arrays de caracteres: strings
ALGORITMOS.
Linguagem de Programação Aplicações Avançadas de Microprocessadores
Linguagem C Linguagem Imperativa
O que você deve saber sobre
Prof. Rafael Mesquita Listas Encadeadas Prof. Rafael Mesquita
Matrizes.
Vetores.
Ponteiros.
Constantes, Variáveis e Memória
RESULUÇÃO DOS EXERCÍCIOS E
MATEMÁTICA.
Transcrição da apresentação:

FUNDAMENTO DE PROGRAMAÇÃO LINGUAGEM C – VETORES

Relação de Vetores e Ponteiros Ponteiros para Vetores Exercícios SUMÁRIO Conceito de Vetores Declaração de Vetores Relação de Vetores e Ponteiros Ponteiros para Vetores Exercícios

Conceito de Vetores

Conceito de 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 a definição de vetores.

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.

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);

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);

Conceito de Vetores

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]); }

DECLARAÇÃO DE VETORES

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.

<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.

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.

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:

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.

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

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.

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};

RELAÇÃO DE VETORES E PONTEIROS

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.

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.

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).

Ponteiros para Vetores

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.

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) ); }

Exercícios

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.

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.

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( ).

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’.

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á.