Subido por viojeda4

ACLARAR EXAMEN

Anuncio
Los datos se clasificación según su estructura en:

Simples: Estándar (entero, real, carácter, booleano)

Estructurados: Estáticos (arrays, cadena, registros, ficheros)
Las estructuras de datos pueden ser dinámicas o estáticas.
Estáticas: aquellas a las que se le asigna una cantidad fija de memoria de acuerdo a lo definido en la declaración de la
variable.
Dinámicas: son aquellas cuyo tamaño en memoria aumenta o disminuye en tiempo de ejecución de acuerdo a las
necesidades del programa.
A continuación, veremos los datos estructurados conocidos como Arrays
Arrays (Arreglos):
Victor Ojeda
Son una secuencia de posiciones de la memoria central a la que se puede acceder directamente y contiene datos del mismo
tipo y que pueden ser relacionados y usados mediante el empleo de índices.
Existen estructuras de datos compuestos en las que se utilizan uno o más subíndices para identificar los elementos individuales
almacenados, a los que es posible tener acceso en cualquier orden.
Un array unidimensional, lineal, o vector, es un conjunto finito de ‘N’ elementos homogéneos (del mismo tipo) y
ordenados. Podemos acceder a cada elemento del array de manera independiente a través de un índice. Los arreglos no
se pueden leer/escribir en una sola sentencia. La lectura o escritura de un arreglo se debe hacer elemento a elemento, y
para realizar estas operaciones se deben leer o visualizar los componentes de un arreglo mediante estructuras
repetitivas (for, while), haciendo variar el índice.
Datos
El vector debe ser dimensionado. Al dimensionar (tamaño) un vector le decimos a la máquina que reserve los espacios
de memoria necesarios para los elementos del vector. Cada lenguaje de Programacion tiene su sintaxis para
dimensionar el vector. Algunos ejemplos.
Visual basic
Java
Pascal
C++
Dim nombres(10) As String
Tipo dato identificador [ ] Nombre: array [1..9 ] tipo_dato nombrevector[tamanio]
Tipo dato [ ] identificador
Python
Tamaño N
n=int(input('Deme valor de n:'))
vector=[0]*n
Tamaño de 5
num=[0]*5
n=int(input(‘Valor de N:’))
aleatorios = [random.randint(1,100) for _ in range(n)]
Victor Ojeda
Entrada de Datos
Salida de Datos
Un algoritmo con vectores tendrán casi siempre esta forma
Inicio
Definir Vector
Leer dimensión del vector
Cargar Vector
Procesamiento de los elementos del vector
Imprimir Vector
fin
Ejercicio: Cargar un vector de 30 componentes.
# Definir v
v=[0]*30
for i in range(30): # bucle carga
v[i]=int(input(‘Deme numero:’))
for i in range(30): # bucle imprimir
print(v[i],end=' ')
Es recomendable usar ciclos o buques separados:
Un bucle para la carga
Un bucle para el proceso
Un bucle para la impresión
Ejercicio: Cargar dos vectores de 6 componentes, sumarlos
y mostrarlo.
# Definir vectores
a=[0]*6; b=[0]*6; c=[0]*6
for i in range(6): # bucle carga
a[i]=int(input(‘Deme numero a:’))
for i in range(6): # bucle carga
b[i]=int(input(‘Deme numero a:’))
for i in range(30): # bucle proceso
c[i]= a[i]+ b[i]
for i in range(6): # bucle imprimir
print(c[i],end=' ')
Victor Ojeda
Ejercicio: Leer un vector de D componentes reales.
D=[0]*6; pos=0; mayor=0
Hallar la suma y el promedio de los elemento
for i in range(6):
D=[0.0]*6; s=0; p=0.0
D[i]=int(input(‘D[‘,i,’ ]’)
for i in range(6):
if i==0:
D[i]=int(input(‘D[‘,i,’ ]’)
mayor=D[i]
for i in range(6):
pos=i
Ejercicio: Leer un vector de D . Hallar el
s=s+ D[i]
if D[i]>mayor:
mayor y posicion
for i in range(6):
mayor=D[i]
print(D[i], end=' ')
pos=i
print()
for i in range(6):
P=s/6
print(D[i], end=' ')
print(‘promedio:‘, p)
print()
print(‘mayor:‘, mayor,’ y posicion:’, p)
from random import randint
listado_numeros = [] # crea una lista para almacenar los numero rondón sin repetir.
contador_rondas = 0 # almacena las veces que se agrega un numero a la lista.
numero_random = randint(1,30) # genera un numero rodón de 1 entre 30
# se repite hasta que el tamaño de la lista no llegue a 5 (para el caso que solo quiera 5 numero)
print('Todos los numeros aleatorios')
while contador_rondas < 5:
numero_random = randint(1,30) # genera un numero rondón de 1 entre 30
if numero_random in listado_numeros:#verifica si el número rondón ya se encuentra en la lista
pass #indica al programa que continúe ejecutando el bucle
else:
Victor Ojeda
listado_numeros.append(numero_random) # agrega el número a la lista
contador_rondas = contador_rondas +1 # cuenta cada vuelta
Todos los numeros aleatorios
print()
21 20 27 27 3 25
print(‘Vector los numeros aleatorios sin repetidos')
Vector los numeros aleatorios sin repetidos
for i in range(contador_rondas):
21 20 27 3 25
print(listado_numeros[i], end=' ')
Diseñe un programa que lea un vector x de N elementos construya
otro vector que contenga al vector x en orden inverso. El programa
debe imprimir los dos arreglos.'''
import random
n=int(input('Deme valor de n:'))
vector=[0]*n
for i in range(n):
vector[i]=random.randint(1,100)
print('Vector Original')
for i in range(n):
print(vector[i], end=' ')
print()
print('Vector Invertido con ciclo for')
for i in range(n):
print(vector[n-(i+1)], end=' ')
print()
# De esta forma no se va a aceptar con métodos de listas
print('Vector Invertido con Metodo reverse de listas')
vector.reverse()
print(vector)
Cargar un vector N con números aleatorios e imprime
otro Vector con los elementos mayores al promedio
suma=cpma =0; prom =0.0
n=int(input(‘Valor de N:’))
aleatorios = [random.randint(1,100) for _ in range(n)]
ale=[0]*n
for i in range(n):
suma+=aleatorios[i]
prom=suma/n
print('Vector Aleatorio')
for i in range(n):
print(aleatorios[i],end=' ')
print(‘\n promedio:',prom)
for i in range(n):
if aleatorios[i]>prom:
ale[i]=aleatorios[i]
cpma+=1
print(f'{cpma} elementos Mayores al promedio')
for i in range(len(ale)):
if ale[i]!=0:
print(ale[i],end=' ')
http://www.cristalab.com/tutoriales/listas-porcomprension-en-python-c103721l/
Victor Ojeda
Victor Ojeda
http://www.cristalab.com/tutoriales/listas-porcomprension-en-python-c103721l/
Victor Ojeda
http://www.cristalab.com/tutoriales/listas-porcomprension-en-python-c103721l/
Victor Ojeda
http://www.cristalab.com/tutoriales/listas-porcomprension-en-python-c103721l/
Victor Ojeda
http://www.cristalab.com/tutoriales/listas-porcomprension-en-python-c103721l/
Victor Ojeda
http://www.cristalab.com/tutoriales/listas-porcomprension-en-python-c103721l/
0
25
1
16
2
8
3
45
4
37
N=5
for i in range(n-2): # 5-2 =3
for j in range((n-1)-i): # (5-1)-0 = 4
if c[j]>c[j+1]:# 25>16
Temp = c[j] # guarda el 25 en temporal
c[j] = c[j+1]# Cambio el 16
c[j+1] = Temp # guardo el 25
Victor Ojeda
http://www.cristalab.com/tutoriales/listas-porcomprension-en-python-c103721l/
Descargar