Arrays e Matrizes na Linguagem C Prof. Kariston Pereira Adaptado de Material gentilmente fornecido pelo Prof. Rui Tramontin (DCC/UDESC)

Slides:



Advertisements
Apresentações semelhantes
Pearson Education Slide 1. Pearson Education Slide 2 Cap í tulo 5 Criado por Frederick H. Colclough, Colorado Technical University Vetores.
Advertisements

Profª. Leticia Lopes Leite LAPRO A - FACIN
ICC – Matrizes Jorge Macêdo.
Introdução à Linguagem C
Programação II Funções especiais Ricardo de Sousa Britto
Linguagem C LPG-I – Variáveis Estruturadas – Vetores
AULA – Linguagem C – Vetores, Ponteiros Estruturas
UDESC - Prof. Juliano Maia
LPG – I Prof. Flavio Marcello
LPG - I: Ponteiros e Vetores/Matrizes UDESC - SBS
Universidade Federal do Espírito Santo Programação II Vetores Professora: Norminda Luiza.
PROGRAMAÇÃO ou LINGUAGEM C?
Linguagem C Strings.
Estruturas de Dados Homogêneas Unidimensionais – Vetores e Strings
Linguagem C Strings.
Estruturas de Dados Homogêneas Multidimensionais – Matrizes
Ponteiros.
Strings Definição: Não confundir caracteres com strings
Aula prática 7 Strings Monitoria de Introdução à Programação
Linguagem de Programação II Parte VII
CADEIA DE CARACTERES (Strings)
Estrutura de dados II Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Seminário 1: Revisão de C
UNIDADE 5 ESTRUTURAS DE DADOS HOMOGÊNEAS
7 Arrays.
Prof. Ricardo Santos PONTEIROS
Curso de C/C++ Aula 2 Instrutor: Luiz Felipe Sotero
Computação Eletrônica
Vetor Prof. Guilherme Baião S. Silva Adaptações:
Educação Profissional Técnica de Nível Médio Curso Técnico de Informática
Aula prática 7 Strings Monitoria de Introdução à Programação
Laboratório I Mateus Raeder. Mateus Raeder – maio de 2010 Arrays unidimensionais  Arrays unidimensionais são objetos que permitem ao programador armazenar.
Estruturas de Dados Aula 6: Cadeias de Caracteres
STRINGS Dilvan Moreira (baseado no livro Big Java e Z. Liang)
Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: _01.
1 Introdução à Linguagem C Strings Deise Saccol Adaptado de slides das Profas. Patrícia Jaques e Mônica Py.
 2000 Prentice Hall, Inc. All rights reserved. 1 Capítulo 8 - Caracteres e Strings Sumário 8.1Introdução 8.2Conceitos Fundamentais de Strings e Caracteres.
1 Introdução à Linguagem C Strings Deise Saccol Adaptado de slides das Profas. Patrícia Jaques e Mônica Py.
Aula prática 7 Strings Monitoria de Introdução à Programação.
Algoritmo e Estrutura de Dados I Aulas 12 – Linguagem C Strings Márcia Marra
Ponteiros em C Prof. Kariston Pereira
Linguaguem de Programação II
 O que são arrays:  estruturas de dados homogêneas  coleção de elementos do mesmo tipo referenciada por um nome comum  um array pode ser imaginado.
