Professional Documents
Culture Documents
INTRODUCCION A LA COMPUTACION
ARREGLOS UNIDIMENSIONALES
Nombre: meyling
Grupo: 2M2Q
1. M[1]:=1;
2. M[2]:=2;
3. M[2]:=3;
4. N[1]:=M[1]+M[2];
5. N[2]:=M[1]-M[3];
6. N[3]:=M[2]+M[3];
7. M[2]:=2*N[1]-N[2];
8. M[1]:=M[2]-M[1];
Program Ejercicio_6_1;
Uses Crt;
Var
i: integer;
M, N: array [1..3] of integer;
Begin
ClrScr;
M[1] := 1;
M[2] := 2;
M[3] := 3;
N[1] := M[1] + M[2];
N[2] := M[1] - M[3];
N[3] := M[2] + M[3];
M[2] := 2*N[1] - N[2];
M[1] := M[2] - M[1];
for i:= 1 to 3 do
Writeln('El valor de M[',i,'] es: ',M[i]);
for i:= 1 to 3 do
Writeln('El valor de N[',i,'] es: ',N[i]);
Readln;
End.
1.3. Escribir un programa que permita calcular el cuadrado de los 100 primeros números
enteros y, a continuación, escriba una tabla que contenga dichos cuadrados.
Program Ejercicio_6_3;
Uses Crt;
Var C: array[1..100] of integer;
i: integer;
Begin
ClrScr;
for i := 1 to 100 do
C[i]:= i * i;
for i := 1 to 100 do
Writeln(C[i]);
Readln;
End.
1.4. Escribir un programa que pida 100 números enteros cualesquiera y, a continuación,
escriba una tabla que contenga los cuadrados de los números introducidos.
Program Ejercicio_6_4;
Uses Crt;
Var C: array[1..100] of integer;
i, a: integer;
Begin
ClrScr;
for i := 1 to 10 do
Begin
Write('El valor de numero entero ',i, ' es: ');
Readln(a);
C[i]:= a * a;
End;
for i := 1 to 10 do
Writeln(C[i]);
Readln;
End.
1.5. Se tienen N temperaturas almacenadas en un array. Se desea calcular su media y
obtener el número de temperaturas mayores o iguales que la media.
Program Ejercicio_6_5;
Uses Crt;
Var T: array[1..100] of real;
i, j, N: integer;
a: real;
Begin
ClrScr;
// N es la cantidad de temperaturas que se almacenaran en el array
// y es menor o igual a 100
Write('Escriba la catidad de temperaturas que posee en array: ');
Readln(N);
for i:= 1 to N do
Begin
Write('Introduzca la temperatura ', i, ': ');
Readln(T[i]);
a := a + T[i];
End;
a := a / N;
for i:= 1 to N do
If T[i] >= a then j := j + 1;
Writeln('La temperatura media es: ', a);
Writeln('El numero de temperaturas mayores o iguales a media es: ', j);
Readln;
End.
1.6. Calcular la suma de todos los elementos de un vector de 100 elementos, asi cono su
media aritmética.
Program Ejercicio_6_6;
Uses Crt;
Var l: real;
j: integer;
k: array[1..100] of integer;
// El vector contiene los todos los numeros pares de 2 al 200
Begin
ClrScr;
for j:= 1 to 100 do
k[j]:= 2 * j;
for j:= 1 to 100 do
l:= l + k[j];
Writeln('La suma de los elementos del vector es: ',l:2:0);
l:= l / 100;
Writeln('La media es: ',l:2:0); readln;
End.
1.8. Diseñar un algoritmo que calcule el mayor valor de una lista L de N elementos.
Program Ejercicio_6_7;
Uses Crt;
Var i, N: integer;
a: real;
v: array[1..100] of real;
Begin
ClrScr;
//EL valor de N no puede ser mayor que 100
Write('Introduzca el numero de elementos del arreglo: ');
Readln(N);
If (N <= 100) and (N > 0) then
Begin
for i:= 1 to N do
Begin
Write('Introduzca el valor ',i,' del arreglo: ');
Readln(v[i]);
End;
for i:= 1 to N do
If v[i] > a then
a:= v[i];
Writeln ('el numero mayor del arreglo es ', a:3:3);
End
else writeln('Error: N mayor que 100 o N negativa');
Readln;
End.
1.9. Dada una lista L de N elementos, diseñar un algoritmo que calcule de forma
independiente la suma de los números pares y la suma de los impares.
Program Ejercicio_6_9;
Uses Crt;
Var L: array[1..100] of integer;
a, b, i, N: integer;
Begin
ClrScr;
//N la cantidad de numeros que puede tener un arreglo (N >= 100)
Write('Introduzca la cantidad de elementos en el arreglo: ');
Readln(N);
If (N > 0) and (N <= 100) then
Begin
for i:= 1 to N do
Begin
Write('Introduzca el elemento ',i, ' del arreglo: ');
Readln(L[i]);
End;
for i:= 1 to N do
If (L[i] mod 2 = 0) then
a := a + L[i]
else
b := b + L[i];
Writeln('La suma de los valores pares e impares es: ',a,' y ',b,';
respectivamente.');
End
else
Writeln('Error: El valor N no es correcto'); readln;
End.
1.11. Hacer deferentes listados de una lista de 10 números según el siguiente criterio:
si un numero está en el intervalo [0,50), ponerlo en la lista 1
si un numero está en el intervalo [50,100), ponerlo en la lista 2
si un numero está en el intervalo [100,150), ponerlo en la lista 3
Program Ejercicio_6_11;
Uses Crt;
Var L, L1, L2, L3: array[1..10] of real;
i, i1, i2, i3: integer;
Begin
ClrScr;
for i:=1 to 10 do
Begin
Write('Inroduzca el valor del elemento ',i, ' de la lista: ');
Readln (L[i]);
End;
for i:=1 to 10 do
If L[i] > 0 then
If L[i] < 50 then begin
i1 := i1 + 1;
L1[i1]:= L[i];
End else
If L[i] < 100 then begin
i2 := i2 + 1;
L2[i2]:= L[i];
End else
If L[i] < 150 then begin
i3 := i3 + 1;
L3[i3]:= L[i]; end;
Writeln('Elementos de la lista 1: ');
for i:=1 to i1 do
Writeln('Elemento ',i, ' de la lista: ',L1[i]:3:3); writeln;
Writeln('Elementos de la lista 2: ');
for i:=1 to i2 do
Writeln('Elemento ',i, ' de la lista: ',L2[i]:3:3); writeln;
Writeln('Elementos de la lista 3: ');
for i:=1 to i3 do
Writeln('Elemento ',i, ' de la lista: ',L3[i]:3:3); readln;
End.
1.12. Escribir un programa para introducir una serie de números desde el teclado.
Utilizar un valor centinela (-1E5) para terminar la serie. El programa deberá
almacenar en un array los valores introducidos. Deberá de visualizar también la suma,
la media de los valores y todos los valores junto con su desviación.
Program Ejercicio_6_12;
Uses Crt;
Var i, N: integer;
a, b: real;
V, V2: array [1..999] of real;
Begin
ClrScr;
repeat
Begin
N:= N + 1;
Write('Introduzca el elemento ',N,' o identificador del arreglo: ');
Readln(V[N]);
a:= a + V[N];
End
until (V[N]= -1E5);
N:= N - 1;
b:= a / N;
Writeln ('la suma y la media de todos los elementos es:',a:2:3,' y ', b:2:3);
for i:= 1 to N do
Begin
V2[i] := V[i] - b;
Writeln('El elemento ',i,' es ', V[i]:2:3,' y su desv media es ', V2[i]:2:3);
End;
Readln;
End.
1.13. Dado un vector de 15 valores, hacer un programa que pueda obtener, y sacr por
pantalla
El mayor de los valores
El menor de los valores
El más próximo a la media
Suponiendo que los valores del problema anterior fueran mediciones, modificarlo
de forma tal que sin uso de vectores auxiliares, se pueda calcular la desviación
media y la desviación estándar.
∑𝒏𝒋=𝟏 𝑿𝒋 − 𝑿 ̅
𝑴𝑫 =
𝑵
∑𝒏𝒋=𝟏(𝑿𝒋 − 𝑿)̅̅̅̅𝟐
𝑺= √
𝑵
Donde Xj, es cada uno de los valores X es la medida de los valores, y N la cantidad
de valores.
Program Ejercicio_6_13_a;
Uses Crt;
Var i: integer;
a, b, c, d, d1, d2: real;
L: array[1..15] of real;
Begin
ClrScr;
for i:= 1 to 15 do
Begin
Write('El elemento ',i,' es: ');
Readln(L[i]);
c := c + L[i];
If i = 1 then begin
a:= L[i];
b:= L[i]; end
else
Begin
If L[i] > a then
a := L[i];
If L[i] < b then
b := L[i];
End;
End;
c := c / 15;
for i:= 1 to 15 do
Begin
d := abs(L[i] - c);
If i = 1 then begin
d1 := d;
d2 := L[i]; end
else
If d < d1 then begin
d1 := d;
d2 := L[i]; end
End;
Writeln('El mayor es ',a:3:3,', el menor es ', b:3:3);
Writeln(' y el mas proximo a la media es ', d2:3:3);
Readln;
End.
Program Ejercicio_6_13_b;
Uses Crt;
Var i: integer;
c, d, d1, d2: real;
L: array[1..15] of real;
Begin
ClrScr;
for i:= 1 to 15 do
Begin
Write('El elemento ',i,' es: ');
Readln(L[i]);
c := c + L[i];
End;
c := c / 15;
for i:= 1 to 15 do
Begin
d := abs(L[i] - c);
d1 := d1 + d;
d2 := d2 + d * d;
End;
d1 := d1 / 15;
d2 := sqrt(d2 / 14);
Writeln('La desviacion media es ',d1:3:3);
Writeln('La desviacion estandar es ', d2:3:3);
Readln;
End.
1.14. Escribir un programa en Pascal que lea una palabra carácter a carácter. El
ultimo carácter que se introduce es la barra de dividir (‘/’), que indica que la palabra ha
finalizado. Escribir un programa que imprima la palabra en el orden en que se
introdujo y en sentido inverso (por ejemplo: ‘pera’ ‘arep’). La palabra podrá tener
hasta 20 caracteres.
Program Ejercicio_6_14;
Uses Crt;
Var A: array[1..21] of char;
i, N: integer;
Begin
ClrScr;
repeat
Begin
i := i + 1;
Write('El elemento ', i, ' es: ');
Readln(A[i]);
If A[i] = '/' then
N := i - 1;
End
until ((A[i] = '/') or (i = 22));
If N > 0 then
Begin
Write('La palabra es: ');
for i:= 1 to N do
Write(A[i]);
Write(' e invertida es: ');
while N >= 1 do begin
Write(A[N]);
N := N - 1;
End;
End;
Readln;
End.