Está en la página 1de 22

Unidad 3: Fase 3 - arreglos o vectores

Actividad colaborativa

Andres Felipe Peralta Buitrago


Código: 9.737.985
Edwin Larrahondo Castillo.

Código: 16.918.424

Fabián Alberto Echeverry Vivas


Código: 14.836.381
Jhon Darwin Delgado Gómez

Código: 18.618.722

Yamid Fajardo Narváez


Código: 1.115.068.396

Tutor: Wilson de Jesús Arrubla


Grupo: 32

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA


Abril 2018
INTRODUCCION

Un arreglo es una colección finita, homogénea y ordenada de datos del mismo


tipo, que se almacenan en posiciones consecutivas de memoria y reciben un
nombre común. Para referirse a un determinado elemento de un array se deberá
utilizar un índice, que especifique su posición relativa en el array. Con esta ayuda
podemos optimizar problemas reales de procesamiento de datos, métodos de
ordenamiento y búsqueda en el programa Dev c++,

Es muy interesante y llamativo el iniciar en el proceso de aprendizaje de la


programación en c puesto que se aplica en nuestro diario vivir de muchas
maneras y sabemos que es un campo muy extenso y complejo pero muy valioso
para nuestra formación profesional. En la fase 3 se implementara los arreglos en
los problemas planteados, formando un trabajo de manera grupal, se dan los
distintos puntos de vista de cada integrante, se hacen las respectivas
correcciones, ya formalizado todo se compila el trabajo a entregar.
EJERCICIOS TRABAJO COLABORATIVO

1. Un programa que almacene en una tabla el número de días que tiene


cada mes (supondremos que es un año no bisiesto), pida al usuario que le
indique un mes (1=enero, 12=diciembre) y muestre en pantalla el número de
días que tiene ese mes.

Código:

// "Curso de 243002 PROGRAMACIÓN Grupo 32 Integrantes:

//Andres Felipe Peralta Buitrago

//Universidad Nacional Abierta y a Distancia - UNAD-Año 2018 - I"

// "Curso de 243002 PROGRAMACIÓN Grupo 32 Integrantes:

#include <stdio.h> // librerias

#include <stdlib.h>

main()

int i=1;

printf("1. Un programa que almacene en una tabla el n%cmero de d%cas que tiene
cada mes \n ", 163,161); // descripcion del programa

int mes[12]={31,28,31,30,31,30,31,31,30,31,30,31}; // valores asignados a cada


mes

printf("\n\n\n Digite el n%cmero del mes que desea consultar,\n ",163);

printf(" asi: 1=enero, 2=febrero,..., 12=diciembre = ");


scanf("%d", &i); // operacion para llamar el valor asiganado a cada mes

printf("\n El mes que ha seleccionado tiene %d dias\n\n", mes[i-1]); // muestra en


pantalla el resultado

system ("PAUSE");

return 0;

}
Como se realizó el programa

Lo primero que necesitamos saber cómo en todo algoritmo es el problema por


solucionar, en este caso necesitamos saber cómo almacenar los datos de las
diferentes variables y los meses a consultar,

Lo primero que vamos a hacer es definir nuestras variables que para este caso
use int mes y le asignamos 12 slots de memoria y a cada uno le definimos los
datos respectivos, Continuando con el código se realizan las fórmulas para llamar
el slot de memoria asignado y al final nos mostrara el mes el cual consultamos.
2. Un programa que almacene en una tabla el número de días que tiene cada
mes (año no bisiesto), pida al usuario que le indique un mes (ej. 2 para
febrero) y un día (ej. el día 15) y diga qué número de día es dentro del año
(por ejemplo, el 15 de febrero sería el día número 46, el 31 de diciembre sería
el día 365).

Código:

#include <stdio.h> // para el uso de los printf y scanf

#include <stdlib.h>

#include<conio.h>

// Curso de PROGRAMACIÓN

//Mi nombre es John Darwin Delgado Gómez