Estruturas Homogêneas – Vetores e Matrizes
Profa. Maria Augusta Constante Puget
11 Revisão da Linguagem C Prof. Kariston Pereira Adaptado de Material gentilmente fornecido pelo Prof. Rui Tramontin (DCC/UDESC)
Algoritmo e Estrutura de Dados I Aulas 14 – Linguagem C Matriz Márcia Marra
Aula prática 7 Strings Monitoria de Introdução à Programação.
Linguagem de Programação
PCI- Vetores Profa. Mercedes Gonzales Márquez. Aula 5 - VetoresAlgoritmos e Estruturas de Dados I Sequência de valores todos do mesmo tipo Nome único.
ponteiros Estrutura de Dados Prof. André Cypriano M. Costa
Aula Prática 6 Ponteiros Monitoria  Quando declaramos uma matriz:  tipo meuArray[tam];  O compilador aloca a matriz em uma região de memória.
IFRN Técnico em Informática para Internet Desenvolvimento de Algoritmos Prof. Gilbert Azevedo.
Clique para editar o título Linguagem C Para programadores Python PMR
Jean Carlo Mendes
Jean Carlo Mendes
Laboratório de Computação Aula 05 – Array Prof. Fábio Dias
Estruturas Homogêneas - Vetores
1 Aula 07 Strings Prof. Filipe Mutz. 2 Em nossos programas ainda não vimos como armazenar palavras e textos, e eles são muito importantes! Exemplos: Programas.
Fundamentos de Programação 1 Slides 7 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Funções” 1.
Computação – Informática Aula N. 05 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Matrizes em C” 1.
Aula 6 – Arrays.. Arrays Arrays em PHP são estruturas de dados mais sofisticadas e flexíveis do que em outras linguagens; Um array é uma seqüência ordenada.
Aula 5 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.
Estruturas Homogêneas - Matrizes
CLASSES EM JAVA Dilvan Moreira (baseado no livro Big Java)
Vetores de uma dimensão Nota Índice Posição identificando cada elemento Nome Comum para todos os elementos Valor Semelhante a uma variável.
Aula 5 - Métodos. Desenvolvimento de Programas A melhor forma de construir programas grandes é dividi-los em programas menores que executam tarefas específicas.
Aula Prática 7 STRINGS Monitoria  Um dos tipos de arranjos que mais ocorre em C é o arranjo de caracteres, ou string. C não suporta um tipo básico.
Fundamentos de Programação 1
Arrays de caracteres: strings
Transcrição da apresentação:

Arrays e Matrizes na Linguagem C Prof. Kariston Pereira Adaptado de Material gentilmente fornecido pelo Prof. Rui Tramontin (DCC/UDESC)

UDESC – Prof. Kariston Pereira2 Índice Seção 1 – Definições Seção 2 – Arrays Unidimensionais Seção 3 – Arrays Multidimensionais

UDESC – Prof. Kariston Pereira3 Definições Seção 1 Conceito

UDESC – Prof. Kariston Pereira4 Conceito Um array é uma coleção de elementos do mesmo tipo que é referenciada por um nome comum. Um elemento de um array é acessado por meio de um índice. Em C, todo array consistem em posições contíguas na memória.

UDESC – Prof. Kariston Pereira5 Arrays Unidimensionais Seção 2 Introdução Indexação Vetores Argumentos para Funções Parâmetros de Funções Strings Funções de Manipulação de Strings

UDESC – Prof. Kariston Pereira6 Introdução Arrays unidimensionais, mais conhecidas como VETORES, são amplamente utilizadas em programação. A declaração geral de vetores em C é: tipo_de_dado nome[tamanho]; int numeros[30]; Os colchetes determinam que a variável é um vetor, e o número entre os mesmo determina seu tamanho. Observação: Em C, todo vetor tem 0 (zero) como o índice do seu primeiro elemento.

UDESC – Prof. Kariston Pereira7 Indexação Vetores

UDESC – Prof. Kariston Pereira8 Inicialização de Vetores C permite a inicialização de vetores no momento de sua definição, da mesma forma que variáveis simples. Exemplo: int numeros[5] = {0,1,2,3,4}; char nome[8] = “EXEMPLO”; float reais[2][2] = {0,0,0,0};

UDESC – Prof. Kariston Pereira9 Inicialização de Vetores

UDESC – Prof. Kariston Pereira10 Dualidade Vetor - Ponteiro Uma variável do tipo vetor pode ser visto como um ponteiro para a primeira entrada do vetor. Consequentemente, o acesso a um elemento do vetor pode ser feito através do operador *. Dado um vetor A de tamanho N: *A ≡ A[0]; A ≡ &A[0]; A+i ≡ &A[i], com 0 ≤ i < N; *(A+i) ≡ A[i], com 0 ≤ i < N.

UDESC – Prof. Kariston Pereira11 Dualidade Vetor - Ponteiro

