Estruturas Homogêneas – Vetores e Matrizes

Slides:



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

Profª. Leticia Lopes Leite LAPRO A - FACIN
Algoritmos e Estrutura de Dados I
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
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.
Lógica de Programação Módulo II
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.
Estruturas de Dados Homogêneas Multidimensionais – Matrizes
Fundamentos de Programação 1
Ponteiros.
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 8 Ponteiros Monitoria de Introdução à Programação
1 Ponteiros Ponteiros são variáveis que guardam localizações em memória. A declaração de uma variável ponteiro x para um dado tipo type é type *x; Essa.
PROGRAMAÇÃO ESTRUTURADA II
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
Curso de C/C++ Aula 2 Instrutor: Luiz Felipe Sotero
Computação Eletrônica
Vetores Imagine que você tem que receber o nome e a nota de 50 alunos de uma escola, e depois listar o nome de cada um e a média final de cada aluno e.
Aula 10 - Armazenamento de Dados em Registros
Vetores e Matrizes Ameliara Freire
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
Estruturas de Dados Aula 6: Cadeias de Caracteres
STRINGS Dilvan Moreira (baseado no livro Big Java e Z. Liang)
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.
1 Introdução à Linguagem C Strings Deise Saccol Adaptado de slides das Profas. Patrícia Jaques e Mônica Py.
Algoritmos e Programação MC102 Prof. Paulo Miranda IC-UNICAMP Aula 15 Ponteiros.
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
Estrutura de Dados Revisão Professor Luiz José Hoffmann Filho
 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.
Linguaguem de Programação II
Profa. Maria Augusta Constante Puget
Aula Prática 6 Vetores e Matrizes Monitoria
Algoritmo e Estrutura de Dados I Aulas 15 – Linguagem C Alocação Dinâmica de Memória Márcia Marra
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)
Estruturas Homogêneas - Matrizes
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.
Algoritmos Aula 7 Estruturas Homogêneas - Strings Prof. Luiz
Linguagem de Programação 11 Estruturas de Decisão e Repetição. Prof. Luiz José Hoffmann Filho
DHD – Desenvolvimento em Hardware
Transcrição da apresentação:

Estruturas Homogêneas – Vetores e Matrizes Linguaguem de Programação II Aula 4 Estruturas Homogêneas – Vetores e Matrizes Strings Prof. Luiz José Hoffmann Filho ljhfilho@gmail.com

Vetores Vetor também é conhecido como variável composta homogênea unidimensional; Um vetor computacional é uma “variável composta” capaz de armazenar uma quantia determinada de valores; Um vetor computacional é inspirada no vetor matemático, que também é capaz de armazenar um conjunto de valores. ljhfilho@gmail.com

Vetores Um conjunto de variáveis do mesmo tipo, que possuem o mesmo identificador(nome) e são alocados seqüencialmente na memória; Como as variáveis tem o mesmo nome, o que as distingue é um índice que referencia sua localização dentro da estrutura. ljhfilho@gmail.com

Vetores Exemplo de vetor: 8 37 109 45 2 78 0 1 2 3 4 5 6 0 1 2 3 4 5 6 0 1 2 3 4 5 6 0 1 2 3 4 5 6 8 37 109 45 2 78 ljhfilho@gmail.com

Vetores Declaração de um vetor: <tipo> <nome da variável> [<Tamanho>] ; Onde : <Tamanho> - representa o tamanho total do vetor; < tipo > - representa qualquer um dos tipos básicos ou tipo anteriormente definido. ljhfilho@gmail.com

Vetores Exemplo de declaração: int vetor [15]; float valores[10]; Inicialização de vetores: int vet[10] = {1,2,3,4,5,6,7,8,9,10}; ljhfilho@gmail.com

Vetores Atribuindo valores ao vetor: - As atribuições em vetor exigem que seja informada em qual de suas posições o valor ficará armazenado. vetor[0] = 56; vetor[5] =100; valor[1] = 8.9; valor[4] = 0.5; valor[3] = 4.6; nomes = 'a'; nomes = “Jose Silva”; nomes = '*'; ljhfilho@gmail.com

Vetores Preenchendo um vetor: - Preencher um vetor significa atribuir valores a todas as suas posições. - Deve-se implementar um mecanismo que controle o valor do índice. #include <stdio.h> int main() { int vetor[5]; int i; for(i=0; i<5; i++) { printf("Digite um valor"); scanf("%d", &vetor[i]); } return 0; ljhfilho@gmail.com