//Mi código es 18618722

//Estudio Ingeniería Electrónica

//En la UNAD, CEAD (CENTRO SUR Cali)

//20 de abril del 2018

main()

{ //.........Variables

int i=0, d=0, m=0, suma=0; // se le da nombre y valor inicial a las variables

int mes[12]={31,28,31,30,31,30,31,31,30,31,30,31}; // se colocan los dias de cada


mes en orden para que pueda hacer el conteo

printf("\t\t SUMA DE LOS DIAS QUE HAN TRASCURRIDO EN EL A%CO\n",165);


//nombre del programa tabulado
printf("\t\t................................................. \n\n");// subraya el titulo

printf("\n\n Escriba el n%cmero del mes del 1 al 12(mes)=\n\n",163); // aqui se le


pide al usuario que escriba el mes en un número del 1 al 12

scanf("%d", &m); // permite escribir por pantalla el mes en un número del 1 al 12

for(i=0; i<(m-1); ++i)// se declara la variable, se da la condicion y se pone el


incremento de la variable

suma += mes[i]; // es la operacion de sumar la cantidad de dias de cada mes que


se digito

printf(" \n\nEscriba el n%cmero del dia (dia)=\n\n ",163); //se pide por pantalla el
numero del dia enel mes

scanf("%d", &d); // aqui se escribe el dia elegido para poder hacer la operacion
final

suma += d; // en este caso hace la operacion final para asi tener el dato de todos
los dias que se digitaron

printf("\n\n Este es el dia n%cmero %d del a%co\n\n",163,suma,164); // En esta


pantalla da el resultado final, la suma de todos los dias

getchar();

getchar();

}
Como se realizó el programa

El primer paso fue mirar cuantas variables se necesitaban para lo cual usamos 4
variables, luego le dimos el valor en la variable mes de cada uno de los meses
para poder hacer el conteo de cuantos días se están digitando al escribir el
número del mes,

Después se coloca el titulo tabulado y subrayado, para iniciar a pedir por pantalla
el valor del mes con un número del 1 al 12 y aquí aplicamos el for para poder
iniciar el proceso de conteo de los días que hay en los meses que se digitaron
teniendo en cuenta que debe ser menos 1 mes porque el mes final no se debe
contar todo sino los días que se digiten después, de aquí ya se pide que digite los
días del mes que se desean sumar por pantalla y luego se hace la suma de los
días que se digitaron más los días que hay en los meses que se digitaron y ya al
final aparece la respuesta total de los días que se digitaron .

3. A partir del programa propuesto anteriormente, que almacenaba en una


tabla el número de días que tiene cada mes, crear otro que pida al usuario
que le indique la fecha, detallando el día (1 al 31) y el mes (1=enero,
12=diciembre), como respuesta muestre en pantalla el número de días que
quedan hasta final de año.

Código:
#include<stdio.h> /// librerias
#include<stdlib.h>
#include<conio.h>

int main()///inicio de programa


