Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Introdução à Programação em C: Vetores e Matrizes, Notas de aula de Biotecnologia

Aula da universidade federal do tocantins sobre a introdução à programação em c, com ênfase em vetores e matrizes. Explicações sobre a declaração, acesso e atribuição de valores a vetores e matrizes, além de exercícios de fixação.

Tipologia: Notas de aula

2013

Compartilhado em 19/09/2013

luiz-bertucci-1
luiz-bertucci-1 🇧🇷

5

(1)

16 documentos

1 / 21

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
INFORMÁTICA APLICADA
Universidade Federal do Tocantins
Prof. Dr. Luiz Bertucci
Gurupi
2013
Aulas 9 e 10 – Introdução a Linguagem C: Vetores e Matrizes
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15

Pré-visualização parcial do texto

Baixe Introdução à Programação em C: Vetores e Matrizes e outras Notas de aula em PDF para Biotecnologia, somente na Docsity!

INFORMÁTICA APLICADA

Universidade Federal do Tocantins

Prof. Dr. Luiz Bertucci

([email protected])

Gurupi

2013

Aulas 9 e 10 – Introdução a Linguagem C: Vetores e Matrizes

Vetores

um vetor (ou array ) corresponde a um conjunto de elementos

consecutivos, todos do mesmo tipo , que podem ser acessados

individualmente a partir de um único nome ;

a vantagem de se usar vetores é que evita-se declarar uma variável

para cada valor armazenado.

Vetores: declarando um vetor

o processo de declaração de um vetor é similar a declaração de

uma variável comum;

tomando ainda como base o exemplo do slide anterior, para

declararmos um vetor de nome “pagamentos” de modo que ele

possa receber 5 valores inteiros, como mostrado na figura, teremos

que fazer o seguinte:

int pagamentos[5];

Tipo dos dados do vetor

(int, float, double, char)

Número máximo de

registros que o vetor

pode armazenar

Nome do vetor

Vetores: acessando e atribuindo valores

cada posição de um vetor pode ser acessada pelo respectivo

índice ;

em linguagem C, os índices de um vetor sempre iniciam em 0.

Desta forma, os índices de um vetor com N elementos variam

sempre de 0 a (N-1).

int v[6];

Exercício de fixação 1

Escrever um programa que armazene dez números inteiros em um

vetor denominado a e multiplique todos os elementos desse vetor

por três, armazenando o resultado em um vetor denominado b.

Imprima os vetores a e b após a operação. (Exercício 16 da lista)

Exercício de fixação 1: possível resolução

#include <stdio.h>

#include <conio.h>

main(){

int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

int b[10];

/* atribuindo valores para o vetor b (cada posição do vetor a multiplicado por 3) */

for(int i = 0; i < 10; i++){

b[i] = a[i]*3;

}

printf("\n\n");

/* imprimindo vetor a */

for(int i = 0; i < 10; i++){

printf(" %i ", a[i]);

}

printf("\n\n");

/* imprimindo vetor b */

for(int i = 0; i < 10; i++){

printf(" %i ", b[i]);

}

getch();

}

Exercício de fixação 2

Escrever um programa que leia a altura de 10 indivíduos em um

vetor ( altura ). Em seguida, determine a maior destas alturas e

imprima a posição onde ela foi encontrada. Suponha a

impossibilidade de empate na entrada de dados. (Exercício 18 da

lista)

Exercício de fixação 2: possível resolução

#include <stdio.h>

#include <conio.h>

main(){

float altura[10];

/* obtendo os valores e alocando sequencialmente nas posções do vetor */

for(int i = 0; i < 10; i++){

printf("Digite o valor de sua altura: ");

scanf("%f" , &altura[i]);

}

printf("\n\n");

/* obtendo a maior altura */

float maior = altura[0]; // iniciando a variável maior com o primeiro valor do vetor altura

int indice; // armazena a posição do vetor com a maior altura

for(int i = 0; i < 10; i++){

if(maior < altura[i]){

maior = altura[i];

indice = i;

}

}

printf("\n\n");

// imprimindo o resultado

printf("A maior altura digitada foi %0.2f. Este valor foi a %i altura digitada e esta alocada na posicao de indice %i no

vetor altura", maior, indice+1, indice);

getch();

}

Matrizes

uma matriz nada mais é que um vetor de duas dimensões ;

o processo de declaração de uma matriz é similar a declaração de

um vetor de uma dimensão;

por exemplo, a declaração de uma matriz de três linhas por 3

colunas, seria:

int minha_matriz[3][3];

Tipo dos dados da matriz

(int, float, double, char)

linhas

Nome da matriz

colunas

Matrizes

assim como nos vetores, cada posição da matriz pode ser acessada

pelos respectivos índices ;

relembrando: em linguagem C, os índices de um vetor sempre

iniciam em 0.

int M[3][3];

Exercício de fixação 3

Escrever um programa que leia duas matrizes ( a e b ) de 2 linhas x

2 colunas com números inteiros; em seguida, some as posições

relativas dessas duas matrizes, armazenando o resultado em uma

terceira matriz ( soma ). (Exercício 19 da lista)

Exercício de fixação 3: possível resolução

#include <stdio.h>

#include <conio.h>

main(){

int a[2][2];

int b[2][2];

int soma[2][2];

/* obtendo os valores e alocando sequencialmente nas posições da matriz a */

for(int i = 0; i < 2; i++){

for(int j = 0; j < 2; j++){

printf("Digite um valor para a matriz a: ");

scanf("%i" , &a[i][j]);

}

}

printf("\n\n");

/* obtendo os valores e alocando sequencialmente nas posições da matriz b */

for(int i = 0; i < 2; i++){

for(int j = 0; j < 2; j++){

printf("Digite um valor para a matriz b: ");

scanf("%i" , &b[i][j]);

}

}

printf("\n\n");

/* obtendo o vetor soma a partir das matrizes a e b */

for(int i = 0; i < 2; i++){

for(int j = 0; j < 2; j++){

soma[i][j] = a[i][j] + b[i][j];

}

}

printf("\n\n");

// imprimindo a matriz soma

for(int i = 0; i < 2; i++){

for(int j = 0; j < 2; j++){

printf(" soma[%i][%i] = %i \n", i,j,soma[i][j]);

}

}

printf("\n\n");

getch();

}

Exercício de fixação 4

Escrever um programa que leia uma matriz ( a ) de 4 linhas x 4

colunas com números inteiros; em seguida, multiplique os

elementos da diagonal principal por uma constante k (também

lida) e imprima a matriz resultante. (Exercício 20 da lista)

Exercício de fixação 4: possível resolução

#include <stdio.h>

#include <conio.h>

main(){

int matriz[4][4];

int k;

/* obtendo os valores e alocando sequencialmente nas posições da matriz */

for(int i = 0; i < 4; i++){

for(int j = 0; j < 4; j++){

printf("Digite um valor inteiro para a matriz: ");

scanf("%i" , &matriz[i][j]);

}

}

printf("\n\n");

/* lendo a constante k */

printf("Digite um valor para constante k: ");

scanf("%i" , &k);

printf("\n\n");

/* multiplicando os valores da diagonal principal pelo valor da constante k */

for(int i = 0; i < 4; i++){

for(int j = 0; j < 4; j++){

if(i == j){

matriz[i][j] = matriz[i][j]*k;

}

}

}

printf("\n\n");

// imprimindo a matriz

for(int i = 0; i < 4; i++){

for(int j = 0; j < 4; j++){

printf(" matriz[%i][%i] = %i \n", i,j,matriz[i][j]);

}

}

getch();

}