ICC – Matrizes Jorge Macêdo.

Slides:



Advertisements
Apresentações semelhantes
Um programa em C Bibliotecas Variáveis globais
Advertisements

Profª. Leticia Lopes Leite LAPRO A - FACIN
Introdução à Computação - Jorge Macêdo
Prof. Luis Otavio Alvares
Adaptado de material da profa. Maria Aparecida Livi
Introdução à Linguagem C
Programação II Funções especiais Ricardo de Sousa Britto
Linguagem C LPG-I – Variáveis Estruturadas – Vetores
UDESC - Prof. Juliano Maia
LPG – I Prof. Flavio Marcello
LPG - I: Ponteiros e Vetores/Matrizes UDESC - SBS
Estruturas de Dados II Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Universidade Federal do Espírito Santo Programação II Vetores Professora: Norminda Luiza.
Linguagem C Strings.
Estruturas de Dados Homogêneas Unidimensionais – Vetores e Strings
Slides Prof. Jean SIMÃO Revisão: Prof. João FABRO
Linguagem C Strings.
Armazenamento de Dados em Arquivos
Estruturas de Dados Homogêneas Multidimensionais – Matrizes
Matrizes e Funções - Continuação
Fundamentos de Programação 1
Ponteiros.
1MF. Vectores Tipo de dado usado para representar um CONJUNTO de dados do um mesmo tipo Estrutura de dados homogénea unidimensional Ex: Ler a nota de 3.
Matrizes. 2MF. Matrizes e vectores Multi-dimensionais Não há limite para o número de dimensões de um vector São uma estrutura de dados homogênea multidimensional.
Escola Secundária c/ 3º CEB da Batalha
Revisão da Linguagem C.
Strings Definição: Não confundir caracteres com strings
O Portal do Estudante de Computação
O Portal do Estudante de Computação
Aula prática 9 Alocação Dinâmica Monitoria de Introdução à Programação
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.
UNIDADE 5 ESTRUTURAS DE DADOS HOMOGÊNEAS
Prof. Ricardo Santos PONTEIROS
Curso de C/C++ Aula 2 Instrutor: Luiz Felipe Sotero
Computação Eletrônica
Vetores e Matrizes Ameliara Freire
Vetor Prof. Guilherme Baião S. Silva Adaptações:
Técnicas de Programação I Prof:. Msc. Arimatéia Junior Fortaleza-2011.
Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
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
Estruturas de Dados Aula 6: Cadeias de Caracteres
STRINGS Dilvan Moreira (baseado no livro Big Java e Z. Liang)
Estruturas de Dados Aulas 3 e 4: Uso da memória e Vetores
Linguagem C - Funções Automação Industrial Informática Básica
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.
Programação Computacional Aula 8: Entrada e Saída pelo Console Prof a. Madeleine Medrano
Algoritmo e Estrutura de Dados I Aulas 12 – Linguagem C Strings Márcia Marra
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
Algoritmo e Estrutura de Dados I Aulas 14 – Linguagem C Matriz Márcia Marra
Linguagem de Programação
Arrays e Matrizes na Linguagem C Prof. Kariston Pereira Adaptado de Material gentilmente fornecido pelo Prof. Rui Tramontin (DCC/UDESC)
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.
Computação – Informática Aula N. 05 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Matrizes em C”
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.
Estrutura de Dados STRUCTS Dilvan Moreira. Objetivos  Entender o que são e como usar:  Estrutura de Dados para a Linguagem C  Structs (Registros)
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.
FUNÇÕES Dilvan Moreira (baseado em material de Z. Liang)
Aula 5 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.
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.
Transcrição da apresentação:

ICC – Matrizes Jorge Macêdo

Matrizes Tipo de dado que representa variáveis pelo mesmo nome. Sintaxe: tipo nome[tamanho]; Variáveis são alocadas seqüencialmente na memória. Endereço mais baixo corresponde ao primeiro elemento (índice 0). C não possui o tipo string, deve-se utilizar uma matriz de char. ICC 2008-1 - Jorge Macêdo

Dimensões da Matriz Unidimensional Bidimensional Tamanho representa o número de elementos; O índice da matriz varia de 0 a [tamanho-1]; tipo nome[tamanho]; Bidimensional As duas dimensões são respectivamente as linhas e colunas da matriz; tipo nome[tamanho1][tamanho2]; ICC 2008-1 - Jorge Macêdo

