Documentos de Académico
Documentos de Profesional
Documentos de Cultura
FUNDAMENTOS DE PROGRAMACIÓN 1
2022 I
LABORATORIO 23 – ARRAYLIST
MUTACIONES ADN
(NATIONAL UNIVERSITY OF SINGAPORE)
I
OBJETIVOS
• Que los alumnos sean capaces de crear métodos recibiendo ArrayList como parámetros.
• Manejar bucles para el recorrido de ArrayList
• Manejar los métodos de la clase ArrayList
CONSIDERACIONES DE EVALUACIÓN
III
POLITICA DE COLABORACION
La política del curso es simple, a menos que se exprese lo contrario en el laboratorio, siéntase libre de
colaborar con sus compañeros en todos los laboratorios, pero debe notificar expresamente con quien ha
colaborado. La colaboración con alumnos, que no están matriculados en el curso está prohibida. Los
laboratorios y asignaciones han sido desarrollados para ayudarlo a comprender el material. Conozca su código
y esté preparado para revisiones individuales de código. Durante las revisiones es probable que se le pida
realizar modificaciones y justificar sus decisiones de programación. Cada uno de sus ejercicios debe iniciar de
la siguiente forma
IV
INDICACIONES GENERALES
Marco Teórico
La clase ArrayList está definida en el API (Application Program Interface) de Java. Se encuentra dentro del
paquete java.util. Para inicializar una variable-objeto utilice la sintaxis
Es importante recalcar que el tipo-elemento siempre debe hacer referencia a una clase. Los ArrayList solo
guardan referencias (objetos) y no tipos primitivos (int , double, etc)
import java.util.ArrayList;
. . .
equiposCopaAmerica.add("Peru");
equiposCopaAmerica.add("Chile");
equiposCopaAmerica.add("Bolivia");
equiposCopaAmerica.add("Colombia");
equiposCopaAmerica.add("Uruguay");
Accediendo Elementos de un ArrayList
La E se refiere al tipo de retorno del element. Para el ejemplo utilizado, el tipo de retorno es un String.
equiposCopaAmerica.add("Brasil");
equiposCopaAmerica.add("Chile");
equiposCopaAmerica.add("Peru");
equiposCopaAmerica.add("Colombia");
equiposCopaAmerica.set(1, remplazoEquipo);
Otros Métodos
ACTIVIDAD
El Ácido Desoxirribonucleico (ADN) es un ácido nucleico que contiene las instrucciones genéticas utilizadas
en el desarrollo y funcionamiento de todo ser vivo y algunos virus. El rol principal de las moléculas de ADN
es almacenar la información. El ADN es casi siempre comparado con un conjunto de planos, esto porque
contiene las instrucciones necesarias para construir o componer otras células, tales como proteínas y
moléculas RNA. Los segmentos de ADN que llevan la información genética son llamados genes, pero otras
secuencias del ADN tienen propósitos estructurales, o están involucrados en el uso de esta información
genética. (Wikipedia).
Durante la reproducción de células o bajo la exposición a ciertos efectos (como la luz ultravioleta) pueden
ocurrir mutaciones a un segmento del ADN. Mientras más mutaciones ocurran, puede ser desastroso (causar
cáncer), también pueden ocurrir mutaciones ventajosas con un resultado evolutivo beneficioso.
En este ejercicio queremos simular los efectos de mutaciones en una cadena ADN (con al menos 1000
caracteres). Por simplicidad, solo consideraremos un subconjunto seleccionado de mutaciones de
cromosomas. Simularemos las siguientes mutaciones simplificadas.
o Amplificación (amp): este inserta una copia duplicada de la región especificada junto a ella.
o Eliminación (del): elimina una región seleccionada.
o Inversión (inv): invierte la orientación de una región especificada.
Por ejemplo "amp 2 4" en "AGCTAGATT" resulta en "AGCTACTAGATT". Como CTA es la porción de ADN a ser
duplicada la parte duplicada se muestra en azul para su referencia y mayor comprensión.
Lo siguiente es siempre verdadero acerca del ingreso del ADN en cada punto de tiempo (confiar en
el usuario):
public static ArrayList<String> amp (ArrayList<String> adn, int ini, int fin)
public static ArrayList<String> del (ArrayList<String> adn, int ini, int fin)
public static ArrayList<String> inv (ArrayList<String> adn, int ini, int fin)
Ejemplo de Ejecución
Ejemplo de ejecución 1
AAAGGCCTAGGCCTTAGCTTAGATTACGATCG
Ejemplo de ejecución 2
Ejemplo de ejecución 3
Ejemplo de ejecución 4
GTTCCGAGCTTAGATTACGATCG
1) Realizar el ejercicio ingresando la cantidad de mutaciones que se desean aplicar, pidiendo los datos para
cada mutación e ir mostrando el resultado de aplicar cada mutación indicada (no es necesario ingresar la
mutación como cadena, puede ser como 3 datos separados por espacio).