1 o 2 participantes.
En estos ejercicios, no es necesario imprimir el valor final de la variables o de los arreglos con printf. Basta visualizarlos en la interfaz de PythonTutor.
Entrar al link siguiente: https://goo.gl/oxWNnG
Contiene un programa que declara dos arreglos, a
y b
. Inicializa el arreglo b
con ceros y el arreglo a
con valores aleatorios entre 0 y 9.
Modificar este programa para que se copie el contenido del arreglo a
al arreglo b
.
Entrar al link siguiente: https://goo.gl/79CB9A
Contiene un programa que declara dos arreglos, a
y b
, y los inicializa con valores aleatorios entre 0 y 9. Además declara un tercer arreglo c
inicializado con ceros.
Modificar este programa para que cada elemento del arreglo c
sea tal que ci = ai + bi.
Entrar al link siguiente: https://goo.gl/ciU5RR
Contiene un programa que declara e inicializa un arreglo con valores aleatorios entre 1 y 5.
Modificar este programa para que calcule el producto de los elementos de ese arreglo en una variable prod
.
Entrar al link siguiente: https://goo.gl/ciU5RR
Contiene un programa que declara e inicializa un arreglo con valores aleatorios entre 1 y 5.
Modificar este programa para que guarde el elemento máximo del arreglo en una variable max
.
Entrar al link siguiente: https://goo.gl/oxWNnG.
Contiene un programa que declara dos arreglos, a
y b
. Inicializa el arreglo a
con valores aleatorios entre 0 y 9 y b
con ceros.
Modificar este programa para que se copie el contenido del arreglo a
al arreglo b
al reves.
Por ejemplo si a
contiene [3,6,0,0,2]
, b
tendrá que tener [2,0,0,6,3]
.
Entrar al link siguiente: https://goo.gl/K82pjs
Contiene un programa que declara e inicializa un arreglo a
con valores aleatorios entre 1 y 5, y declara una variable x
con un valor aleatorio entre 1 y 5.
Modificar este programa de la manera siguiente:
pos
con valor inicial -1
.x
aparece en el arreglo a
, cargar su posición en la variable pos
. Si aparece más de una vez, cargar alguna de las posiciones en la variable pos
1 a 4 participantes.
Este ejercicio se debe hacer dentro de JSLinux, y con el editor de texto vi
.
tcc
Hacer este ejercicio en un programa desfilar.c. Queremos hacer un programa que tenga la salida siguiente:
LA CALERA
A CALERA L
CALERA LA
CALERA LA
ALERA LA C
LERA LA CA
ERA LA CAL
RA LA CALE
A LA CALER
LA CALERA
T
de valor 11
.char
) de tamaño T
e inicializarlo con el valor "LA CALERA "
(con un espacio al final)."LA CALERA "
? ¿Qué valor tiene el último carácter? En lo que sigue, nunca modificar este último carácter.texto
usando printf
, de forma que se le agregue un salto de línea. Basta usar una sola llamada a printf
sin bucle y con un solo especificador de conversión.primero
.i
desde 1
hasta T-2
, guardar el valor del carácter que está en la posición i
en la posición i-1
primero
.main
.gcc
Modificar el programa anterior para que se compile sin ningun mensaje de advertencia (warning) con gcc
.
Para saber qué archivo incluir, ver el PDF “Aprenda C”, ultima sección.
1 o 2 participantes.
Este ejercicio se debe hacer dentro de JSLinux, y con el editor de texto vi
.
El objetivo de este ejercicio es escribir un programa que tenga el comportamiento mostrado en los ejemplos que siguen:
/var/root # ./arrcalc
[2,2,0,7,2]
Suma: 13
Promedio: 2
Maximo: 7
Minimo: 0
La lista no esta ordenada porque 2 > 0.
/var/root # ./arrcalc
[6,6,5,7,1]
Suma: 25
Promedio: 5
Maximo: 7
Minimo: 1
La lista no esta ordenada porque 6 > 5.
/var/root # ./arrcalc
[0,7,3,2,7]
Suma: 19
Promedio: 3
Maximo: 7
Minimo: 0
La lista no esta ordenada porque 7 > 3.
/var/root # ./arrcalc
[6,7,9,7,5]
Suma: 34
Promedio: 6
Maximo: 9
Minimo: 5
La lista no esta ordenada porque 9 > 7.
/var/root # ./arrcalc
[1,1,1,6,6]
Suma: 15
Promedio: 3
Maximo: 6
Minimo: 1
La lista esta ordenada.
La idea es usar correctamente los arreglos para que el programa que vamos a hacer sea fácilmente modificable para andar con arreglos del tamaño que queremos.
En un programa arr.c escribir lo siguiente.
T
de valor 5.a
de tamaño Ta
con valores entre 0 y 9.Como generar valores aleatorios:
una sola vez al principio del programa, poner la sentencia siguiente para inicializar el generador de numeros aleatorios:
srand(time(0));
cada vez que se necesita cargar un numero entero aleatorio en una variable var
, usar la funcion rand
, por ejemplo:
var = rand();
recordar que para tener valores entre 0 y 9, se puede user el operador “resto por la división entera” %
.
Para cada punto siguiente (salvo el 2), agregar el bucle for necesario para llevar a cabo el cálculo. Recordar que hace falta en cada caso dos variables:
Las tareas para realizar son:
Para esta última etapa, observar bien la salida del programa dado.
Un arreglo a
está ordenado si para todos par de elementos consecutivos (ai, ai + 1), tenemos ai ≤ ai + 1.
Agregar a su programa el código necesario para reproducir el comportamiento del programa dado.
Esta vez usar un bucle while
. Necesitamos una variable de conteo para recorrer el arreglo, y una variable de acumulación para guardar el dato de si el arreglo está ordenado. Podemos llamarla ord
y inicializarla a 1
antes de recorrer el arreglo, y solo ponerla a 0
si encontramos dos elementos consecutivos tales que ai > ai + 1. La condición del bucle es una expresión lógica.
Después del bucle, mostrar un mensaje que indica si el arreglo está ordenado, y en el caso contrario, indicar el primer par de elementos consecutivos que no están ordenados.