UNIVERSIDADE FEDERAL DE
UBERLÂNDIA
ENGENHARIA CIVIL
INTRODUÇÃO À ALGORITMOS
Professora: Fabíola Gonçalves.
AGENDA

Estrutura de dados homogênea

Vetores e Matrizes
2
A diretiva #define
 Matrizes
 Estruturas
 typedef
 Exercícios

INTRODUÇÃO


3

Algoritmos precisam de dados e informações para exercer as
suas funções.
Informações simples atendem a uma pequena parcela dos
algoritmos.
A maioria dos algoritmos utilizam uma grande carga de
informações estas quando utilizadas com tipos primitivos
precisam ser criadas com inúmeras variáveis..
 tornando o algoritmo carregado de variáveis, já que
uma variável contém apenas uma informação (exemplo:
a1, a2, a3, a4)Difícil gerenciamento
 Como prever o número de informações que serão
necessárias
VETOR EM C



Vetor é uma coleção de variáveis de mesmo tipo
que compartilham o mesmo nome (identificador).
Declaração de um vetor:
<tipo de dado> <identificador>[<tamanho>];
Exemplo: Definição de um vetor do tipo inteiro
com 5 posições e um vetor do tipo char com 32
posições:
int x[5];
 char y[32];

VETORES EM C – REFERÊNCIA AOS
ELEMENTOS DO VETOR

Cada elemento do vetor é referenciado
individualmente por meio de um número inteiro
e positivo, entre colchetes.



Este número/índice representa a posição do
elemento no vetor.
A numeração dos índices inicia em ZERO.
Exemplo:
x[0] = 1;
 y[10] = 'a';

VETORES EM C - EXEMPLO
VETORES EM C - INICIALIZAÇÃO

É possível inicializar vetores no comando de declaração.

Exemplos:
/* Cria e inicializa vetor de 10 posições */
 int a[10] = {1, 2, 3, 5, 7, 11, 13, 17, 19, 23};
/* Cria e inicializa vetor de 6 posições. O tamanho do vetor
PODE ser omitido se houver uma
inicialização no
comando de declaração */
 int b[] = {1, 2, 4, 8, 16, 32};
VETORES EM C - INICIALIZAÇÃO
/* Cria e inicializa vetor de 24 posições. Cada letra do texto
será armazenada em uma posição do vetor. */
 char c[] = {“ABCDefgh e outras letras”};
/* Cria vetor de 12 posições. O vetor e inicializado com
valores ZERO se não houver valores entre as chaves. */
 int d[12]={};
/* Cria vetor com 16 posições. Se o vetor não é inicializado,
ele irá conter valores quaisquer (lixo de memória) */
 int e[16];
A DIRETIVA #DEFINE
Utilizado para criar constantes (veja exemplo no
código do slide anterior).
 Constantes têm funcionamento semelhante a
variáveis, porém seu valor não pode ser alterado.



Sintaxe:
#define <identificador> <valor>
Exemplo:
#define errorMsg01 “Valor inválido!”
 #define PI 3.14159265

A DIRETIVA #DEFINE

Geralmente, as constantes são definidas no início
do programa (juntamente com a inclusão das
bibliotecas).
A DIRETIVA #DEFINE - EXEMPLO
MATRIZES EM C

Funcionam de modo similar a vetores.

Declaração:
<tipo de dado> <identificador> [tamanho1,tamanho2,...]
Exemplo:
 int m[3][3];
 int n[3][4][5];


double p[10][2];
/* declara uma matriz 3x3 */
/* declara uma matriz
tridimensional de tamanho 3x4x5 */
/* declara uma matriz do tipo
double de tamanho 10x2 */
MATRIZES EM C - INICIALIZAÇÃO

int a[3][3]={1,2,3,4,5,6,7,8,9};
int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};
/* Separa os dados de cada linha da matriz. Esta
maneira é preferida. */


Em ambos os exemplos acima é criada a matriz:
123
456
789
EXERCÍCIO
1.
Elabore um programa que encontre o menor e o
maior elemento de um vetor com 20 elementos.
2.
Ler um vetor Q de 20 posições (aceitar somente
números positivos ). Escrever a seguir o valor do
maior elemento de Q e a respectiva posição que ele
ocupa no vetor.
3.
Elabore um algoritmo que leia um vetor A de 30
números inteiros e imprima o maior valor.
ELABORE UM PROGRAMA QUE ENCONTRE O MENOR E O
MAIOR ELEMENTO DE UM VETOR COM 20 ELEMENTOS.
ELABORE UM PROGRAMA QUE ENCONTRE O MENOR E O
MAIOR ELEMENTO DE UM VETOR COM 20 ELEMENTOS.
Download

Vetor.Matriz