UDESC – Prof. Kariston Pereira12 Argumentos (parâmetros) para Funções Arrays não suportam passagem por valor; apenas passagem por referência. Na passagem do vetor para uma função utiliza-se apenas seu nome, sem índices: int vet[10];... func(vet);

UDESC – Prof. Kariston Pereira13 Parâmetros de Funções Quando uma função recebe um vetor como parâmetro formal, a mesma pode ser definida de três formas: Como ponteiro: void funcao(int *vet) { Como vetor dimensionado: void funcao(int vet[10]) { Como vetor não dimensionado: void funcao(int vet[]) {

UDESC – Prof. Kariston Pereira14 Strings Strings são conjuntos de caracteres. É o uso mais comum de vetores em C. Cria o efeito de um novo tipo de dado, destinado a armazenar palavras ou frases. Observação: Strings são terminadas por um caractere nulo (\0). Por isso, é necessário declará-las sempre com uma posição a mais do que se necessita: char palavra[31]; // armazenas palavras de até 30 caracteres.

UDESC – Prof. Kariston Pereira15 Strings Uma vez que strings são vetores de caracteres e não um tipo de dado primitivo, existem algumas restrições a operadores relacionais. char palavra[21];... palavra = “teste”; // incorreto! if(palavra == “teste”) { // incorreto! Observação: Utiliza-se aspas duplas no tratamento de strings, e não aspas simples como em char.

UDESC – Prof. Kariston Pereira16 Funções de Manipulação de Strings Para superar estas limitações, existem funções padrões para manipulação de strings, pertencentes a biblioteca string.h As mais utilizadas são: strcpy() strlen() strcmp() strcat()

UDESC – Prof. Kariston Pereira17 strcpy() / strlen() strcpy(s1,s2); Copia a string s2 em s1. Substitui o operador =, utilizado pelos outros tipos de dados. strlen(s1); Retorna o tamanho de s1.

UDESC – Prof. Kariston Pereira18 strcmp() / strcat() strcmp(s1,s2); Compara s1 e s2 retornando: 0 se s1 e s2 são iguais; Menor que 0, se s1 < s2; Maior que 0, se s1 > s2. Substitui o operador ==, utilizado pelos outros tipos de dados. strcat(s1,s2); Concatena s2 ao final de s1.

UDESC – Prof. Kariston Pereira19 Arrays Multidimensionais Seção 3 Introdução Indexação Matrizes Parâmetros para Funções Matrizes de strings Inicialização de Matrizes

UDESC – Prof. Kariston Pereira20 Introdução C suporta matrizes multidimensionais. A exemplo dos vetores, são utilizados colchetes para indicar as dimensões: int matriz[5][5] // matriz 5x5 float dados[3][3][3] // matriz 3x3x3 Não é comum a utilização de matrizes de três ou mais dimensões devido à quantidade de memória de que elas necessitam.

UDESC – Prof. Kariston Pereira21 Indexação Matrizes Bidimensionais

UDESC – Prof. Kariston Pereira22 Parâmetros de Funções Quando uma matriz multidimensional é usada como parâmetro de função, não é necessário definir sua primeira dimensão. Desta forma, ambas as definições abaixo são válidas: void func(int mat[10][10]) { void func(int mat[][10]) {

UDESC – Prof. Kariston Pereira23 Matrizes de Strings É muito comum, em programação, a utilização de vetores de strings. Em C, para se criar um vetor de strings, usa-se um array bidimensional de char. O tamanho do índice esquerdo indica o número de strings e o tamanho do índice direito o comprimento de cada string. Ex.: char nomes[10][41];

UDESC – Prof. Kariston Pereira24 Leitura de Matrizes de Strings #include #define SIZE 10 int main(){ char lista_nomes[SIZE][31]; int cont; for(cont=0; cont<SIZE; cont++) { printf("INFORME O %i NOME: ", cont+1); gets(lista_nomes[cont]); // mais comun //scanf("%s", &lista_nomes[cont]); ou scanf("%s", &lista_nomes[cont][0]); } puts(“\n** NOMES INFORMADOS **"); for(cont=0; cont<SIZE; cont++) printf("\n%s ", lista_nomes[cont]); getch(); }