{
printf("PROGRAMACION 243002A_471,\n"); ///texto en pantalla
printf("mi nombre es: fabian alberto echeverry vivas \n "); ///texto en pantalla
printf("mi cedula es: 14836381 \n"); /// texto en pantalla
printf("Estudio Ingenieria Electronica \n"); /// texto en pantalla
printf("En la UNAD_UDR Cali \n\n"); /// texto en pantalla
printf("Fase de Arreglo o Vectores\n"); /// texto en pantalla
printf("Ejercicio n%cmero 3 \n\n",163); ///texto en pantalla, para agregar la tilde en
ú, usamos su codigo ASCII (163)
///arreglo inicializado con tamaño de 12 posiciones de memoria
int mes[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int num,suma=0,dia,total=0; ///definimos variables
printf( "Digite el mes del 1 al 12\n");
scanf("%d",&num); /// guarda el dato en la variable num
while (num>0 && num<=12) { /// si cumple la condicion ejecuta la sentencia
for(int i=0;i<num-1;i++){ /// bucle for, compara la variable y la incrementa hasta el
mes anterior
suma+=mes[i]; /// sumatoria de los dias de los meses
} printf("Digite el dia\n");
scanf("%d",&dia); /// guarda el dato en la variable dia
suma+=dia; /// se le suma el valor a la variable
total=365-suma; /// a la constante 365 se le resta todo el valor que hay en la
variable suma.
printf("Falta %d dias hasta finalizar el a%co",total,164);
getch(); /// pausa al programa
return 0; /// retorno del programa
}
printf("El n%cmero Digitado es incorrecto\n",163); /// si el numero digitado del
mes es incorrecto.
} /// fin del programa
Nota: el código tiene comentarios que dan la explicación del programa.
4. Crear un programa que pida al usuario 10 números y luego los muestre en
orden inverso (del último al primero).

Como se realizó el programa

Para la elaboración del programa inicialmente ingrese la variable (cantidad) con el


número de valores o la cantidad de números que quiero que se escriban en este
caso son solo 10, luego ingrese otra variable tipo entero, luego introduje una
entrada donde explicó de que se trata el programa y un bucle for donde introduzco
unas sentencias con los tres controles que se deben establecer control inicial,
control comprobada y actualizada con pos-incremento, donde hay una entrada
donde se solicita los 10 números, y una salida de consola donde muestra los
números ingresados, este ciclo solo es para que el usuario introduzca los 10
números. Luego Introduje otro bucle for con los 3 controles para que muestre los
números en el orden que el usuario los digito. Y por último use otro bucle for para
mostrar los números de forma inversa, para esto utilice una sentencia donde dice
si el número de valores ingresados alcanza la cantidad de 9 y este es mayor o
igual a cero, este se vaya des-incrementando hasta llegar al primer número.
5. Crear un programa que pida al usuario 10 números, calcule su media y
luego muestre los que están por encima de la media.

Código :

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>

int main() {
int i;//variable entera
float suma=0,media=-1e32,num_fuera_de_la_media=-1e32,num[10];//le damos
valores iniciales a la suma,media,
setlocale(LC_ALL,"spanish");// num_fuera_de_la_media, tenemos un array de 10
numeros
printf("Curso de 243002 PROGRAMACIÓN \n GRUPO 243002_32\n Integrante
Yamid Fajardo Narváez\n");
printf("\n\n Ingrese Diez numeros para hallar la media y \n mostrar los que estan
encima de la media\n");
printf("\nIngresar números y presionar enter en cada ingreso\n\n");
for (i=0;i<10;i++)//inicializacion en 0, condicion <=10, y el incremento i++
{
scanf ("%g",&num[i]);//guardamos el valor introducido en la variable i
suma+=num[i];//realizamos la operacion de suma
}
media = suma/10;//y lo dividimos por el valor de números ingresados
printf("La Media = %g\n\n", media); //se imprime la media
printf ("\n\nlos numeros arriba de la media son = ");//se imprime los números arriba
de la media
for (i=0;i<10;i++)
{
num_fuera_de_la_media=(num[i]-media); //se realiza la operacion donde se restan
los numeros ingresados con el valor
if (num_fuera_de_la_media > 0) //de la media, si son mayores a 0
printf(" %g ", num[i]); //imprime los numeros que se encuentran arriba de la media
}
getchar();
getchar();
}

Nota: el código tiene comentarios que dan la explicación del programa


6. Crear un programa que pida al usuario 10 números enteros y calcule (y
muestre) cuál es el mayor de ellos.

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
int main()
{
int num, numero_mayor=0, enteros[9];//declaramos las variables enteras, damos
valor inicial a numero_mayor
setlocale(LC_ALL,"spanish");// y tenemos un array de 10 numeros
printf("Curso de 243002 PROGRAMACIÓN \n GRUPO 243002_32\n Integrante
Yamid Fajardo Narváez\n Cedula: 1115068396\n ");
printf("\n\n ingrese 10 números, muestre en pantalla el mayor de los numeros.\n");
printf("\nIngresar números y presionar enter en cada ingreso\n\n");
for (num=0;num<10;num++)//inicializacion en 0, condicion <=10, y el incremento
num++
scanf("%d",&enteros[num]);//guardamos el valor introducido en la variable num
for (num=0;num<10;num++)
numero_mayor = numero_mayor>enteros[num]? numero_mayor: enteros[num];
//realiza comparacion entre los números
printf("\n El mayor de los numeros es: %d", numero_mayor); //imprime el numero
mayor de los digitados
getchar();
getchar();
return 0;
}
Explicación del ejercicio.

Librerías
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
Declaramos las variables enteras, damos valor inicial a (numero _ mayor) y
tenemos un array de 10 números.
int num, numero_mayor=0, enteros[9]
Imprimimos en pantalla datos personales, pedimos al usuario que ingrese 10
numeros y de estos vamos a calcular el número mayor.
setlocale(LC_ALL,"spanish");// y tenemos un array de 10 numeros
printf("Curso de 243002 PROGRAMACIÓN \n GRUPO 243002_32\n Integrante
Yamid Fajardo Narváez\n Cedula: 1115068396\n ");
printf("\n\n ingrese 10 números, muestre en pantalla el mayor de los numeros.\n");
printf("\nIngresar números y presionar enter en cada ingreso\n\n");

Inicialización en 0, condición <=10, y el incremento num++, guardamos el


valor introducido en la variable num
for (num=0;num<10;num++)
scanf("%d",&enteros[num]);
for (num=0;num<10;num++)
Se realiza comparación entre los números.
numero_mayor = numero_mayor>enteros[num]? numero_mayor: enteros[num];
Imprime el número mayor y finaliza programa
printf("\n El mayor de los numeros es: %d", numero_mayor);
getchar();
getchar();
return 0;
}
CONCLUSIONES

 Cada que aprendemos más sobre programación en c me doy cuenta de la


importancia de este conocimiento el cual puedo aplicar en la lógica de
programación de PLC a nivel industrial y el mejorar los diferentes procesos
en este ámbito y al mismo tiempo si es posible en aprender de diferentes
lenguajes de programación, lo cual daría más opciones de negocios a nivel
personal.
 Todo nuevo conocimiento que llega a nuestras vidas tiene una función
importante y en este caso percibo que nos ayuda a aplicar la lógica y el
orden no solo en el programa sino también en nuestra vida personal.
 Los arreglos y matrices nos permiten almacenar y manipular conjuntos de
datos agrupados de manera eficiente.
 Son ideales para el registro de información homogénea que representa una
tabulación de resultados agrupados por categorías.
 Un arreglo es la mejor solución a la hora de agrupar distintos datos que
sean de un mismo tipo, estos datos se almacenan en la memoria y reciben
un nombre común para todos.
BIBLIOGRAFIA

Cabanes, N. (2016). Fundamentos de programación en C (pp. 73-108). Madrid:


Openlibra. Recuperado de: https://openlibra.com/es/book/fundamentos-de-
programacion-en-c

Arias, L. (2016, diciembre 19), OVI Unidad 3 [Archivo de video]. Recuperado


de http://hdl.handle.net/10596/9870

[Empieza a programar] (2013, septiembre 15), Bloque 1.1: ¿Cómo empezar a


Programar? [Archivo de video], Recuperado de:
https://www.youtube.com/watch?time_continue=7&v=9idgIGmQvAQ

Ortega, B. (2011, diciembre 14). Programando C a Bajo Nivel. (pp. 10-


12). Madrid: Openlibra. Recuperado
de: https://openlibra.com/es/book/download/programando-c-a-bajo-nivel

Long, S. (2016). Learning to Code with C. (pp. 42-47). Madrid:


Openlibra. Recuperado de: https://openlibra.com/es/book/download/learning-to-
code-with-c

También podría gustarte