You are on page 1of 26

Vetores de uma dimenso

Prof. Nina Custdio

Ex:

Ler as notas de 30 alunos. Calcular e informar a mdia da turma.

Program MediaTurma; var Nota : real; { nota de um aluno } Media, Soma: real; Aluno: integer; { varivel de ontrole da re!eti"#o } $egin Soma :% &; { ini iali'a a soma das notas } for Aluno :% ( to )& do { !ara ada aluno da turma } $egin readln*Nota+; { o$t,m a nota do aluno } Soma :% Soma - Nota end; Media :% Soma . )&; /riteln*0Media da turma: 1, Media:2:(+; end.

Ex:

Ler as notas de 30 alunos. Calcular e informar a mdia da turma. Informar, ainda, as notas que so superiores mdia calculada.
Program MediaTurma; var Nota : real; { nota de um aluno } Media, Soma: real; Aluno: integer; { varivel de ontrole da re!eti"#o } $egin Soma :% &; { ini iali'a a soma das notas } for Aluno :% ( to )& do { !ara ada aluno da turma } $egin readln*Nota+; { o$t,m a nota do aluno } Soma :% Soma - Nota end; Media :% Soma . )&; /riteln*0Media da turma: 1, Media:2:(+; end.

Ex:

Ler as notas de 30 alunos. Calcular e informar a mdia da turma. Informar, ainda, as notas que so superiores mdia calculada.
Program MediaNotasSu!3(; var N(, N4, N), N5, N2, N6, {... N)& : real; { uma varivel !ara } Media, Soma: real; { ada nota dos alunos 7 } Aluno: integer; { varivel de ontrole da re!eti"#o } $egin readln*N(, N4, N), N5, N2, N6, ... , N)&+; { o$t,m as )& notas } Soma :% N(-N4-N)-N5-N2-N6- ... -N)&; Media :% Soma . )&; /riteln*0Media da turma: 1, Media:2:(+; if N( 8 Media { testa ada nota 777 } t9en /riteln*N(+; if N4 8 Media t9en /riteln*N4+; ... end.

a !nica solu"o ?

:amos :amos !re !re isar isar de de )& )& variveis variveis !ara !ara arma'enar arma'enar os os valores valores lidos7777 lidos7777 ;ssas ;ssas )& )& variveis variveis s#o s#o do do mesmo mesmo ti!o. ti!o. Como Como sim!lifi sim!lifi ar ar isso, isso, !ara !ara n#o n#o !re !re isar isar de de larar larar )& )& variveis variveis diferentes< diferentes<

'olu"o para o pro+lema de m!ltiplas )ari*)eis de mesmo tipo: um )etor #ndice

$osi"o identificando cada elemento ( 4 ) 5 2 6 = > ?

Nota %ome &alor

Comum para todos os elementos

'emel(ante a uma )ari*)el simples

Vetores: variveis compostas homogneas


Um s tipo! Um s nome! "#ltiplas posi$%es de mem ria identificadas por &ndices.

&etor de uma dimenso

con,unto ordenado de informa"-es de mesma nature.a elementos todos do mesmo tipo acesso aleat/rio
( 4 ) 0,1 Nota @)A vale >,2 5 2 6 = > ?

Nota

&etor 2 $ascal
3eclara"o
Ti!o 0arraB1
arraB @ C limite inferior 8 .. C limite su!erior 8 A of C ti!o 8 limites de)em ser inteiros ou carateres tipo: qualquer tipo $ascal

Ex:

var Nota : arraB @( .. )&A of real; D : arraB @(& .. (2A of string; E : arraB @F2 .. )A of integer;

&etor 2 $ascal
4tili.a"o
&ari*)el indexada
( 4 ) 5 2 6 = > ?

C nome do arranGo 8 @ C Hndi e 8 A


Nota

Ex:

var Nota : arraB @( .. ?A of real; $egin readln* Nota @ 2 A +; Nota @ ( A :% =.2 ; Nota @ 4 A :% Nota @ ( A - 4 ; if Nota @ ( A 8 6.& t9en /riteln *0A!rovado1+; ...

Nota @ 6 A

&etor 2 $ascal
C nome do arranGo 8 @ C Hndi e 8 A

#ndice

&ari*)el indexada

constante 5 nome de )ari*)el 5 expresso de)e ser inteiro ou c(ar 6dependendo do que foi definido7

Ex:
var Nota : arraB @( .. ?A of real; Indi e : integer; $egin Indi e :% 2; readln * Nota @ Indi A +;; Nota @ Indi e( A :%e=.2 ...

Ex: Nota @ 6 A
Nota

>

Ex:

$reenc(er por leitura um )etor de 800 elementos inteiros.


var :alor : arraB @( .. (&&A of integer; Ind : integer; $egin for Ind :% ( to (&& do readln * :alor @ Ind A +; ... Ind
( 4 ) 5 2 6 = J (&&

:alor

Ex:

'omar os elementos de um arran,o 9 de :00 posi"-es


... Soma :% &; for I :% ( to 4&& do Soma :% Soma - K @ I A ; ...

Ex:

Ler as notas de 30 alunos. Calcular e informar a mdia da turma. Informar, ainda, as notas que so superiores mdia calculada.
Program MediaNotasSu!34; var Nota : arraB @( .. )&A of real; { vetor !ara as notas } Media, Soma: real; Aluno: integer; { varivel de ontrole da re!eti"#o } $egin Soma :% &; { ini iali'a Soma } for Aluno :% ( to )& do { !ara ada a luno } $egin readln *Nota @AlunoA+; { o$t,m sua nota} Soma :% Soma - Nota @AlunoA; { a umula a soma } end; Media :% Soma . )&; /riteln*0Media da turma: 1, Media:2:(+; for Aluno :% ( to )& do { im!rime notas maiores Lue a m,dia } if Nota @AlunoA 8 Media t9en /riteln *Nota@AlunoA+ end.

Exerc;cio:

<a"a um pro=rama para:

8. $reenc(er um )etor 9 de :0 posi"-es inteiras por leitura. :. >ostrar o )etor o+tido 3. Informar o menor elemento deste )etor. ?. Informar o )alor do maior elemento, e sua posi"o. 1. Informar quantos )alores ;mpares existem no )etor 9

var I, !osi ao, totim!ar, maior, menor: integer; K:arraB @(..4&A of integer; $egin {(. Preen 9er um vetor K de 4& !osi"Mes !or leitura.} for I:%( to 4& do $egin /rite*NOigite um valor inteiro: N+; readln*K@IA+; end; {4. Mostrar o vetor o$tido } for I:%( to 4& do /riteln*NPosi ao N,i,N: N,K@IA+; {).Informar o menor elemento deste vetor} menor:%K@(A; for I:%( to 4& do if K@IAC menor t9en menor:%K@IA; /riteln*NP menor elemento do vetor e9: N,menor+;

{5. Informar o valor do maior elemento, e sua !osi"#o} maior:%K@(A; for I:%( to 4& do if K@IA8maior t9en $egin maior:%K@IA; !osi ao:%I; end; /riteln*NP maior elemento do vetor e9: N,maior+; /riteln*Ne esta na !osi ao: N, !osi ao+; {2. Informar Luantos valores Hm!ares eQistem no vetor K } totim!ar:%&; for I:%( to 4& do if K@IA mod 4 C8& t9en totim!ar:%totim!ar-(; /riteln* No vetor K ontem N,totim!ar, N valores im!aresN+; readln; end.

Exerc;cio
<a"a um pro=rama que leia um )alor n correspondente ao n!mero de )alores a serem lidos. Leia tam+m os n )alores e depois mostre estes )alores na ordem in)ersa da leitura.

Var seq,n:integer; v:array [1..20] of integer; begin write('Digite o com rimento !a seq"encia (ma#. 20$: '$; rea!%n(n$; write%n('Digite "ma seq"encia com ',n,' n"meros inteiros: '$; &%eit"ra !a seq"encia' for seq:( 1 to n !o rea!%n(v[seq]$; &mostra na or!em inversa' for seq:( n !ownto 1 !o write(v[seq],' '$; rea!%n; en!.

Exerc;cio
Ler 1 )alores inteiros e arma.enar nas posi"-es iniciais de um )etor de 80 posi"-es. %as posi"-es se=uintes, arma.enar sucessi)amente o do+ro da primeira posi"o, o triplo da se=unda posi"o, etc. >ostrar os )alores arma.enados em cada posi"o do )etor.

var i:integer; ):array[1..10] of integer; begin for *:( 1 to + &%eit"ra !os + va%ores' !o begin write('!igite "m va%or inteiro: '$; rea!%n()[*]$; en!; for *:(1 to + !o & reenc,e osicoes - a 10' )[*.+] :( )[*]/ (*.1$; for *:(1 to 10 !o &mostra to!o o vetor' write%n('Va%or arma0ena!o na osicao ',*, ' ( ',)[*]$; rea!%n; en!.

1#em %o !e e#ec"23o:
!igite "m va%or inteiro: 10 !igite "m va%or inteiro: 20 !igite "m va%or inteiro: 40 !igite "m va%or inteiro: 50 !igite "m va%or inteiro: +0 Va%or arma0ena!o na osicao Va%or arma0ena!o na osicao Va%or arma0ena!o na osicao Va%or arma0ena!o na osicao Va%or arma0ena!o na osicao Va%or arma0ena!o na osicao Va%or arma0ena!o na osicao Va%or arma0ena!o na osicao Va%or arma0ena!o na osicao Va%or arma0ena!o na osicao

1 ( 10 2 ( 20 4 ( 40 5 ( 50 + ( +0 - ( 20 6 ( -0 7 ( 120 8 ( 200 10 ( 400

'(erc&cio )reencha um vetor * de +0 posi$%es inteiras por leitura. )reencha um vetor ,tam.em de +0 posi$%es inteiras- por leitura. )rencha um vetor V+ com a soma de * e ,em cada posi$/o. )reencha um vetor V0 com a diferen$a de * e ,- em cada posi$/o.

Exerc;cio
Leia @ nomes e arma.ene2os num )etor de @ posi"-es. 3epois disso, coloque o conte!do da primeira posi"o na !ltima, o da se=unda posi"o na pen!ltima e assim sucessi)amente. >ostre o resultado.

Var vet:array [1..-] of string; a"#:string; i:integer; begin &%eit"ra !os nomes' for *:(1 to !o begin write('*nforme o nome ',*,': '$; rea!%n(vet[*]$; en!; &a%teracao !o vetor' for *:(1 to 4 !o begin a"#:( vet[*]; vet[*] :( vet[69*]; vet[69*]:(a"#; en!; &mostra res"%ta!o' write%n(')omes reor!ena!os: '$; for *:(1 to !o write%n(vet[*]$; rea!%n; en!.

Exerc;cio <a"a um pro=rama que preenc(a por leitura um )etor de :0 posi"-es inteiras e classifique os )alores do )etor colocando2os em ordem crescente.

const :V ( +; &!efine :V como "ma constante com va%or +' var *,;,a"#:integer; <:array [1..:V] of integer; begin write%n('informe o vetor <'$; for *:(1 to :V !o rea!%n(<[*]$; &c%assifica o vetor' for *:(1 to :V !o for ;:(1 to :V 9 1 !o if <[;]=<[;.1] t,en begin a"#:(<[;]; <[;]:(<[;.1]; <[;.1]:(a"#; en!; &mostra o vetor or!ena!o' write%n('vetor c%assifica!o:'$; for *:(1 to :V !o write(<[*]:5$; rea!%n; en!.

You might also like