Vetores Mostrar um elemento de um vetor, também é necessário utilizar índices: #include <stdio.h> int main() { int vetor[5]; int i; for(i=0; i<5; i++) { printf("vetor[%d] %d\n",i,vetor[i]); } return 0; ljhfilho@gmail.com

Trabalhando com vetores Podemos usar os vetores como usamos qualquer outra variável para somar, subtrair e etc. #include <stdio.h> int main() { int vetor[5]; int i, soma; for(i=0; i<5; i++) { soma = soma + vetor[i]; } soma = vetor[1] + vetor[1] + vetor[2] + vetor[3] + vetor[4]; return 0; ljhfilho@gmail.com

Matrizes Matriz também é conhecido como variável composta homogênea multidimensional; Uma matriz computacional é uma “variável composta” capaz de armazenar uma quantia determinada de valores; Uma matriz computacional é inspirada na matriz matemático, que também é capaz de armazenar um conjunto de valores. ljhfilho@gmail.com

Matrizes Um conjunto de variáveis do mesmo tipo, que possuem o mesmo identificador(nome) e são alocados seqüencialmente na memória; Como as variáveis tem o mesmo nome, o que as distingue é um índice que referencia sua localização dentro da estrutura. Uma variável do tipo matriz precisa de um índice para cada uma de suas dimensões. ljhfilho@gmail.com

Matrizes Exemplo de Matriz: 1 2 0 1 2 3 4 5 6 ljhfilho@gmail.com

Matrizes Declaração de uma matriz: <tipo> <nome variável> [<linhas>][<colunas> ] ; Onde : <linhas> : Quantidade de linhas; <colunas> : Quantidade de colunas; <nome variável>: Nome que você dará a sua matriz- identificação; <tipo>: tipo da matriz. ljhfilho@gmail.com

Matrizes Exemplo de declaração: int numero[4][4]; float valores[10][10]; Inicialização: Int sqrs [4][2]= {1,1, 2,4, 3,9, 4,16} ljhfilho@gmail.com

Matrizes Atribuindo valores a matriz: - As atribuições em matrizes exigem que seja informada a linha e a coluna para saber onde o valor ficará armazenado. numero[0][1] = 56; Numero[3][4] = 100; valores[1][2] = 8.9; valores[1][3] = 0.5; nomes[0][1] = 'a'; nomes[1][3] = “Jose Silva”; nomes[2][7] = '*'; ljhfilho@gmail.com

Matrizes Preenchendo uma matriz: - Preencher uma matriz significa atribuir valores a todas as suas posições. - Deve-se implementar um mecanismo que controle o valor do índice. #include <stdio.h> int main () { int mtrx [20][10]; int i,j,count; count=1; for (i=0;i<20;i++) { for (j=0;j<10;j++) { mtrx[i][j]=count; count++; } return(0); ljhfilho@gmail.com

Matrizes Mostrando um elemento de uma matriz, também é necessário utilizar índices: #include <stdio.h> int main () { int mtrx [20][10]; int i,j; for (i=0;i<20;i++) { for (j=0;j<10;j++) { printf(“mtrx[%d][%d] = %d \n”, i,j,mtrx[i][j]); } return(0); ljhfilho@gmail.com

Trabalhando com matrizes Podemos usar as matrizes como usamos qualquer outra variável para somar, subtrair e etc. #include <stdio.h> int main () { int mtrx [20][10]; int i,j,count; count=0; for (i=0;i<20;i++) { for (j=0;j<10;j++) { count = count + mtrx[i][j]; } printf(“Count %d\n”, count); return(0); ljhfilho@gmail.com

Matriz de strings #include <stdio.h> int main () { char strings [5][100]; int count; for (count=0;count<5;count++) { printf ("\n\nDigite uma string: "); gets (strings[count]); } printf ("\n\n\nAs strings que voce digitou foram:\n\n"); printf ("%s\n",strings[count]); return(0);

Strings – #include <string.h> O uso mais comum de vetores unidimendsionais é como string de caracteres. Em C, uma string é definida como um vetor de caracteres que é terminado por um nulo “\0”. Por essa razão, é necessário declarar vetores com sendo um caractere mais longo que a maior string que elas devem guarda.

Strings Por exemplo, para declarar um vetor str que guarda uma string de 10 caracteres, char str[11]; Isso reserva espaço para o nulo no final da string. Em C se faz necessário o uso de algumas funções de manipulação de strings. Inicialização: char str[14] = “Eu gosto de C”;

