Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Unidad Culhuacán
Unidad De Aprendizaje:
Fundamentos De Programación
Profesor:
Trabajo: Balderrama López Javier
Evidencias 3° Parcial
1MM3
Ejercicios de Funciones en
C
1. Escribir una función que tenga una argumento de tipo entero y que devuelva la letra P si
el número es positivo, y la letra N si es negativo o cero.
#include <stdio.h>
main(){
int x;
char resultado;
scanf("%i",&x);
resultado=funcion(x);
//resultado= b;
printf("%c",resultado);
return 0;
char b;
if(a>0){
b = 'P';
else{
b = 'N';
return b;
2. Escribir una función lógica de dos argumentos enteros, que devuelva true si uno divide
al otro o false en caso contrario.
#include <stdio.h>
#include <stdlib.h>
int numero1=0;
int numero2=0;
double resultado=0.0;
int main() {
scanf("%d", &numero1);
scanf("%d", &numero2);
resultado = division(numero1,numero2);
if (resultado!=-1) {
else {
return -1;
return 0;
}
3. Escribir una función que convierta una temperatura dada en grados Celsius a
grados Fahrenheit. La fórmula de conversión es:
4. Escribir una función lógica digito que determine si un carácter es uno de los dígitos de 0
a 9.
#include <stdio.h>
#include <stdlib.h>
void digito();
void digito(){
int n;
printf("Ingresa un numero cualquiera\n");
scanf("%d",&n);
if(n>=0&& n<=9){
printf("El numero %d esta dentro del rango 0-9",n);
}
else
printf("El numero %d esta fuera del rango 0-9",n);
}
int main()
{
printf("programa que quetecta numeros dentro del rango 0-9\n");
digito();
return 0;
}
5. Escribir una función lógica Vocal que determine si un carácter es una vocal.
#include <conio.h>
#include <stdio.h>
int main()
{
char letra;
printf( "\n \t Introduzca un caracter: " );
scanf( "%c", &letra );
if ( letra == 'a' || letra == 'A' || letra == 'e' || letra == 'E'|| letra == 'i' || letra == 'I' ||
letra == 'o' || letra == 'O' || letra == 'u' || letra == 'U' )
printf( "\n Es una vocal" );
else
printf( "\n No es una vocal" );
getch();
return 0;
}
6. Escribir una función que se llame redondeo que acepte un valor real “Cantidad” y un
valor entero “Decimales” y devuelva el valor “Cantidad” redondeado al número
especificado de Decimales.
#include <iostream>
#include<math.h>
using namespace std;
int main(){
float flotante;
double redondeo;
return 0;
}
2) #include <iostream>
#include<iomanip>
#include<conio.h>
#include<ios>
using namespace std;
float redondeo(float cantidad, int decimal){
std::cout<<std::setprecision(decimal)<<std::fixed;
return cantidad;
}
int main (){
int b, s;
float a;
do{
cout<<"ingrese un numero real:";cin>>a;
cout<<"¿a cuantos decimales desea redondear?";
cin>>b;
cout<<"resultado:"<<redondeo(a,b)<<endl;
cout<<"¿desea ingresar otro numero? si=1, NO=2"<<endl;
cin>>s;
}while (s==1);
}
#define tamano 20
void main(void)
double vector[tamano];
int numeroValores, i;
scanf("%d", &numeroValores);
printf("\n");
scanf("%lf", &vector[i]);
printf("\n");
suma += valores[i];
return (med);
int i;
double min;
min = valores[0];
min = valores[i];
return (min);
int i;
double max;
max = valores[0];
max = valores[i];
return (max);
}
double semisuma (double max, double min)
8. Escribir una función que reciba una cadena de caracteres y la devuelva en forma inversa.
#include <stdio.h>
#include <stdlib.h>
char *invertir(char *p);
int main(void)
{
char cadena[] = "jennifer";
return EXIT_SUCCESS;
}
char *invertir(char *p)
{
char *rv;
char *q;
char temp;
rv = p;
for (q = p; *q != '\0'; q++)
;
if (q - p > 1)
for (q--; p < q; p++, q--){
temp = *p;
*p = *q;
*q = temp;
}
return rv;
}
9. Escribir una función que determine si una cadena de caracteres es un palíndromo (se
lee igual en sentido inverso la palabra, ejemplo “radar”).
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char palindromo(char cadena[100]);
main(){
char palabra[100];
int resultado;
printf("Ingrese una palabra:\n");
scanf("%s",&palabra);
resultado=palindromo(palabra);
return 0;
}
char palindromo(char cadena[100]){
char copia[100];
char p;
for(int i=(strlen(cadena)-1);i>=0;i--){
copia[strlen(cadena)-1-i]=cadena[i];
}
copia[strlen(cadena)]='\0';
if(strcmp(cadena,copia)==0){
printf("Es palindroma");
}
else{
printf("La palabra no es palindroma");
}
}
10. Escribir un programa que mediante una función convierta coordenadas polares
a rectangulares de un vector de dos dimensiones.
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#define PI 3.14159265
int coord (int x, int y);
main(){
int q, r;
double resultado;
printf("Introduzca el valor polar\n");
scanf("%i",& q);
printf("Introduzca los grados\n");
scanf("%i",& r);
resultado=coord( q , r);
printf("", resultado);
return 0;
}
int coord (int x, int y){
double a;
double b;
a = cos(y*PI/180) * x;
b = sin(y*PI/180) * x;
printf("%g , %g", a, b);
}
Ejercicios de arreglos en C
Determine la salida de cada segmento de programa (en los casos que se necesite, se indica
debajo el archivo de entrada correspondiente).
b) scanf(“%d”,&k) for
(i=1;i<=6) scanf(“d”,Segundo[i+
+]); j=4; printf(“%d %d\
n”,Segundo[k],Segundo[j+1]);
…….
6 3 0 1 9
#include<stdio.h>
#include<string.h>
#include<conio.h>
main(){
int
vector_a[20],vector_b[20],vector_suma[20],vector_resta[20],vector_coordenada_polar_a[20],
vector_coordenada_polar_b[20];
int opcion,i,n,cp;
printf("numero de elementos del vector: ");
scanf("%d",&n);
scanf("%d",&cp);
for(i=0;i<n;i++) {
printf("vector A [ %d ]= ",i);
scanf("%d",&vector_a[i]);
for(i=0;i<n;i++) {
printf("vector B [ %d ]= ",i);
scanf("%d",&vector_b[i]);
scanf("%d",&opcion);
if(opcion==1){
for(i=0;i<n;i++){
vector_suma[i]=vector_a[i]+vector_b[i];
else if(opcion==2){
for(i=0;i<n;i++){
vector_resta[i]=vector_a[i]-vector_b[i];
else if(opcion==3){
for(i=0;i<n;i++){
vector_coordenada_polar_a[i]=cp*vector_a[i];
else if(opcion==4){
for(i=0;i<n;i++){
vector_coordenada_polar_b[i]=cp*vector_b[i];
else if(opcion==5){
return 0;
}getch();
}
Ejercicios de Programación arreglos
1.- Escribir un programa de facturación de clientes, los clientes tienen un nombre, el número de unidades
solicitadas, el precio de cada unidad y el estado en que se encuentra: moroso, atrasado, pagado. El
programa debe generar a los diversos clientes.
#include <stdio.h>
#include <stdlib.h>
main(){
int n;
char nombre[100][100];
int unidades[100][100];
float precio[100][100];
float pago[100][100];
float pre,pag;
char estado[100][100];
printf("Introduzca el numero de clientes a facturar\n");
scanf("%i",&n);
for(int i=0;i<n;i++){
for(int j=0;j<1;j++){
printf("Ingrese el nombre del cliente %i:\t",i+1);
scanf("%s",&nombre[i]);
}
}
for(int x=0;x<n;x++){
for(int y=0;y<1;y++){
printf("Ingrese el numero de unidades solicitadas por el cliente %i:\t",x+1);
scanf("%i",&unidades[x][y]);
for(int p=0;p<n;p++){
for(int r=0;r<1;r++){
printf("Ingrese el precio de las unidades del cliente %i:\t",p+1);
scanf("%f",&precio[p][r]);
printf("Ingrese el pago de la factura %i:\t",p+1);
scanf("%f",&pago[p][r]);
pre=precio[p][r];
pag=pago[p][r];
}
}
}
}
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
if(pag<pre)
{
printf("\t %s \t\tCliente moroso\n",nombre[i]);
}
else
{
printf("\t %s \t\tCliente pagado con factura mayor.\n",nombre[i]);
}
}
}
return 0;
}
2.- Del programa anterior modificarlo de tal suerte que se puedan obtener los siguientes listados.
-clientes en estado moroso
-clientes en estado pagado con factura mayor a una determinada cantidad.
#include <stdio.h>
#include <stdlib.h>
main(){
int n;
char nombre[100][100];
int unidades[100][100];
float precio[100][100];
float pago[100][100];
float pre,pag;
char estado[100][100];
printf("Introduzca el numero de clientes a facturar\n");
scanf("%i",&n);
for(int i=0;i<n;i++){
for(int j=0;j<1;j++){
printf("Ingrese el nombre del cliente %i:\t",i+1);
scanf("%s",&nombre[i]);
}
}
for(int x=0;x<n;x++){
for(int y=0;y<1;y++){
printf("Ingrese el numero de unidades solicitadas por el cliente %i:\t",x+1);
scanf("%i",&unidades[x][y]);
for(int p=0;p<n;p++){
for(int r=0;r<1;r++){
printf("Ingrese el precio de las unidades del cliente %i:\t",p+1);
scanf("%f",&precio[p][r]);
printf("Ingrese el pago de la factura %i:\t",p+1);
scanf("%f",&pago[p][r]);
pre=precio[p][r];
pag=pago[p][r];
}
}
}
}
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
if(pag<pre)
{
printf("\t %s \t\tCliente moroso\n",nombre[i]);
}
else
{
printf("\t %s \t\tCliente pagado con factura mayor.\n",nombre[i]);
}
}
}
return 0;
}
3.-Se requiere informatizar los resultados obtenidos por los equipos de baloncesto y de futbol de la localidad
de la ESIME Culhuacán . La información de cada equipo es:
Escribir un programa para introducir la información para todos los integrantes de ambas ligas.
#include<stdio.h>
#include<conio.h>
#include<math.h>
main(){
printf("Cual deporte le gustaria guardar las estadisticas\n 1)Basquetbol\n 2)Futbol\n");
scanf("%d",&d);
if (d==1){
getch();
printf("Cual es el nombre del equipo\n");
scanf("%s", equipo);
printf("Cuantos partidos jugo?\n");
scanf("%d",&juegos);
printf("Cuantos partidos gano?\n");
scanf("%d",&ganados);
printf("Cuantos partidos empato?\n");
scanf("%d",&empates);
c = ganados*3;
puntos = c+empates;
perdidos = juegos-ganados-empates;
printf("Cual fue el mejor jugador?\n");
scanf("%s", nombre);
printf("Con cuantas anotaciones lo obtuvo?\n");
scanf("%d",&anotaciones);
printf("El equipo %s", equipo);
printf("jugo %d partidos\n",juegos);
printf("Obtuviendo la victoria de %d partidos\n",ganados);
printf("Empatando %d partidos\n",empates);
printf("Y perdiendo %d partidos\n",perdidos);
printf("Obtuvo %d puntos\n",puntos);
printf("El mayor anotador es %s\n", nombre);
printf("con %d canastas",anotaciones);
}
if(d==2){
getch();
printf("Cual es el nombre del equipo\n");
scanf("%s", equipo);
printf("Cuantos partidos jugo?\n");
scanf("%d",&juegos);
printf("Cuantos partidos gano?\n");
scanf("%d",&ganados);
printf("Cuantos partidos empato?\n");
scanf("%d",&empates);
c = ganados*3;
puntos = c+empates;
perdidos = juegos-ganados-empates;
printf("Cual fue el goleador del equipo?\n");
scanf("%s", nombre);
printf("Cuantos goles obtuvo?\n");
scanf("%d",&anotaciones);
printf("El equipo %s ", equipo);
printf("jugo %d partidos\n",juegos);
printf("Obtuviendo la victoria de %d partidos\n",ganados);
printf("Empatando %d partidos\n",empates);
printf("Y perdiendo %d partidos\n",perdidos);
printf("Obtuvo %d puntos\n",puntos);
printf("El goleador del equipo es %s\n", nombre);
printf("Con %d goles\n",anotaciones);
}
}
5.- Un punto en el plano se puede representar mediante una estructura con dos campos. Escribir un
programa que realice las siguientes operaciones con puntos en el plano:
- Dado dos puntos calcular la distancia entre ellos
-Dado dos puntos determinar la ecuación de la recta que pasa por ellos
-Dado tres puntos que representan los vértices de un triángulo calcular su área.
#include<iostream>
#include<math.h>
#include<conio.h>
using namespace std;
int main(){
float x1,x2,y1,y2,m,d,a,b,h;
cout<<"DISTANCIA Y PUNTO MEDIO DE DOS PUNTOS";
cout<<"introduzca x1:";
cin>> x1;
cout<<"introduzca y1:";
cin>> y1;
cout<<"introduzca x2:";
cin>> x2;
cout<<"introduzca y2:";
cin>> y2;
cout<<"AREA DE UN TRIANGULO";
cout<<"introduzca la base del triangulo:";
cin>> b;
cout<<"introduzca la altura del triangulo:";
cin>> h;
cout<<endl;
d=abs(sqrt(pow(x2-x1,2)+pow(y2-y1,2)));
m=(y2-y1)/(x2-x1);
a=(b*h)/2;
return 0;
}
Análisis del problema y elaboración de algoritmos de programación
estructurada.
Implantación
En rigor, se habla de implantar cuando una aplicación se instala sin modificar su
código fuente. Cuando se realizan modificaciones al código, o se programan
nuevos elementos en la aplicación, es propio hablar de implementación.
La implantación es una de las fases más complejas del proceso. Incluye las
actividades de compilación, instalación y personalización. Tras esto, corresponde
realizar la migración de datos, capacitar a los usuarios y aportar los documentos y
manuales respectivos que permitirán trabajar de manera productiva y eficaz.
Compilación
La compilación es la traducción del código fuente de la nueva aplicación en
lenguaje binario para que pueda ser interpretado por el procesador del
computador. Luego, utilizando un programa llamado instalador y un linker
(enlazador) se consigue un programa ejecutable final para ser utilizado por el
correspondiente sistema operativo.
Personalización
Esta operación consiste en adaptar la aplicación a los requerimientos del usuario
final mediante un procedimiento llamado parametrización, donde se ajustan los
parámetros establecidos en el software a las particularidades que necesita el
cliente.
Migración de datos
No es otra cosa que trasladar al programa nuevo los datos que el cliente desea
incorporar. Esta información se encuentra habitualmente dispersa en diversos
archivos, formatos y soportes. Habitualmente, corresponde al cliente ingresar esta
información. Puede llegar a ser un procedimiento complejo si se trata de una
organización que lleva mucho tiempo en funcionamiento.
De esta manera, se cumple con todas las fases de desarrollo de una herramienta
web: análisis, diseño, implementación, pruebas, implantación y puesta en marcha.
Para conocer aspectos de capacitación y soporte técnico sugerimos revisar la
información que se desarrolla en las páginas correspondientes.
El proceso de pruebas define etapas que especifican en qué momento del desarrollo del software
comenzaremos a probar. Cada etapa tiene un objetivo diferente, técnicas que nos ayudan a definir
qué y cómo vamos a probar Lo anterior depende de la etapa en la que se comiencen las pruebas.
Por último, tenemos tipos de pruebas para validar la funcionalidad, para validar atributos no
funcionales e incluso para evaluar un sistema después de haber sufrido cambios.
Tipos de mantenimiento
Tipos de servicio de mantenimientos existentes, y entre paréntesis el porcentaje
aproximado respecto al total de operaciones de mantenimiento:
Perfectivo (60%): Mejora del software ( rendimiento , flexibilidad ,
reusabilidad ..) o implementación de nuevos requisitos. También se conoce
como mantenimiento evolutivo .
Adaptativo (18%): Adaptación del software a cambios en su entorno
tecnológico (nuevo hardware, otro sistema de gestión de bases de datos ,
otro sistema operativo ...)