Aula16
VETORES
|
|
|
|||||||||||||||||||||
|
VETOR <nome array>: array [dimensão] of
<tipo>; Declaração e exemplo: Var Representação:
|
MATRIZ <nome array>: array
[dimensões] of <tipo>; Declaração e exemplo: Var Representação: mat[linha,coluna]
|
|||||||||||||||||||||
|
Exemplo : Inclusão de 5 valores inteiros num vetor, e
depois disto emitir a soma dos mesmos. program vet_soma; var v: array [1..5] of
integer; soma,cont:integer;
Begin soma:=0; writeln('digite
os 5 valores'); for cont:=1
to 5 do readln(v[cont]); for cont:=1
to 5 do soma:=soma + v[cont]; writeln('Soma=',soma);
end. |
Exemplo: Ler 6 valores em
uma matriz de 2 linhas e 3 colunas e depois disto emitir a soma dos valores. program matriz; var m:array[1..2,1..3] of integer; soma,contl,contc:integer; Begin writeln('Digite os 6 valores'); soma:=0; for contl:=1 to 2 do for contc:=1 to 3 do readln(m[contl,contc]);
for contl:=1 to 2 do for contc:=1 to 3 do soma:=soma + m[contl,contc]; writeln('Soma=',soma); end. |
|||||||||||||||||||||
|
Ler
as notas de 30 alunos.Calcular e informar a média
da turma. Program MediaTurma; var Nota : real;
{ nota de um aluno } Media, Soma: real; Aluno: integer;
{ variável de controlo da repetição } begin Soma := 0; {
inicializa a soma das notas } for Aluno := 1 to 30 do { para cada aluno da turma } begin readln(Nota); { obtém a
nota do aluno } Soma := Soma
+ Nota end; Media := Soma /
30; writeln(‘Media da turma: ’, Media:5:1); end. |
a)
Escreva um programa que mostra no ecrã os múltiplos de 5
entre 1 e 100. a.1. Com recurso ao ciclo while a.2.com recurso ao ciclo for b)
Escreva um programa que pede um
número, se o utilizador digitar um número inferior a 100 o programa
deve solicitar o número novamente. b.1. Com recurso ao ciclo repeat b.2.com recurso ao ciclo while |
|||||||||||||||||||||
|
1. Compila, traduz e explica o programa PROGRAM EJER55; USES
CRT; VAR sns:REAL; {salario neto semanal} VAR h_trabajadas, h_extra:REAL; VAR precio_h, precio_h_extra:REAL; VAR total:REAL; VAR
impuestos0,impuestos25,impuestos45:REAL; {Impuestos con cada % correspondiente} BEGIN ClrScr; WRITELN
('INTRODUZCA LOS DATOS PARA CALCULAR EL SALARIO NETO SEMANAL'); WRITELN
(''); WRITE
('Las horas trabajadas semanales
son 35, las demas debe
'); WRITELN
('considerarlas como horas extra. Escriba en dolares.'); WRITELN (''); WRITE ('Horas trabajadas: '); READLN (h_trabajadas); WRITE ('Horas extra: '); READLN (h_extra); WRITE ('Precio
por cada hora: '); READLN (precio_h); WRITELN
(''); precio_h_extra:=precio_h * 1.5; sns:=(h_trabajadas
* precio_h) + (h_extra * precio_h_extra); impuestos0:=0; impuestos25:=sns - ((sns - 50) * 0.25); impuestos45:=sns - ((sns - 90) * 0.45); IF sns <= 50 THEN WRITELN ('El salario
neto semanal es: ',sns:5:2) ELSE IF sns
< 90 THEN WRITELN ('El salario
neto semanal es: ',impuestos25:5:2) ELSE IF sns
> 90 THEN WRITELN ('El salario
neto semanal es: ',impuestos45:5:2); readln; END. |
2. Compila, traduz e explica o programa 1. scribir un programa en Pascal que sume dos cadenas. (los datos vienen en 2. el cuerpo del ejercicio). 3. 4. PROGRAM EJER60; 5. USES CRT; 6. 7. VAR tit_pel1:STRING; 8. VAR tit_pel2:STRING; 9. VAR tit_pel3:STRING; 10. BEGIN 11. tit_pel1:='Alien'; 12. tit_pel2:='Blade '; 13. tit_pel3:='Runner'; 14. 15. ClrScr; 16. 17. WRITELN ('TITULOS DE PELICULAS'); 18. 19. WRITELN (tit_pel1); 20. WRITELN
(tit_pel2 + tit_pel3); 21. 22. END. |
|||||||||||||||||||||
|
|
|
|||||||||||||||||||||
|
program SUM_ARRAY(input,
output); TYPE IntArray = array[1..5]
of integer; VAR i, sum: integer; numbers : IntArray; begin sum := 0; numbers[1] := 3; numbers[2] := 7; numbers[3] := 2; numbers[4] := 4; numbers[5] := 5; for i := 1 to 5
do sum := sum + numbers[1]; writeln('sum =
', sum); end. |
program limitearray; uses crt; const max=10;
{Creio que seja o suficiente não?} var i,limarray:integer; palavras:array
[1..max] of string; begin clrscr; writeln('Entre com o limite do Array'); read(limarray); for i:=1 to limarray
do begin writeln('Entre com o array ',i,' do vetor'); readln(palavras[i]); end; for i:=1 to limarray do writeln(palavras[i]);
{Imprimir oq tu computou} end. |
|||||||||||||||||||||
|
|
program arrays2; type CustomTable=record m_kind:Integer; m_value:Integer; m_name:array[1..16]
of Char; end; var arr1:array [1..3] of CustomTable; arr2:array [1..5] of CustomTable; procedure DBAdd(in_defn:array of CustomTable); var i:Integer; begin writeln('Lower
index of in_defn
= ', low(in_defn)); writeln('Upper
index of in_defn
= ', high(in_defn)); writeln('Number
of array elements = ', high(in_defn)+1); for i:=low(in_defn) to high(in_defn) do writeln(' -
',i,' : ',in_defn[i].m_value); end; begin (*--- 3 elements array ---*) arr1[1].m_value:=42; arr1[2].m_value:=43; arr1[3].m_value:=44; writeln('Lower
index of arr
= ', low(arr1)); writeln('Upper
index of arr
= ', high(arr1)); writeln; DBAdd(arr1); writeln('--------------------------------'); (*--- 5 elements array ---*) arr2[1].m_value:=10; arr2[2].m_value:=20; arr2[3].m_value:=30; arr2[4].m_value:=40; arr2[5].m_value:=50; writeln('Lower
index of arr
= ', low(arr2)); writeln('Upper
index of arr
= ', high(arr2)); writeln; DBAdd(arr2); readln; end. |
|||||||||||||||||||||
|
|
|
|||||||||||||||||||||
|
Program exC ; var arr:array[1..10] of integer; i:integer; BEGIN for i:=1 to 10 do begin arr[i]:=i; writeln('pos ', arr[i]); end; readln; END. |
Programa tabuada do 2 Program exC
; var arr:array[1..10] of integer; i:integer; BEGIN for i:=1 to 10 do begin arr[i]:=i*2; writeln('pos ', arr[i]); end; readln; END. |
|||||||||||||||||||||
|
Explica o funcionamento do programa Program exC ; var arr:array[1..10] of integer; i:integer; BEGIN for i:=1 to 10 do arr[i]:=i*2; begin for i:=1 to 10
do writeln('valor da pos
',i,' ' ,arr[i]); end; readln; END. |
|
|||||||||||||||||||||
|
Escreva
um programa em Pascal para preencher uma matriz de números 1. PROGRAM EJER81; 2. USES CRT; 3. VAR arr_num:ARRAY
[4..14] of INTEGER; 4. VAR i:INTEGER; 5. BEGIN 6. ClrScr; 7. 8. FOR i:=4 TO 14 DO 9. arr_num[i]:=i; 10. 11. FOR i:=4 TO 14 DO 12. BEGIN 13. WRITELN('Numero:
',arr_num[i]); 14. END; END. |
Escreva um programa em Pascal
que, após a atribuição de números,
23, 45, 68,
99, 10, 15
e 4 para uma
matriz, determine a posição da matriz onde está
localizado o maior valor. PROGRAM EJER88; USES CRT; CONST arr_num:ARRAY
[1..7] of INTEGER=(23,45,68,99,10,15,4); VAR i:INTEGER; BEGIN ClrScr; FOR i:=1 TO 7 DO BEGIN IF arr_num[i]=99 THEN WRITE ('Aposicao
do maior num (',arr_num[i],') e: ',i); END; readln; END. |
|||||||||||||||||||||
ENVIAR AO PROFESSOR (PROFCARLOS2006@gmail.com) |
|
||
|
|
|
|
|
|
|
|
|
|
|
1.
PROGRAM EJER46; 2.
USES CRT; 3.
4.
VAR num:INTEGER; 5.
BEGIN 6.
num:= 5; 7.
8.
ClrScr; 9.
10. WHILE num <= 100 DO 11. BEGIN 12. WRITELN (num); 13. num:=
num + 5; 14. END; 15.END. 16. 17. 18.PROGRAM EJER46; 19. USES CRT; 20. VAR sem:INTEGER; 21.BEGIN 22. ClrScr; 23. 24. FOR sem:=
1 TO 100 DO 25. BEGIN 26. IF sem mod 5=0 THEN 27. WRITELN(sem); 28. END; END. |
|
|
|