String - strcpy strcpy (string_destino, string_origem); A função strcpy() copia a string-origem para a string- destino. Seu funcionamento é semelhante ao da rotina apresentada na seção anterior. As funções apresentadas nestas seções estão no arquivo cabeçalho string.h. A seguir apresentamos um exemplo de uso da função strcpy(): #include <stdio.h> #include <string.h> int main () { char str1[100],str2[100],str3[100]; printf ("Entre com uma string: "); gets (str1); strcpy (str2,str1); /* Copia str1 em str2 */ strcpy (str3,"Voce digitou a string "); printf ("\n\n%s%s",str3,str2); return(0); }

String - strcat strcat (string_destino,string_origem); A string de origem permanecerá inalterada e será anexada ao fim da string de destino. Um exemplo: #include <stdio.h> #include <string.h> int main () { char str1[100],str2[100]; printf ("Entre com uma string: "); gets (str1); strcpy (str2,"Voce digitou a string "); strcat (str2,str1); /* str2 armazenara' Voce digitou a string + o conteudo de str1 */ printf ("\n\n%s",str2); return 0; }

String - strlen strlen (string); A função strlen() retorna o comprimento da string fornecida. O terminador nulo não é contado. Isto quer dizer que, de fato, o comprimento do vetor da string deve ser um a mais que o inteiro retornado por strlen(). Um exemplo do seu uso: #include <stdio.h> #include <string.h> int main () { int size; char str[100]; printf ("Entre com uma string: "); gets (str); size=strlen (str); printf ("\n\nA string que voce digitou tem tamanho %d",size); return(0); }

String - strcmp strcmp (string1,string2); A função strcmp() compara a string 1 com a string 2. Se as duas forem idênticas a função retorna zero. Se elas forem diferentes a função retorna não-zero. Um exemplo da sua utilização: #include <stdio.h> #include <string.h> int main () { char str1[100],str2[100]; printf ("Entre com uma string: "); gets (str1); printf ("\n\nEntre com outra string: "); gets (str2); if (strcmp(str1,str2)) printf ("\n\nAs duas strings são diferentes."); else printf ("\n\nAs duas strings são iguais."); return 0; }

String - strcat A função strcat() tem a seguinte forma geral: strcat (string_destino,string_origem); A string de origem permanecerá inalterada e será anexada ao fim da string de destino. Um exemplo: #include <stdio.h> #include <string.h> int main () { char str1[100],str2[100]; printf ("Entre com uma string: "); gets (str1); strcpy (str2,"Voce digitou a string "); strcat (str2,str1); /* str2 armazenara' Voce digitou a string + o conteudo de str1 */ printf ("\n\n%s",str2); return 0; }

String – strchr e strstr A função strchr(s1, ch), retorna um ponteiro para a primeira ocorrência de ch, s1. A função strstr(s1, s2), retorna um ponteiro para a primeira ocorrência de s2 em s1.

Matrizes de string. Em uma matriz de string, teremos as linhas que seram a quantidade de string armazenada e as colunas que seram o tamanho das string que devem ser armazenadas. Exemplo : char str_array[30][80]. Para acessar basta especificar o número da linha Exemplo: gets(str_array[2]);

Exercícios - Vetores Faça um programa para ler 15 idades diferentes e guarde em um vetor. Depois calcular e mostrar a média das idades. Faça um programa para ler 10 números e guardar em um vetor. Depois calcular e mostrar qual número é par e qual seu índice no vetor. Faça um programa que preencha dois vetores de dez elementos inteiros cada e mostre um terceiro vetor resultante da intercalação deles.

Exercícios - Matrizes Faça um programa que preencha uma matriz 10x10 com números inteiros e depois multiplique cada elemento da matriz por 2 e guarde em uma nova matriz e depois mostre o resultado. Faça um programa para ler 4 notas de 3 alunos e guarde os valores em uma matriz. Depois calcular e mostrar a média das notas de cada aluno. ljhfilho@gmail.com

Exercícios - Strings Faça um programa que lê uma string de 5 caracteres e o escreve invertido. Faça um programa que lê uma string de 4 caracteres e inverte a primeira letra da string com a última. O programa deve escrever a string original e a alterada. Faça uma programa que lê o nome é o sobrenome de uma pessoa separadamente. O programa deve juntar as duas strings em uma só e escrever na tela: a nova string, o seu númeor de caracteres, a sua primeira e a última letra. Faça uma função que receba 2 strings (A e B) e retorne uma terceira string (C) formada pelos caracteres de A e B intercalados. Ex.: Se A='Quarta' e B='Segunda', a resposta deve ser 'QSueagrutnada'. Faça um programa que leia 4 palavras pelo teclado, e armazene cada palavra em uma string. Depois, concatene todas as strings lidas numa única string. Por fim apresente esta como resultado ao final do programa.