Exemplo main(){ int nota[5], i, soma; for(i = 0; i < 5; i++){ printf(“Digite a nota %d:\n”,i); scanf(“%d\n”, &nota[i]); } for(i = 0; i < 5; i++) soma += nota[i]; printf(“Media = %d\n”, soma/5); ICC 2008-1 - Jorge Macêdo

Verificação de Limites A linguagem C não faz verificação de automática de limites das matrizes Erro comum de programação. Deve ser realizado dentro do programa. ICC 2008-1 - Jorge Macêdo

Exemplo main(){ int nota[5], i, soma; for(i = 0; i < 10; i++){ Tamanho da matriz é cinco, neste for, a contagem vai até dez. Logo, o limite da matriz foi ultrapassado. main(){ int nota[5], i, soma; for(i = 0; i < 10; i++){ printf(“Digite a nota %d:\n”,i); scanf(“%d\n”, &nota[i]); } for(i = 0; i < 5; i++) soma += nota[i]; printf(“Media = %d\n”, soma/5); ICC 2008-1 - Jorge Macêdo

Matrizes Estáticas Valores atribuídos à matriz podem ser inicializados no momento da declaração da mesma (variáveis estáticas) main(){ static int nota[5] = {8,9,4,5,7}, i; for(i = 0; i < 5; i++) printf(“Nota %d: %d\n”, i, nota[i]); } ICC 2008-1 - Jorge Macêdo

Matrizes Multidimensionais C permite matrizes com mais de duas dimensões Sitnaxe tipo nome [tamanho1][tamanho2]...[tamanhoN]; Matrizes com três ou mais dimensões são pouco utilizadas. Ocupam muita memória Demora no cálculo do índice ICC 2008-1 - Jorge Macêdo

Matrizes de char (strings) Em C uma string é um vetor de char com ‘\0’ no final É preciso declarar um vetor de caracteres com um caractere a mais que maior tamanho da string. As funções de manipulação de string armazenam e manipulam automaticamente com o ‘\0’ Uma constante string fica entre aspas duplas-“ ” Ex: printf(“%s”, “Teste”); Strings também podem ser armazenadas estaticamente. ICC 2008-1 - Jorge Macêdo

Exemplo main(){ static char st[] = “testando”; int i; for(i = 0; st[i]; i++) putchar(st[i]); putchar(‘\n’); } ICC 2008-1 - Jorge Macêdo

Funções de manipulação de string Leitura – gets() gets(nome_da_string); Escrita – puts() puts(nome_da_string); Cópia – strcpy() strcpy(str_de_destino, str_de_origem); Concatenação – strcat() strcat(str_de_destino, str_de_origem); Comparação – strcmp() strcmp(string1, string2); Retorna 0 se as strings forem iguais. Tamanho – strlen() strlen(nome_da_string); ICC 2008-1 - Jorge Macêdo

Exemplo – gets() main(){ char str[100]; printf(“Digite seu nome: ”); gets(str); printf(“\n\nOla, %s.”, str); } ICC 2008-1 - Jorge Macêdo

Exemplo – strcpy() #include <stdio.h> #include <string.h> main(){ char s1[20], s2[20], s3[20]; printf(“Entre com uma string: ”); gets(s1); strcpy(s2, s1); // copia s1 em s2 // Copia: “Voce digitou a string.” em s3 strcpy(s3, “Voce digitou a string.”); printf(“%s %s”, s3, s2); } ICC 2008-1 - Jorge Macêdo

Exemplo strcat() #include <stdio.h> #include <string.h> main(){ char s1[20], s2[20]; printf(“Entre com uma string: ”); gets(s1); strcpy(s2, “Você digitou a string ”); // s2 armazena “Você digitou a string // ” + o conteúdo de s1 em s2 strcat(s2, s1); printf(“%s”, s2); } ICC 2008-1 - Jorge Macêdo

Exemplo strlen() #include <stdio.h> #include <string.h> main(){ char str[20]; int tamanho; printf(“Entre com uma string: ”); gets(str); tamanho = strlen(str); printf(“Tamanho: %d”, tamanho); } ICC 2008-1 - Jorge Macêdo

Exemplo strcmp() #include <stdio.h> #include <string.h> main(){ char s1[20], s2[20]; printf(“Entre com uma string: ”); gets(s1); printf(“Entre com uma outra string: ”); gets(s2); if (strcmp(s1, s2)) printf(“\n\n As strings são difetentes”); else printf(“\n\n As strings são iguais”); } ICC 2008-1 - Jorge Macêdo

Matrizes de strings Pode surgir a necessidade de matriz multidimensional de caracteres. Bidimensionais são mais comuns. O tamanho do índice esquerdo indica o número de strings e O tamanho do índice direito determina o comprimento máximo de cada string. Para especificar uma string individual basta especificar o índice esquerdo. ICC 2008-1 - Jorge Macêdo

Matriz de Strings char pessoas[5][10]; 1 2 3 4 5 6 7 8 9 ‘J’ ‘o’ ‘a’ 1 2 3 4 5 6 7 8 9 ‘J’ ‘o’ ‘a’ ‘\0’ ‘M’ ‘r’ ‘i’ ‘ ’ ‘s’ ‘R’ ‘y’ ‘T’ ‘u’ ‘d’ ‘L’ ‘l’ ICC 2008-1 - Jorge Macêdo

Exemplo Matrizes de strings #include <stdio.h> main(){ char strings[5] [20]; int cont; for(cont = 0; cont < 5; i++){ printf(“Digite a string %d: ”,(cont+1)); gets(strings[i]); } printf(“As strings digitadas foram:\n”); for(cont = 0; cont < 5; i++) printf(“%d: %s\n”, (cont+1), strings[i]); ICC 2008-1 - Jorge Macêdo

Inicialização de Matrizes de Caracteres Inicialização de matrizes de caracteres pode ser das seguintes formas: char nome [tamanho1][tamanho2]...[tamanhoN] = “string”; Ex: char str[14] = “Eu gosto de C”; char nome [tamanho1][tamanho2]...[tamanhoNn] = {‘s’,‘t’,‘r’,‘i’,‘n’,‘g’,‘\0’}; Ex: char str[14] = {‘E’,‘u’,‘ ’,‘g’,‘o’ ,‘s’,‘t’,‘o’,‘ ’,‘d’,‘e’,‘ ’,‘C’,‘\0’}; ICC 2008-1 - Jorge Macêdo

Operador sizeof() Este operador retorna o tamanho da variável ou tipo que está em seu operando. Por exemplo “sizeof(char)” resultaria em 1 (byte). main(){ int num, tam; tam = sizeof(num); printf(“Ocupa %d bytes.”, tam); } ICC 2008-1 - Jorge Macêdo