Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
DOCENCIA EN INFORMTICA
aaaaa
C++ 2
C++
Cuaderno digital
Contenido
ELEMENTO 1 ............................................................................................................................... 9
TURBO C ++ ................................................................................................................................ 9
TURBO C ++ ........................................................................................................................... 10
Breve historia ........................................................................................................................ 10
CARACTERSTICAS DE C++ ..................................................................................................... 10
OPERADORES EN C++............................................................................................................ 11
Tipos de datos en C++........................................................................................................... 12
Tipos de datos simples ......................................................................................................... 14
FUNCIONES ........................................................................................................................... 14
La funcin main() .............................................................................................................. 14
Funciones de E/S bsicas .................................................................................................. 15
La funcin scanf ................................................................................................................ 15
La funcin printf ................................................................................................................... 15
LIBRERAS Y FUNCIONES ....................................................................................................... 16
Aaaaa
Ashqui Israel
ELEMENTO 1
TURBO C ++
C++ comenz a desarrollarse en 1980 en los laboratorios de la Ca. AT&T. Es una
ampliacin del lenguaje C. El nombre C++ proviene del operador incremento ++.
Es un lenguaje potente, verstil y es muy importante para empezar a aprender a
programar. Sus principales caractersticas son:
Programacin estructurada, Abundancia de operadores y tipos de datos, riqueza y
flexibilidad en las expresiones, sobrecarga de funciones y operadores
TURBO C ++
Breve historia
El lenguaje C fue inventado por Dennis Ritchie en 1972 cuando trabajaba, junto con
Ken Thompson, en el diseo del sistema operativo UNIX.
El lenguaje C deriva del lenguaje B de Thompson, el cual, a su vez, deriva del
lenguaje BCPL desarrollado por Martin Richards. Durante muchos aos el estndar
de C fue la versin proporcionada con el sistema operativo UNIX versin 5. Pero
pronto empezaron a surgir muchas implementaciones del C a raz de la popularidad
creciente de los microordenadores. Por este motivo, se hizo necesario definir un C
estndar que est representado hoy por el ANSI C.
En este tutor se va a estudiar el C estndar. No obstante, si la opcin turbo est
activada, tambin se incluir en la explicacin la versin Turbo C de Borland
International, que es uno de los mejores compiladores de C que existen en el
mercado.
Cuando nos referimos a Turbo C, estamos hablando indistintamente de las distintas
versiones que existen sobre los paquetes Turbo C, Turbo C++ y Borland C++,
puesto que en todos ellos se puede programar en C.
El lenguaje C suministrado por Turbo C es, simplemente, una ampliacin del ANSI
C, sobre todo en el nmero de funciones de librera suministradas.
CARACTERSTICAS DE C++
Lenguaje estructurado.
Tamao pequeo.
OPERADORES EN C++
Smbolos que nos ayudarn a relacionar y manipular lo operando,
Lgicos
Aritmticos
Relacionales
Y- AND -&&
O- OR - ||
Asignacin
=
Suma
+
Resta
Multiplicacin *
Divisin
/
Divisin modular%
Incremento
++
Decremento
--
NO- NOT - !
Igual que
==
Menor que
<
Mayor que
>
Menor o igual
que
<=
Mayor o igual
que
>=
Diferente que !=
de Descripcin
Entero corto
Nmero
de Rango
bytes tpico
2
-32768 a 32767
int
Entero
long
Entero largo
char
Carcter
-2147483648
+2147483647
-2147483648
+2147483647
-128 a 127
a
a
Con los tipos enteros pueden utilizarse los calificadores signed y unsigned. Estos
calificadores indican si el nmero tiene signo o no. Si se usan solos, sin indicar el
tipo de dato se asume int.
Por ejemplo, las siguientes declaraciones son equivalentes:
unsigned int x;
equivale a:
unsigned x;
Usando estos calificadores podemos tener los siguientes tipos enteros:
Tipo de Dato
Descripcin
signed short
Entero corto
unsigned
short
signed int
Entero
signo
Entero
unsigned int
corto
Nmero
Rango
de bytes
tpico
2
-32768 a 32767
sin 2
0 a 65535
-2147483648 a +2147483647
0 a 4294967295
signed long
Entero largo
-2147483648 a +2147483647
unsigned
long
signed char
Entero largo
signo
Carcter
unsigned
char
sin 4
0 a 4294967295
-128 a 127
0 a 255
es equivalente a escribir
int a;
Descripcin
Nmero
Rango
de bytes
tpico
Real (Nmero en 4
Positivos: 3.4E-38 a 3.4E38
coma flotante)
Negativos: -3.4E-38 a -3.4E38
Real doble(Nmero 8
Positivos: 1.7E-308 a 1.7E308
en coma flotante de
Negativos: -1.7E-308 a -1.7E308
doble precisin)
Real doble largo
10
Positivos: 3.4E-4932 a 1.1E4932
Negativos:
-3.4E-4932
a
1.1E4932
Tipo lgico
Los datos de este tipo slo pueden contener dos valores: true false (verdadero
falso).
Si se muestran como enteros, el valor true toma el valor 1 y false el valor 0.
Tipo
de
Dato
bool
Descripcin
Nmero
Rango
de bytes
tpico
1
0, 1
Nmero
Rango
de bytes
tpico
2
0 a 65535
FUNCIONES
Las funciones son un conjunto de instrucciones que realizan una tarea especfica. En general
toman ciertos valores de entrada, llamados parmetros y proporcionan un valor de salida o
valor de retorno; aunque en C++, tanto unos como el otro son opcionales, y pueden no existir.
Tal vez parezca un poco precipitado introducir este concepto tan pronto en el curso. Sin
embargo, las funciones son una herramienta muy valiosa, y como se usan en todos los
programas C++, creo que debemos tener, al menos, una primera nocin de su uso. A fin de
cuentas, todos los programas C++ contienen, como mnimo, una funcin.
La funcin main()
La funcin main() en un programa en C significa el cuerpo del programa o el
programa principal, ya que es la primer funcin que el enlazador busca para
ejecutar; si la funcin main() no tiene parmetros, significa que solamente la
utilizaremos para decirle al programa cundo y cmo debe hacer las cosas, pero, si
La funcin scanf
La funcin scanf captura cualquier tipo de dato introducido por el teclado, y para
esto, es necesario incluir en su llamada a funcin el formato o tipo de dato que se
pretende leer por teclado, ejemplo:
scanf(%d,&x);
En este caso, se especifica una entrada de tipo decimal o entero (%d), mientras
que el operador de direccin (&) indica que se debe guardar el valor en la localidad
de memoria x, en otras palabras, indica que se recibir un valor entero y se debe
almacenar en la variable x. Ahora bien, los tipos de formato ms usados para la
instruccin scanf son:
%d,
%i
%f
%c
%s
%u
La funcin printf
La funcin printf es la contraparte de la funcin scanf, ya que mientras scanf lee
datos desde el teclado, la funcin printf los escribe, es decir, provee la salida en
pantalla, esta funcin tambin utiliza los formatos de scanf, con la particularidad de
que printf puede modificar la salida de los datos, por ejemplo, si se declara una
variable entera, y se le asigna el valor 65, y al momento de imprimir el valor de la
variable se especifica una salida de tipo caracter, la salida ser el caracter A (el 65
equivale a la letra A en el cdigo ASCII).
LIBRERAS Y FUNCIONES
Las libreras son archivos que en C contienen las funciones que son las acciones que C nos
permite hacer estas son las libreras ms usadas por que son libreras estndares de entrada
y salidas de datos tenemos la libreras.
stdio.h
se agrega asi:
#include<stdio.h>
Esta trae muchas funciones son estas (para acceder a la ayuda de turbo c ah se puede
encontrar mucha informacin debes presionar F1 o sombrear una palabra y presionar ctrl +
F1 y te aparecer la ayuda en relacin a la palabra sombreada).
Otra funcin muy usada es la funcin scanf esta nos sirve para leer una variable (pedir un
valor al usuario) su sintaxis es as:
scanf("%d",&X);
x es la variable a la cual le vas a asignar el valor que se esta leyendo y en %d debe ser el tipo
de archivo que se quiere leer. Otra librera que tambin nos servir de mucha utilidad es
conio.h
recuerda que las libreras se agregan al programa as:
#include<conio.h>
Esta librera trae estas funciones:
clrscr();
cprintf esta es parecida a la funcin printf con la diferencia que esta es un poco mas
especial por ejemplo cuando le ponemos el modificador de texto \n no regresa al principio
de la lnea sino se queda en al final del ultimo prrafo (tendrs que hacer pruebas para
entenderlo mejor) o si antes le antepones la funcin textcolor puedes modificar el color de
las letras.
getch();
Declaracin de variables
Es necesario declarar las variables que se utilizarn en el programa, de modo que el
compilador reserve un espacio en memoria para esas variables, la sintaxis es:
[tipo] [nombre_de_la_variable] [[dimension]] ; (la dimensin slo se usa para
arreglos).
Ejemplo:
int x;
int arreglo [100];
Y ya que hablamos de variables, cabe mencionar que las variables pueden ser
declaradas globales o locales, solamente como referencia, las variables globales
son aquellas variables que conservan su valor durante la ejecucin de todo el
programa y se declaran antes del main(), mientras que las variables locales
solamente tienen valor durante la ejecucin de la funcin o procedimiento en que
fueron declaradas y se declaran despus de la llave que indica el principio de una
funcin o procedimiento. De cualquier manera, las diferencias entre las variables
locales y globales sern objeto de estudio ms adelante.
SENTENCIA DE ASIGNACION
Una sentencia de asignacin tiene la forma:
Variable e operador-de-asignacin expresin la sentencia de asignacin es
asimtrica. Esto quiere decir que se evala la expresin de la derecha y el resultado
se asigna a la variable especificada a la izquierda.
Por ejemplo:
totaf = O;
area-3.I4L592*T*Ti
cuenta += 1;
Las operaciones de entrada y de salida (E/S) no forman parte del conjunto de sentencias de
C, sino que pertenecen al conjunto de funciones de la biblioteca estndar de C. Por ello, todo
fichero fuente que utilice funciones de E/S correspondientes a la biblioteca estndar de C,
necesita de los prototipos de las funciones correspondientes a stas, por lo que deber
contener la lnea:
#include "stdio.h"
Las dobles comillas significan que el fichero especificado, debe ser buscado en el directorio
actual de trabajo y si no se encuentra, la bsqueda debe continuar en el directorio estndar
para los ficheros con extensin ./z (directoio include). Si el fichero de cabecera especificado,
en lugar de escribirlo entre comillas, lo escribimos entre nulos:
#include <stdio.h>
la bsqueda de dicho fichero se efecta solamente en el directorio estndar para los ficheros
con extensin.h (directono include).
Sentencia if
Las sentencias especifican y controlan el flujo de ejecucin del programa. Si no existen
el
En C++ el concepto de bloque de sentencias se utiliza para agrupar un conjunto de
sentencias dentro de un ambito concreto dentro del programa. Un bloque de sentencias es
un conjunto de instrucciones englobadas bajo llaves
{}
.
Sentencia if
La sentencia
if
Elige entre varias alternativas
Sintaxis:
booleanas.
>
else
<
>
La sentencia else es opcional, puede utilizarse o no. En el ca
WHILE:
El objetivo de un while es tambin un bucle de cdigo; el bucle while funciona repitiendo su
objetivo mientras la expresin sea cierta. Cuando sta es falsa, el bucle se detiene.
while (expresin) sentencia;
El valor de la expresin se comprueba al principio del bucle, esto significa que, si la expresin
es falsa al iniciarse, el bucle no se ejecutar ni una sola vez.
#include<stdio.h>
#include<conio.h>
main()
{
char c;
c= getch();
while (c!= `q'){ c= getch();
(
);}
}
Ej: Programa que traduce los caracteres que se escriban a un formato codificado; anadiendo
un 1 a cada letra. El programa se detiene cuando se pulsa intro.
#include<stdio.h>
#include<conio.h>
main()
{
char c;
(I
: \ );
c= getch();
while (c!= `\n'){
(% +1);
c= getch();
}
}
DO WHILE:
El bucle do repite la/s sentencia/s mientras la expresin es verdadera, se detiene cuando la
expresin se convierte en falsa. El bucle do es nico, ya que siempre ejecuta el cdigo de
dentro del bucle al menos una vez dado que la expresin que controla el bucle se
comprueba al final del mismo.
do{ sentencias; }while (expresin);
: \ );
(% & );
(I
z
: \ );
(% &b);
if (c== `S'){
(% + );
else
if (c== `R')
(% -b);
else
if(c== `M')
(% * )
else
if(c== `D')
(% / );
}
}
El bucle do es especialmente til cuando el programa que est esperando a que ocurra un
suceso.
SWITCH:
Es una sentencia de seleccin mltiple de C. Se utiliza para elegir un camino entre varios
caminos alternativos de la ejecucin del programa y funciona asi: se compara una variable
con una lista de constantes enteras o de carcter, cuando concuerda con alguna se ejecuta la
secuencia de sentencias asociadas con esa constante.
switch (variable){
case 1:
secuencia de sentencias;
break;
case n:
secuencia de sentencias;
break;
default:
secuencia de sentencias;
break;
}
Donde la secuencia de sentencias de default se ejecutan si no coincide con ninguna de las
otras. Default es opcional. Si no hay coincidencias y no existe el default, no se lleva a cabo
ninguna opcin.
Cuando se encuentra alguna coincidencia, se ejecutan las sentencias asociadas con el `case'
hasta que se encuentra con un `break', o en el caso de default o en el ltimo case, hasta que
se alcance el final del switch.
Programa que recorre los numeros 1, 2, 3 y 4 e imprime el nombre del que se ha
introducido:
#include<stdio.h>
main()
{
}
SENTENCIA FOR
Si necesitamos repetir un grupo de acciones un nmero conocido de veces la mejor
opcin es la sentencia repetitiva for().
for() es una de las sentencias repetitivas ms usadas en los lenguajes de
programacin, esta sentencia inicializa una variable, evala una condicin y luego
realiza una operacin sobre una variable.
Modo de uso:
for(inicializacin;condicin;operacion)
{
Ejemplos:
Escriba un programa en lenguaje C que solicite el ingreso de dos nmeros (valor
inicial y un valor final) y que muestre por pantalla los nmeros que pertenecen al
intervalo dado.
Solucin:
#include <stdio.h>
void main()
{
//Declaracin de variables
int inicial, final, i;
//Solicitando y leyendo el ingreso de datos desde el teclado
printf("Ingrese el valor inicial: ");
scanf("%d",&inicial);
printf("Ingrese el valor final: ");
scanf("%d",&final);
for(i=inicial;i<=final;i++)
{
printf("%d\n",i); //mostrando por pantalla los nmeros desde
//el valor inicial hasta el valor final
}
}
Contador:
Un contador es una variable cuyo valor se incrementa o decrementa en una cantidad
constante cada vez que se produce un determinado suceso o accin. Los
contadores se utilizan con la finalidad de contar sucesos o acciones internas de un
bucle; deben realizar una operacin de inicializacin y posteriormente las sucesivas
de incremento o decremento del mismo. La inicializacin consiste en asignarle al
contador un valor inicial. Se situar antes y fuera del bucle.
estructura:
int cont = 0
inicio del bucle
i = i +1
fin del bucle
Acumulador:
Es una variable que suma sobre s misma un conjunto de valores para de esta
manera tener la suma de todos ellos en una sola variable. La diferencia entre un
contador y un acumulador es que mientras el primero va aumentando de uno en
uno, el acumulador va aumentando en una cantidad variable.
FUNCIONES C++
Una funcin es un mdulo de un programa separado del cuerpo principal, que
realiza una tarea especfica y que puede regresar un valor a la parte principal del
programa u otra funcin o procedimiento que la invoque.
La forma general de una funcin es:
Tipodato Nomfun(parametros)
{
cuerpo de instrucciones;
return [dato,var,expresion];
}
Donde tipodato especifica el tipo de dato que regresara la funcin.
MATRICES
Una matriz es un vector de vectores o un tambin llamado array bidimensional. La manera
de declarar una matriz es C++ es similar a un vector:
int matrix[rows][cols];
int es el tipo de dato, matrix es el nombre del todo el conjunto de datos y debo de
especificar el numero de filas y columnas.
Las matrices tambin pueden ser de distintos tipos de datos como char, float, double, etc.
Las matrices en C++ se almacenan al igual que los vectores en posiciones consecutivas de
memoria.
PUNTEROS
El valor de todas las varales que manejamos en nuestros programas se almacenan en
memoria y tienen una direccin. Un puntero es una variable especial que apunta a la
direccin de memoria de una variable.
El puntero tiene a su vez su propia direccin. Todas estas direcciones tienen un formato
hexadecimal.
Los punteros son herramientas muy poderosas con muchas utilidades y enormes ventajas
como veremos ms adelante. A grandes rasgos, un puntero me permite desplazarme en la
memoria, apuntar, re direccionar a ciertas variables, funciones, mtodos, objetos, etc sin
necesidad de mover grandes bloques de datos, lo cual nos ahorra muchsimo el consumo de
memoria en los programas.
Un puntero se debe declarar de acuerdo al tipo de dato al que apunta. Ejem:
int *var; // un puntero que puede apuntar a cualquier variable de tipo entero.
char *u; // puntero de tipo char
Persona *per; // puntero de tipo persona
Para determinar, asignar la direccin de una variable en c++, se usa el operador & y para
obtener el contenido de un puntero utilizamos el operador * Ejem:
int a; // entero
int *b; // puntero a entero
a = 20; // a tiene 20
b = &a; // asigno la direccin de a al puntero b
cout << b << endl; // imprime la direccin de memoria de a;
cout << *b; // imprime 20, osea el contenido de a
Ahora analicemos las siguientes instrucciones y veamos como las variables van cambiando
de valor en tiempo de ejecucin:
#include <iostream>
using namespace std;
int main()
{
cout << "Direccion de a = " << &a << endl << endl;
cout << "Variable b = " << b << endl;
cout << "Direccion de b = " << &b << endl << endl;
// Tiene basura al principio, podria inicializar con *p=0
cout << "Contenido de p (Basura)= " << *p << endl;
cout << "Direccion de p = " << &p << endl << endl;
cout << "Despues" << endl;
a++;
p= &a;
cout << "Contenido de p = " << *p << endl;
// p ahora tiene la direccin de b
p = &b;
// Le sumo 20 al contenido de p, es decir, estoy incrementando el valor de b
*p +=20;
cout << "Variable a = " << a << endl;
cout << "Variable b = " << b << endl << endl;
// p ahora tiene la direccin de a
p=&a;
// Contenido de p es igual al contenido de a * 5
*p = a * 5;
cout << "Contenido de p = " << *p << endl;
cout << "Variable a = " << a << endl << endl;
// Tiene basura al principio, podria inicializar con *p2=0
ARITMTICA DE PUNTEROS
En las ltimas sentencias del programa anterior: p++; cout << *p pueden visualizar que
estoy incrementando el puntero p en 1. Esto quiere decir que el puntero se desplazara 4
bytes en memoria (en este caso por ser entero) y entonces apuntar a otra direccin.
VECTORES DINMICOS
Un vector podra tener una cantidad variable de datos, a este se le llama un vector dinmico.
Para usar vectores dinmicos necesitamos gestionar memoria dinmica. Si bien es cierto que
es trae enormes ventajas, el hacer un mal uso de la memoria dinmica nos podra traer
problemas desastrosos.
Por eso es importante que cuando creemos vectores dinmicos tambin liberemos la
memoria utilizada. Obviamente eliminaremos la memoria utilizada cuando ya no
necesitamos ms usar, en este caso, un determinado vector.
El operador new sirve para reservar memoria dinmica. El operador delete se usa para
liberar la memoria dinmica reservada con new.
Para liberar memoria de un array dinmico usamos delete[] El espacio de memoria que
hemos reservado con new tendr vida hasta que finalice la ejecucin del programa o cuando
liberemos ese espacio con delete.
Siempre es recomendable liberar memoria para posteriormente no tener problemas con
excesivo consumo de memoria.
Un simple ejemplo:
#include <iostream>
using namespace std;
int main()
{
int *pv;
int dim;
cout << "Ingresa el tamanyo del vector" << endl;
cin >> dim;
pv = new int[dim];
for(int i = 0; i < dim; i++){
pv[i] = i * i;
cout << pv[i] << endl;
}
delete[] pv;
return 0;
}
MATRICES Y PUNTEROS
Supongamos que declaro una matriz int m[5][5] Como dijimos anteriormente, el nombre o
identificador de un vector es un puntero al primer elemento del vector.
En el caso de matrices el nombre de la matriz, en este ejemplo v, es un puntero que apunta
al primer elemento del primer vector de la matriz.
Entonces m es un doble puntero.m es igual a &m[0] que es igual a la direccion de &m[0][0].
MATRICES DINMICAS
Para crear una matriz dinmica debemos de crear un doble puntero int **pm y samos al
igual que los vectores el operador new para reservar memoria y delete para liberar. Primero
tenemos que crear el vector que contendr a otros vectores especificando el numero de
vectores que tendra este vector principal. Ejem:
Es el inicio de la
ejecucin
programa
Es
para
#include <stdio.h>
#include <conio.h>
int a,b,c,s,p;
void main()
del
abrir
el
programa
Limpia la pantalla
Es para la ubicacin
clrscr();
gotoxy(35,4);
columnaslos valores o
Imprime
printf(">>>PROMEDIO<<<") ;
expresiones que se le
da
gotoxy(10,8);printf("Ingrese 1 notas: ");
scanf("%d",&a);
sacar
s=a+b+c;
la
Es
el
para
proceso
sacar
el
p=s/3;
promedio de las
Limpia la pantalla
Es una condicin donde se
ejecuta
solamente
si
la
expresin es verdadera.
{
gotoxy(15,15);printf("APUEBA");
}
Es una condicin que se
formula
dentro
de
la
Else
si la
expresin es verdadera.
{
gotoxy(15,15);printf("SUSPENSO");
}
else
{
if(p>=1 && p<=4)
{
gotoxy(15,15);printf("PIERDE");
} }}
getch();
el
programa
CORRIDO:
libreras
para
llamar
funciones
sirven
a
las
que
se
#include<stdio.h>
#include<conio.h>
desea
Funciones estndar
#include<stdlib.h>
Se mostrarn los 4
void borde()
bordes
Es
para
abrir
el
programa
Sirve
declarar
para
Limpia la pantalla
int i;
las
clrscr();
for(i=1;i<=80;i++)
una
condicin
{
Para la ubicacin de las
gotoxy(i,3);printf("*");
gotoxy(i,20);
printf("*");
o expresiones que se
le da
}
for(i=1;i<=24;i++)
{
gotoxy(5,i);printf("*");
gotoxy(70,i);printf("*");
}
}
Sirve
declarar
para
las
Es el inicio de la
ejecucin
int a;
main ()
del
{
Llama al borde
borde();
gotoxy(35,5);printf("DIAS DE LA SEMANA");
Es para que cumpla una
condicin y tiene retorno
do
{
gotoxy(29,5);printf(" ");
gotoxy(15,7);printf("Ingrese un numero: ");
scanf("%d",&a);
}
Este es mientas cumpla
while(a<1 || a>7);
la condicin
Es el que te permite
switch(a)
case 1:
break;
case 2:
gotoxy(35,10);printf("MARTES");
break;
case 3:
datos
gotoxy(35,10);printf("VIERNES");
break;
case 6:
gotoxy(35,10);printf("SABADO");
break;
case 7:
gotoxy(35,10);printf("DOMINGO");
break;
}
Espera a que se presione
cualquier otra tecla para
finalizar
getch();
Cierra el programa
Corrido:
#include<stdio.h>
Manejo de cadenas
Es
el
inicio
de
#include<string.h>
la
main()
Es
para
abrir
el
programa
int tv, c, totv=0, totc=0;
char aux='s';
declaracin
Este es mientas cumpla
while (aux=='s')
la condicin
{
Limpia la pantalla
Es para la ubicacin
de las filas y las
clrscr();
gotoxy(32,2);
expresiones que se le
gotoxy(5,5);printf("INGRESE EL TOTAL DE LAS VENTAS: ");
scanf("%d",&tv);
da
Es una condicin donde se
ejecuta
solamente
si
expresin es verdadera.
la
{
Es un proceso donde va
contando el total de las
c=tv*0.05;
dentro
de
la
else
{
if(tv>5000 && tv<=8500)
{
c=tv*0.07;
}
else
{
if(tv>8500 && tv<=10000)
SENTENCIAS
{
CONDICIONANTES
c=tv*0.08;
}
else
{
if(tv>10000)
{
c=tv*0.10;
}}}}
Este realiza un proceso de ir
totv=totv+tv;
totc=totc+c;
Cierra
el
getch();
return 0;
programa
CORRIDO:
libreras
para
llamar
sirven
a
las
#include<stdio.h>
#include<conio.h>
Es
el
inicio de
ejecucin
Es
para
la
#include<string.h>
void main()
del
abrir
el
programa
Sirve
para
declarar
las
Limpia la pantalla
Es para la ubicacin
int a, b, suma;
clrscr();
gotoxy(15,3);
expresiones que se le
gotoxy(36,5);printf("
");
scanf("%d",&a);
}
gotoxy(37,7);printf(" ");
getch();
CORRIDO:
PROGRMA N.-5 Realice la suma de 2 nmeros siempre que el primer valor este
entre 3 y 23 y el segundo valor este entre 5 y 17.
ANALISIS:
En este programe lo que nos pide es que si el primer nmero que ingresamos pro
teclado tiene que tener una condicin que tiene que estar entre 3 y 23 y el segundo
nmero que ingrese tiene que tener la siguiente condicin que tiene que estar entre
5 y 17 y si ingresamos un numero de las dos condiciones que tenemos nos sale
erros y si ingresamos los nmeros que estn dentro de esa condicin se nos realiza
la suma normal tambin se puede realizar las veces que uno quiera
CODIFICACION:
Las
libreras
para
llamar
sirven
a
las
#include<stdio.h>
#include<conio.h
Manejo de cadenas
Es el inicio de la
#include<string.h>
void main()
ejecucin
Es
para
abrir
el
programa
Sirve
para
declarar
las
do
Limpia la pantalla
Es para la ubicacin
de las filas y las
clrscr();
gotoxy(15,3);
expresiones que se le
do
{
gotoxy(36,5);printf("
");
scanf("%d",&a);
while(a<3 || a>23);
la condicin
do
{ gotoxy(37,7);printf(" ");
gotoxy(10,7);printf("INGRESE EL SEGUNDO NUMERO: ");
scanf("%d",&b);
}
while(b<5 || b>17);
suma=a+b;
gotoxy(10,9); printf("LA SUMA ES: %d", suma);
gotoxy(10,13);printf("PRESIONES 1 PARA CONTINUAR O 0 PARA
SALIR: ");
scanf("%d",&op);
}
tiene
while(op==1);
getch();
#include<stdio.h>
Libreras tipos usados por varias operaciones de entrada y salida, es
#include<conio.h>
un comentario
#include<string.h>
main ()
Abrir el programa
char nom[25];
do
{
clrscr();
Imprime el mensaje
gotoxy(15,2);printf("EQUIVALENCIA DE LAS EDADES");
{
gotoxy(22,7);printf("INGRESE SU EDAD: ");scanf("%d",&ed);
datos
}
Rompimiento del ciclo
Si la condicin es verdadera, y
comienza a realizar el proceso
{
gotoxy(7,10);printf("ES UN BEBE");
Realiza el proceso
}
else
{
if(ed>5 && ed<=13)
{
gotoxy(7,10);printf("ES UN NINO");
}
else
{
if(ed>13 && ed<=21)
{
gotoxy(7,10);printf("ES ADOLESCENTE");
}
else
{
if(ed>21 && ed<=60)
{
Realiza
el
proceso
del
programa
Cierre de los if
}
}
gotoxy(10,13);printf("PRESIONES 1 PARA CONTINUAR O 0 PARA SALIR:
");scanf("%d",&op);
}
while(op==1);
getch();
}
CORRIDO:
#include<stdio.h>
Libreras tipos usados por varias operaciones de entrada y salida, es un
#include<conio.h>
compilador
void main()
void=para iniciar el programa
{
Abrir el programa
int i,op;
Para almacenar valores entero
float cant,uni,vt,iva,total,sub;
Para almacenar datos decimales
char det[15],preg[2];
Para almacenar caracteres
clrscr();
Borra todo el contenido de la pantalla
for(i=1;i<=80;i++)
{
gotoxy(i,1);printf("*");
gotoxy(i,24);printf("*");
}
Diseo de la estructura del margen
for(i=1;i<=24;i++)
{
gotoxy(1,i);printf("*");
gotoxy(80,i);printf("*");
}
gotoxy(35,2);printf("=============");
gotoxy(35,3);printf("F A C T U R A");
gotoxy(35,4);printf("=============");
gotoxy(15,6);printf("CANT
DETALLE
V.UNIT V.TOTAL");
Diseo de la
gotoxy(14,7);printf("===================================");
portada
gotoxy(43,21);printf(" Subtotal");
gotoxy(43,22);printf(" IVA 12% ");
gotoxy(43,23);printf(" Total");
En este programa deseamos encontrar el promedio general del curso para lo q utilizamos
z DO- WHILE
1
10
#include<conio.h>
Libreras tipos usados por varias operaciones de
#include<stdio.h>
entrada y salida un compilador
void main()
Abrir el programa
{
Inicia el programa
char no[15];
int op,c=0,d;
Definicin de variables: antes de realizar algunas
float n1,n2,n3,fla=6;
operaciones en el programa se debe declarar las
float p,pg=0;
clrscr();
Borra la pantalla
Imprime mensajes y
gotoxy(25,2);printf("Facultad de Ciencias Humanas");
para
la
gotoxy(27,3);printf("Segundo Informtica");
presentacin
del
gotoxy(10,5);printf("Mdulos
Nota1 Nota2 Nota3 Promedio");
Cargar
o
inicializar
do
variable de condicin
Utiliza un contador
Cargar
inicializar
variable de condicin
Ingresa la primera nota
Aqu cierra la condicin
que debe estar entre 1
hasta 10
Cargar o
inicializar
variable de condicin
Ingresa la segunda
nota
Aqu cierra la condicin
que debe estar entre 1
hasta 10
Ingresa la tercera nota
Aqu cierra la condicin
que debe estar entre 1
Realiza el clculo del
promedio
Aqu nos imprime las notas del
gotoxy(54,fla);printf("%2.2f",p);
programa
gotoxy(10,15);printf("%2.2f",pg);
fla=fla+1;
Nos pide la
gotoxy(10,10);printf("Presione 1 para continuar o 0 para salir: ");scanf("%d",&op);
opcion
}while(op==1);
Cierra la condicin
d=pg/c;
Imprime el promedio general
gotoxy(10,16);printf("g%d",d);
Retorna el carcter ledo desde
getch();
}
teclado
Cierra el programa
CORRIDO:
ANALISIS:
En este programa que hemos elaborado para sacar el lquido a recibir de un empleado,, tenemos que
z
z
SI NO
z
con el Laso DO WHILE
z
condicionar las horas extras y para escoger la categora del empleado y acumuladores para realizar
clculos
CODIFICACION:
Programa:
/*Obtener el lquido de un empleado*/
Comentarip del programa
#include<conio.h>
Libreras tipos usados por varias operaciones
#include<stdio.h>
de entrada y salida, es un comentario
main()
Para iniciar el programa
{
Para abrir el programa
int a,b,horax,bonofo,sue,op=0;
Definicin de variables: antes de realizar algunas
float c,d,iees,aso,ingre,egreso,tot;
operaciones en el programa se debe declarar las
char nom[10];
variables que se utiliza
clrscr();
Borra la pantalla
do
Cargar o inicializar variable de condicin
{
gotoxy(27,2);
Impresin de mensaje
printf("++ROL DE PAGOS++");
gotoxy(20,4);
Imprime el mensaje
printf("Ingrese el nombre del empleado: ");
scanf("%s",& nom);
Ingresa datos
gotoxy(27,6);
printf("**Categoria**");
Imprime el mensaje
gotoxy(20,8);
posicionamiento
en donde desee aparecer el
printf("categora 1=180 categora 2= 250 categoraDa
3=380"
);
mensaje
gotoxy(20,10);
printf("Ingrese la Categora que desee: ");
scanf("%d",&a);
gotoxy(20,12);
printf("Ingrese nmero de hijos que tiene: ");
Diseo del programa
scanf("%d",&b);
Imprime
los
resultados
Imprime resultados
Imprime resultados
CORRIDO:
ANALISIS:
El progra
z
z
opcin desea continuar SI o NO, esto se lo realiza con el Laso DO WHILE que permite
generar nuevamente el programa. Utilizamos el lazo for para generar el borde en la pantalla.
CODIFICADO:
#include<stdio.h>
libreras
#include<conio.h>
void main ()
Libreras tipos usados por varias operaciones de entrada y salida, es un
comentario
Para iniciar el programa
{
Para abrir el programa
int n,fila,i,op=1;
Declaracin de variables
do
Lazo do while inicia la condicin
{
Borra la pantalla
clrscr();
for(i=1;i<=80;i++)
Proceso
{
gotoxy(i,1);printf("*");
Imprime el margen
gotoxy(i,24);printf("*");
Cierra el for
}
for(i=1;i<=24;i++)
Proceso
{
gotoxy(1,i);printf("*");
Imprime el margen
gotoxy(80,i);printf("*");
}
Imprime el mensaje
gotoxy(28,5);printf("ingrese el lmite: ");
scanf("%d",&n);
Ingresa datos
fila=6;
Indica el lmite
for(i=2;i<=n;i+=2)
{
Imprime el resultado
gotoxy(20,fila);printf("%d",i);
fila=fila+1;
Utiliza un contador
}
fila=6;
Indica el lmite
for(i=1;i<=n;i+=2)
{
Imprime el resultado
gotoxy(50,fila);printf("%d",i);
fila=fila+1;
}
gotoxy(20,25);printf("desea continuar");
Imprime el mensaje para escoger la opcin
scanf("%d",&op);
}while(op==1);
Finaliza el lado while
getch();
Retorna el carcter ledo desde
}
Cierra el programa
CORRIDO:
Las
libreras
para
llamar
#include<stdio.h>
sirven
a
las
#include<conio.h>
el
inicio de
ejecucin
main()
la
del
{
int i;
clrscr();
Inicio de un ciclo
for(i=1;i<=80;i++)
con un lmite
{
Es para la ubicacin
gotoxy(i,1);
Inicio de un ciclo
printf("*");
gotoxy(i,24);printf("*");
con un lmite
for(i=1;i<=24;i++)
{
gotoxy(1,i);printf("*");
gotoxy(80,i);printf("*");
}
getch();
Ciera
el
programa
Corrido:
Las
libreras
para
llamar
sirven
a
las
#include<stdio.h>
#include<conio.h>
el
inicio de
ejecucin
la
del
main()
{
clrscr();
Inicio de un ciclo
for(i=1;i<=80;i++)
con un lmite
{
Es para la ubicacin
gotoxy(i,1);
printf("*");
expresiones que se le
gotoxy(i,24);printf("*");
for(i=1;i<=24;i++)
Inicio de un ciclo
con un lmite
{
gotoxy(1,i);printf("*");
gotoxy(80,i);printf("*");
}
y(28 3);
g
y(3 5);
(% &
);
for(i=1;i<=lim;i++)
{
gotoxy(col,11);
(%
2);
col=col+4;
y(3 22);
(PRESIONE UNO PARA VOLVER A REPETIR EL
PROCESO O 0 PARA FINALIZAR::);
(% );
Finalizacin
del
programa
getch();
}
3.- CORRIDO
#include<stdio.h>
Es
el
inicio de
ejecucin
la
del
int limite,i,fla,op; clrscr();
for(i=1;i<=80;i++)
Inicio de un ciclo
de contiene un
gotoxy(i,1);printf("*");
gotoxy(i,24);printf("*");
}
for(i=1;i<=24;i++)
{
gotoxy(1,i);printf("*");
gotoxy(80,i);printf("*");
}
gotoxy(25,5);printf("Series");
gotoxy(15,6);
Inicio de un ciclo
de contiene un
Imprime
un
mensaje
Lee
datos
scanf("%d",&limite);
ingresa
fla=6;
Igualacin desde
una
cierta
for(i=2;i<=limite;i+=2)
{
gotoxy(20,fla+1);printf("%d",i);
contador
Finalizacin
programa
del
getch();
}
3.- CORRIDO
#include<conio.h>
#include<stdio.h>
LIBRERIAS
HABILITA
Inicio
de
void main()
un
programa
Declaracin
variables
do
{
clrscr();
veces
de
{
int i,f,l,d,op;
el
programa
for(i=1;i<=80;i++)
{
gotoxy(i,1);printf("*");
gotoxy(i,24);printf("*");
}
Inicio de un ciclo
con limite
for(i=1;i<=24;i++)
{
gotoxy(1,i);printf("*");
gotoxy(80,i);printf("*");
Inicio de un ciclo
de contiene un
Genera ubicacin
}
gotoxy(15,2);printf("Tabla de multiplicar");
gotoxy(10,3);
Imprime mensajes
printf("Factor: ");
Permite
scanf("%d",&f);
ingresar
datos
operaciones
gotoxy(10,4);printf("Limite: ");scanf("%d",&l);
for(i=1;i<=l;i++)
{
d=f*i;
gotoxy(10,4+i);printf("%d",f);
gotoxy(18,4+i);printf("%d",d);
gotoxy(12,4+i);printf("*");
gotoxy(16,4+i);printf("=");
gotoxy(14,4+i);printf("%d",i);
}
gotoxy(15,20);printf("Desea salir 1/0: ");scanf("%d",&op);
del
ciclo
while
Cierre
del
getch();
}
programa
Programa 15
Enunciado:
Disee un programa que me permita visualizar la factorial de un nmero ingresado desde
teclado.
Las libreras sirven para llamar a las funciones que se desea
Codificado
#include<stdio.h>
#include<conio.h>
#include<string.h>
main()
{
Es el inicio de la ejecucin
Es para abrir el programa
Sirve
para
declarar
las
do
Es para que cumpla una condicin y tiene retorno
fila=6;
fact=1;
clrscr();
limpia la pantalla
gotoxy(31,2);printf("FACTORIAL DE UN NUMERO");
imprime el titulo
for(i=1;i<=80;i++)
inicializa el for
{
llaves de inicio del for
gotoxy(i,1);printf("*");
impression de *
gotoxy(i,24);printf("*");
}
finalize el for
for(i=1;i<=24;i++)
inicializa el for
{
llave de inicio del for
gotoxy(1,i);printf("*");
gotoxy(80,i);printf("*");
imprime *
}
finaliza el ciclo for
gotoxy(3,4);printf("Ingrese un numero: ");scanf("%d",&num); imprime y lee variables
for(i=1;i<=num;i++)
inicia el for hasta num
{
llave de inicio de for
fact=fact*i;
contador
gotoxy(3,fila);printf("Factorial de %d: %d",i,fact);
inpresion de resultados
fila=fila+1;
contador de dila
}
cierra llaves de for
gotoxy(3,23);printf("PRESIONE 1 PARA CALCULAR OTRO FACTORIAL O 0 PARA
FINALIZAR: ");scanf("%d",&op);
}
cierre de do
while(op==1);
reconoce la opcion
getch();
pausa
}
finalisa el programa
1. Corrido del Progrma:
Programa 16
1.- Enunciado:
Disee un programa que me permita generar una serie de nmeros, en donde el numerador es
cualquier factor ingresado desde teclado, y el numerador es la serie de los nmeros impares.
2.- Codificado:
#include<stdio.h>
#include<conio.h>
activacin de librerias
#include<string.h>
main()
cabeza del programa
{
llave de inicio de programa
int i, j, np, cont=0, c=10, res, op, col=15, imp=1;
declaracion de variables
do
inicio del ciclo do
{
llave de inicio
imp=1;
inicializo imp en 1
col=15;
columna en 15
c=10;
c en 10
Programa 17
Disee un programa en C++ que me permita generar n nmeros primos, el proceso se repite n
veces y se visualiza el borde de pantalla.
2.- Copdificado
#include<conio.h>
#include<stdio.h>
activacion de librerias
main()
inicio del programa
{
int i=0,j=0,lt,c,res=0,op=1,nc=0;
do
{
clrscr();
for(i=1;i<=24;i++)
{
Inicio del programa e proceso de
gotoxy(1,i);printf("*");
impresin del borde en el programa
gotoxy(79,i);printf("*");
}
for(i=1;i<=80;i++)
{
gotoxy(i,1);printf("*");
gotoxy(i,24);printf("*");
}
gotoxy(29,2);printf("NUMEROS PRIMOS");
Impresin de datos
gotoxy(6,4);printf("INGRESE EL LIMITE : ");scanf("%d",<);
gotoxy(6,6);printf("1");
c=2;
for(i=2;i<=lt;i++)
{
for(j=1;j<=c;j++)
proceso para calcular los numerous primos
{
if(i%j==0)
{
nc=nc+1;
}
}
cierre de los ciclos for
if(nc==2)
{
printf("%6d",i);
impresion de i
Programa 18
Realice un programa que me permita generar la siguiente serie de datos: como numerador la
serie de los impares y como denominador la factorial.
2.-Codificado:
#include<stdio.h>
activacion de librerias
#include<conio.h>
void main()
{
int i,l,a,b,c,op;
inicio del programa y declaracion de variables
float f;
do
{
clrscr();
for(i=1;i<=80;i++)
{
gotoxy(i,24);printf("*");
gotoxy(i,1);printf("*");
proceso de impresion de borde
}
for(i=1;i<=24;i++)
{
Programa 19
Genere n elementos de la siguiente serie: cualquier factor ingresado desde teclado como
numerador, el denominador nmeros pares.
1. Enunciado:
Genere n elementos de la siguiente serie: cualquier factor ingresado desde teclado como
numerador, el denominador nmeros pares.
{
int res,j,i,col,lim,op,cont,den;
do
{
den=-1;
cont=0;
res=1;
col=5;
Limpia pantalla
gotoxy(i,24); printf("+");
for(i=1;i<=24;i++)
{
gotoxy(1,i); printf("+");
gotoxy(80,i); printf("+");
}
gotoxy(20,3); printf("**SERIE DE NUMEROS PRIMOS**");
gotoxy(10,5); printf("INGRESE LIMITE==>");
scanf("%d",&lim);
for(i=1;i<=lim;i++)
{
for(j=1;j<=i;j++)
{
res=i%j;
if(res==0)
Operacin
para
obtener
el
{
cont=cont+1;
Sirve
para
ir
}
}
if(cont==2)
Indica si es impar o no
{
gotoxy(col,7); printf("%d",i);
Imprime resultado
den=den+2;
gotoxy(col,8); printf("-");
gotoxy(col,9); printf("%d",den);
Imprime lnea
Imprime
}
gotoxy(10,20); printf("PRESIONE 1 SI DESEA REPETIR EL PROCESO CASI CONTRARIO 0==>");
scanf("%d",&op);
}
while(op==1);
getch();
ANALISIS
El primer ciclo lleva la cuenta de los nmeros de 1 a lim de uno por uno en la variable c, luego se
inicia un ciclo de 1 a i en la variable j. Este ciclo se har n veces porque est dentro de el primer
ciclo, en la variable res se guarda el residuo de dividir i / j , si el residuo es cero, se incremento al
contador, si al terminarse el segundo ciclo el contador es igual a 2, significa que el nmero es primo y
lo imprime, y eldenominador solo le va sumando 2 al numero que ingrese el usuario
#include<conio.h>
#include<stdio.h>
main()
{
int i,lim,col,a,b,c,fibo,op,num
do
{
fibo=0;
a=1;
num=-1;
clrscr();
Limpia
for(i=1;i<=80;i++)
{
gotoxy(i,1); printf("*");
gotoxy(i,24); printf("*");
for(i=1;i<=24;i++)
{
gotoxy(1,i); printf("*");
gotoxy(80,i); printf("*");
}
Empezamos
escribir
lo
que
scanf("%d",&lim);
for(i=1;i<=lim;i++)
num=num+2;
gotoxy(col,7); printf("%d",num);
Imprime
el
c=a+b;
a=b;
b=c;
fibo=c;
gotoxy(col,9); printf("%d",fibo);
gotoxy(col,8); printf("-");
col=col+5;
Imprime
el
}
gotoxy(10,20);
printf("PRESIONE 1 SI DESEA REPETIR EL PROCESO CASO CONTRARIO 0==>");
scanf("%d",&op);
Final
del
ciclo
do
getch();
para finalizar
ANALISIS
En este programa se va smando a col el umero 5 para que todos a fraciones esten en su posici{on
correcta adema{as se utiliza un iclo do while para que se repita el proceso tanta veces quiera el
usuario.
CORRIDO
CODIFICACION:
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
void borde()
{
int i;
for(i=1;i<=24;i++)
gotoxy(1,i); printf("*");
gotoxy(80,i); printf("*");
}
}
void main()
{
int i,suma,a,b,resta,multi,op;
float divi;
do
{
clrscr();
borde();
Proceso del
opciones
{
case 1:
clrscr();
Limpia pantalla
borde();
Llama al borde
men
de
Se realiza la operacin
case 2:
Segunda opcin
clrscr();
Limpia pantalla
borde();
Llama al borde
Imprime resultado
gotoxy(20,3); printf("2.-RESTA");
gotoxy(10,5); printf("INGRESE EL PRIMER VALOR==>"); scanf("%d",&a);
gotoxy(10,7); printf("INGRESE EL SEGUNDO VALOR==>"); scanf("%d",&b);
if(a>b)
{
resta=a-b;
Se realiza la operacin
Imprime resultado
}
else
Caso contrario
{
gotoxy(10,11); printf("ERROR");
}
break;
case 3:
clrscr();
Limpia pantalla
borde();
Llama al borde
gotoxy(20,3); printf("3.-MULTIPLICAION");
gotoxy(10,5); printf("INGRESE EL PRIMER VALOR==>"); scanf("%d",&a);
gotoxy(10,7); printf("INGRESE EL SEGUNDO VALOR==>"); scanf("%d",&b);
multi=a*b;
Operacin
Imprime resultado
Limpia pantalla
borde();
Llama al borde
gotoxy(20,3); printf("4.-DIVISION");
gotoxy(10,5); printf("INGRESE EL PRIMER VALOR==>"); scanf("%d",&a);
gotoxy(10,7); printf("INGRESE EL SEGUNDO VALOR==>"); scanf("%d",&b);
if(a>b)
{
Operacin
divi=a/b;
Imprime resultado
}
else
Caso contrario
{
gotoxy(10,9); printf("ERROR");
}
break;
case 5:
exit(0);
break;
gotoxy(10,20);
printf("PRESIONE 1 PARA REPETIR EL PROGRAMA CASO CONTRARIO 0==>");
scanf("%d",&op);
}
-while(op==1);
getch();
}
ANALISIS
En ese programa se utiliza un menu de opciones para indicar las diferente alternativas que hay y se
un sentencia selectiva llamada switch que sirve para que escoja no de lo procesos que se debe
realizar, se utiliza el ciclo do while para repetir el proceso tantas veces quiera el usuario.
CODIFICACION:
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
void borde()
borde
Declaracin de variable para el borde
int i;
for(i=1;i<=80;i++)
{
gotoxy(i,1); printf("*");
gotoxy(i,24); printf("*");
for(i=1;i<=24;i++)
gotoxy(1,i); printf("*");
gotoxy(80,i); printf("*");
}
}
void main()
{
int ar,per,op,c,d,r,h,a,resultado,b;
float pi=0.00,perimetro=0.00,area=0.00;
do
{
decimales
Cumple una funcin que tiene retorno
clrscr();
Limpia
borde();
Lama
pi=3.141592654;
Indicamos el valor de
gotoxy(10,13); printf("5.-SALIR");
gotoxy(10,15); printf("INGRESE LA OPCION==>");
scanf("%d",&op);
switch(op)
clrscr();
Limpia pantalla
borde();
Llama al borde
Imprime resultado
case 2:
Segunda opcin
clrscr();
Limpia pantalla
borde();
Llama al borde
men
de
Imprime resultado
case 3:
Tercera opcin
clrscr();
Limpia pantalla
borde();
Llama al borde
Operacin
Imprime resultado
gotoxy(10,11); printf("***PERIMETRO***");
gotoxy(10,13); printf("INGRESE EL VALOR==>"); scanf("%d",&d);
perimetro=pi*d;
Operacin
case 4:
Cuarta opcin
clrscr();
Limpia pantalla
borde();
Llama al borde
Imprime resultado
Operacin
Imprime resultado
gotoxy(10,13); printf("***PERIMETRO***");
gotoxy(10,15); printf("INGRESE TERCER VALOR==>"); scanf("%d",&c);
per=h+b+c;
Operacin
Imprime resultado
case 5:
Quinta opcin
exit(0);
break;
}
Cierra ciclo switch
gotoxy(10,23); printf("PARA REPETIR EL PROCESO PRESIONE 1 CASO CONTRARIO 0==>");
scanf("%d",&op);
}
Cierra ciclo do while
while(op==1);
getch();
finalizar
ANALISIS
Este programa utiliza un men de opciones de las reas y permetros de las figuras geomtricas,
utilizamos una sentencia selectiva switch para que seleccione el proceso que debe realizar, al inicio
se declara a la variable pi con s valor ara que se pueda ejecutar correctamente en el momento de
realizar la operacin, se utiliza un ciclo do while para que el proceso se repita tantas veces quiera el
usuario
CORRIDO
Programa 25
Disee un programa a travs de un men de opciones que me permita calcular las 6
operaciones bsicas con sus respectivas validaciones. Estas son suma, resta, multiplicacin,
divisin, potenciacin y radicacin.
ANLISIS
Suma h=b + a;
H=2+5
H=7
Resta H = b a;
b>a h= 5-2
h= 3
Divisin h=b/a;
b>a
h=6/3
h=2
Potenciacin h=
h=
h=8
Multiplicacin h = a*b
h= 3*4
h= 12
Radicacin
h=
h=
h=8
CODIFICADO:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
ACTIVACIN DE LIBRERAS
Gestin de memoria dinmica, control de procesos y otras.
Activa la cadena de caracteres.
Inicializa el programa.
void borde()
{
int i;
for(i=1;i<=80;i++)
{
gotoxy(i,1);printf("*");
Inicializa la funcin del borde.
gotoxy(i,24);printf("*");
}
Declaracin de variables.
for(i=1;i<=24;i++)
{
Inicializacin del for.
gotoxy(1,i);printf("*");
gotoxy(80,i);printf("*");
}
}
void main ()
Inicializacin del programa.
{
int op,i,a,p,h,j,w,x,y,z,b;
Declaracin de variables.
Inicializamos; j=1;
j=1;
Limpiar la pantalla
Impresin del borde
IMPRESIN DE
DATOS
Impresin y lectura
clrscr();
borde();
gotoxy(35,2);printf("***SUMA***");
gotoxy(25,6);printf("INGRESE EL PRIMER VALOR : ");scanf("%d",&b);
gotoxy(25,7);printf("INGRESE EL SEGUNDO VALOR: ");scanf("%d",&a);
h=b+a;
gotoxy(48,8);printf(" ---");
gotoxy(38,9);printf(" RESPUESTA : %d",h);
break;
case 2 :
clrscr();
borde();
gotoxy(35,2);printf("***RESTA***");
gotoxy(25,6);printf("INGRESE EL PRIMER VALOR : ");scanf("%f",&b);
gotoxy(25,7);printf("INGRESE EL SEGUNDO VALOR: ");scanf("%f",&a);
h=b-a;
gotoxy(48,8);printf(" ---");
gotoxy(38,9);printf(" RESPUESTA : %f",h);
break;
case 3 :
clrscr();
borde();
gotoxy(35,2);printf("***MULTIPLICACION***");
gotoxy(25,6);printf("INGRESE EL PRIMER VALOR : ");scanf("%f",&b);
gotoxy(25,7);printf("INGRESE EL SEGUNDO VALOR: ");scanf("%f",&a);
h=b*a;
Inicializaci
n limpiar la
pantalla
impresin
del
borde
impresin y
proceso de
suma
Inicializaci
n del case2
limpiar
la
pantalla
proceso de
la resta e
impresin
Proceso
impresin de la
multiplicacin
/*inicializa el case 7
/*sale del programa
/* Finaliza el switch
default:
clrscr();
/*caso contrario
/* limpia la pantalla
Finaliza
Inicializa
el
el
case 4 lectura
proceso
impresin de la
divisin
validacin
de
Inicializa
el
case 5 lectura
proceso
impresin de
la
Inicializa
el
case 6 lectura
proceso
impresin de la
potenciacin
Programa 26
Disee un programa que me permita realizar las conversiones bsicas: metros, kilmetros,
decmetros, hectmetros.
Codificacin:
#include<conio.h>
#include<stdio.h>
Activacin de libreras y
#include<string.h>
comienzo del programa
#include<stdlib.h>
#include<math.h>
void borde()
{
int i;
for(i=1;i<=80;i++)
Realizacin del Borde con
{
funcin
gotoxy(i,1);printf("*");
gotoxy(i,24);printf("*");
}
for(i=1;i<=24;i++)
/*for inicializa en 1 hasta 24
{
/*abrimos la llave del for
gotoxy(1,i);printf("*");
/*impresin de * en la columna 1 fila i++
gotoxy(80,i);printf("*");
/*impresin de * en la columna 80 fila i++
}
}
void main ()
/*inicializacin del programa
{
/* llaves de inicio de programa
int op,i,p,j,w,x,y,z,mk;
Declaracin de variables
float a,e,b,h,d,cm,mm,m,k,dm;
j=1;
/* inicializacion de j en 1
do
/*inicialisa el do
{
clrscr();
/*borrado de pantalla
borde();
/*llamado a la funcin borde
textcolor(BLUE);
/* color azul del texto
gotoxy(35,1);printf("EJERCICIO N.-");
gotoxy(25,3);printf("**MENU DE CONVERCIONES BASICAS**");
gotoxy(25,6);printf(" EL VALOR A INGRESAR ES EN:");
gotoxy(25,7);printf("1.- KILOMETROS");
Impresin
gotoxy(25,8);printf("2.- DECAMETROS ");
men
del
transformacin.
// inicia el case 6
Inicializacin de
case 5 borrado
de
pantalla
funcin
borde
impresin
ttulo
del
lectura
del valor en mm
proceso para la
transformacin.
Impresin
resultados
de
CORRIDO
Programa 27
Disee un programa que me permita generar el siguiente men de opciones de la siguiente
comprobacin de los siguientes nmeros :
1. Nmeros Pares
2. Nmeros Impares
3. Nmeros primos
4. Salir
Anlisis :
Nmeros pares =0+2=2+2=4+2=6..N
Nmeros impares=1+2=3+2=5+2=7...N
Nmeros primos= 1,3,5,7.n
Codificacin:
#include<conio.h>
#include<stdio.h>
Activacin de libreras
CORRIDO:
Programa 28
Disee un programa que me permita realizar un borde utilizaciones funciones.
Analisis-:
Utilizacion de for en:
filas hasta 24
Columnas hasta 80
Programa 29
Disee un programa utilizando funciones que me permita generar n nmeros naturales
Anlisis:
Codificacin:
#include<conio.h>
Activacin
de
#include<stdio.h>
int limite,op,i,fila,col; // declaracin de variables
void borde()
{
for(i=1;i<=80;i++)
{
gotoxy(i,1);printf("*");
gotoxy(i,24);printf("*");
}
Funcin borde
for(i=1;i<=24;i++)
{
gotoxy(1,i);printf("*");
gotoxy(80,i);printf("*");
}
}
void numeros (int limite1)
{
col=20;
//columna inicia en 20
fila=5;
// fila inicia en 5
for(i=1;i<=limite1;i++)
inicia 1 hasta n I aumenta i++
{
gotoxy(col,fila);printf("%d",i); //imprime i
fila=fila+1;
//fila incrementa +1
if(fila==18)
//si la fila llega a 18 se aumenta 10
{
Funcin
naturales
nmeros
Impresin del
ttulo funcin
limite
Programa 30
Disee un programa utilizando funciones que me permita calcular el valor de las comisiones
por venta de vehculos segn los siguientes condicionamientos, existen 3 vendedores, el
vendedor 1, el vendedor 2, el vendedor 3, se asigna un valor de comision si:
La venta es 8500 y 13500 la comisin es del 3%
La venta es > 13500 y 18000 la comisin es del 8%
La venta es > 18000 la comisin es del 11%
Obtenga el nmero de ventas realizadas por vendedor, el total de ventas realizadas, el total de
comisiones recibidas y el total general de todas las comisiones.
Analisis:
Se utilizara funciones, condiciones, ademas de eso se imprimira el borde de pantalla.
Las condiciones sern:
La venta es 8500 y 13500 la comisin es del 3%
La venta es > 13500 y 18000 la comisin es del 8%
La venta es > 18000 la comisin es del 11%
para los tres vendedores
CoDIFIcado:
#include<stdio.h>
Activacin
librerias
de
case 1:
// inicio de case 1
clrscr();
// borrado de pantall
borde();
//llama la funcion borde
cont1=cont1+1;
//cont va ir sumando cada vez que se repita
gotoxy(10,5);printf("Vendedor 1: ");scanf("%f",&venta); //impresin y lectura de
datos
v1(venta);
// llama la funcion venta
contv=contv+tv;
//va ir incrementado cada vez que se repita
val=val+venta;
// va ir incrementado cada vez que se repita
gotoxy(15,20);printf("Desea insertar otra venta 1/0: ");scanf("%d",&op1);
}while(op1==1);
// evala la opcin escogida
break;
// filaliza el switch
do
{
case 2:
// inicio de case 2
clrscr();
// borrado de pantalla
borde();
// llamado a la funcion bnorde
cont1=cont1+1;
//va ir incrementado cada vez que se repita
gotoxy(10,5);printf("Vendedor 2: ");scanf("%f",&venta);
v1(venta);
//va ir incrementado cada vez que se repita
Case
limpia
pantalla
llama
borde
Contadore
s
de
Programa 32
Disee un programa permita obtener el valor a pagar por concepto consumo de agua potable
segn el siguiente condicionamiento.
Se ingresa desde teclado el nombre del abonado y las lecutras del medidor del mes antesior y
del mes actual, considerando siempre que la lecutura actual no puede ser menor que la anterio,
la diferenciaentre las dos lecturas me permite obtener el consumo actual las mismas que tiene
el siguiente condicionamiento
Si el consumo es 30 litros de agua, se le factura el valor minimo que son Usd. 6,00
Si el consumo es > 30 y que 200 se cobra, 1,50 centavos cada litro de agua
Si el cosnumo es > 200 litros se cobra 2,75 cada litro
A este importe total obtenido se le aade los impuestos de ley
5% Basurero
%5 IECE
3% Municipio
Obtenga el costo total de la factura
El programa debe funcionar para n usuarios al final se visualiza el nmero
total de
usuarios recaudados y el valor total recaudado.
CODIFICADO:
#include<conio.h>
Activacin de librerias
#include<stdio.h>
#include<stdlib.h>
int op,i,tr=0,valor,cuenta,tao,n=0,consumo,l1,l2,consumo1,consumo2,muni,bas,iece;//
declaracion de variables
char nom; // declaracion de caracteres
void borde()
{
for(i=1;i<=80;i++)
{
gotoxy(i,1);printf("*");
gotoxy(i,24);printf("*");
Funcin borde
}
for(i=1;i<=24;i++)
{
gotoxy(1,i);printf("*");
gotoxy(80,i);printf("*");
}
}
void decis (int consumo2)
{
if(consumo2<30)
Impresi
n
de
ELEMENTO 3
http://www.youtube.com/watch?v=sMy7EbJlhp4
ELEMENTO 4
Funciones vectores matrices
PROGRAMA 33
1. ENUNCIADO
Disee un programa utilizando funciones que me permita ingresar 3 valores enteros desde
teclado entre 4 y 64 y presentarlos en forma ordenada ascendentemente.
2. ANALISIS
Para este programa se necesitan varias funciones de condicin if para hacer la comparacin
y as poder imprimir los nmeros en forma ascendente y para validar los nmeros tambin
otros if para que el nmero ingresado este el rango que se peda en el programa
3. DOCUMENTACION
#include<stdio.h>
LIBRERIA
#include<conio.h>
int i,a,b,c,op;
Declaracin de variables
void borde()
Inicio de la funcin borde
{
for(i=1;i<=80;i++)
inicio del for
{
gotoxy(i,1);printf("");
gotoxy(i,24);printf("");
}
for(i=1;i<=24;i++)
{
Impresin del margen
gotoxy(1,i);printf("");
gotoxy(80,i);printf("");
}
}
void numero()
Inicio de la funcin void main
{
do
Inicio del do
{
gotoxy(24,4);printf("
");
Ingreso el primer numero
gotoxy(15,4);printf("Numero 1; ");scanf("%d",&a);
}
Si ese numero cumple con la
while(a>64 || a<4);
do
Inicio del do
{
gotoxy(24,5);printf("
");
Ingreso el segundo numero
gotoxy(15,5);printf("Numero 2: ");scanf("%d",&b);
}
Si ese numero cumple con la
while(b>64 || b<4);
do
Inicio del do
{
gotoxy(24,6);printf("
");
gotoxy(15,6);printf("Numero 3: ");scanf("%d",&c);
Ingreso el tercer numero
}while(c>64 || c<4);
}
void orden()
Inicio de la funcin void
{
if(a<=b && a<=c)
{
if(b<=c)
{
gotoxy(15,8);printf("%d %d %d",a,b,c);
}
if(c<=b)
{
gotoxy(15,8);printf("%d %d %d",a,b,c);
}
Proceso para presentar
}
los
nmeros
if(b<=a && b<=c)
ingresados en forma
{
ordenada
if(a<=c)
ascendentemente.
{
gotoxy(15,8);printf("%d %d %d",b,a,c);
}
if(c<=a)
{
gotoxy(15,8);printf("%d %d %d",b,c,a);
}
}
if(c<=a && c<=b)
{
if(a<=b)
{
gotoxy(15,8);printf("%d %d %d",c,a,b);
}
if(b<=a)
{
gotoxy(15,8);printf("%d %d %d",c,b,a);
}
}
gotoxy(15,7);printf("El orden es:");
}
Borrar
Llamar
al borde
pantalla
Llamar a la
numero();
orden();
funcin
Llamar numero
a la funcin
el proceso se repetir
getch();
}
PROGRAMA 34
1. ENUNCIADO
Disee un programa utilizando funciones que me permita generar y visualizar los nmeros perfectos.
2. ANALISIS
3. DOCUMENTACION
#include<stdio.h>
LIBRERIA
#include<conio.h>
#include<math.h>
int i,r,dos=2,ex=1,ex2=2,s,v,l1,expo2=2,expo3=3,a,b,c,f=9,i,op;
void borde()
{
for(i=1;i<=80;i++)
{
gotoxy(i,1);printf("*");
gotoxy(i,24);printf("*");
}
for(i=1;i<=24;i++)
{
gotoxy(1,i);printf("*");
gotoxy(80,i);printf("*");
}
}
Inicio de la funcin
perfectos
Declaracin de variables
clrscr();
Llamar al borde
borde();
gotoxy(30,4);printf("SERIE DE NUMEROS PERFECTOS");
gotoxy(5,6);printf("Ingrese un limite: ");scanf("%d",&l1);
Impresin del
Ingreso del limite
perfecto(l1);
gotoxy(50,22);printf("
");
gotoxy(4,22);printf("PRESIONE 1 PARA VOLVER AL MENU O 0 PARA SALIR: ");scanf("%d",&op);
}
while(op==1);
Si la opcin ingresada por el usuario es igual a 1
getch();
}
Fin del
el proceso se repetir
programa
Programa 35
ENUNCIADO
Disee un programa utilizando funciones que me permita resolver un sistema de ecuacin
de 2 grado.
Anlisis.
Partiremos escribiendo la frmula para tener base de que noms se va a utilizar.
La frmula genera dos respuestas: Una con el signo ms (+) y otra con el signo menos
() antes de la raz. Solucionar una ecuacin de segundo grado se limita, entonces, a
identificar las letras a, b y c y sustituir sus valores en la frmula.
La frmula general para resolver una ecuacin de segundo grado sirve para resolver
cualquier ecuacin de segundo grado, sea completa o incompleta, y obtener buenos
resultados tiene que ver con las tcnicas de factorizacin.
Codificacin.
#include <stdio.h>
#include <stdlib.h>
Activation de Liberia
#include <conio.h>
#include <math.h>
int i,j,op;
void borde()
{
textcolor(BLUE);
for(i=1;i<=80;i++)
{
gotoxy(i,1);cprintf("*");
gotoxy(i,24);cprintf("*");
for(i=1;i<=24;i++)
{
gotoxy(1,i);cprintf("*");
gotoxy(80,i);cprintf("*");
// impression de *
void seg ()
// inicio de la function
float a, b, c;
float x1, x2;
float x1real, x2real;
/* complejas
*/
float discriminante;
/* Presentacion */
system ("cls");
/* Borrado de la pantalla */
borde();
gotoxy(10,3);printf("RESOLUCION DE LA ECUACION DE SEGUNDO GRADO\n");
gotoxy(2,4);printf("========================================================
======\n");
gotoxy(10,5);printf("El programa soluciona la ecuacin de segundo grado\n");
gotoxy(10,6);printf("
\n");
gotoxy(10,7);printf("ax + bx + c = 0
\n");
/* Peticin de datos */
/* Clculos y resultados */
// calculo de discriminate
printf("\n La ecuacion\n");
printf(" %14d\n", 2);
printf(" %12gx + %gx + %g = 0\n", a, b, c); // impresiones
printf(" tiene por soluciones ");
if (discriminante == 0)
// sentencia si dis es = a 0
// inicio de if
printf(" una raiz real doble\n"); // impresin
x1 = x2 = -b / (2*a);
// calculo
// impresin en pantalla
// fin de if
// clculos
printf(" dos raices reales\n");
x1 = (-b + sqrt(discriminante)) / (2*a);
x2 = (-b - sqrt(discriminante)) / (2*a);
// impresiones
printf("x1 = %.2f\n", x1);
printf("x2 = %.2f\n", x2);
}
Else
{
// caso contrario
//impresin en pantalla
printf("dos races complejas conjugadas\n");
//clculos
x1real = x2real = -b / (2*a);
x1imag = sqrt(-discriminante) / (2*a);
x2imag = -sqrt(-discriminante) / (2*a);
// impresiones
printf("x1 = ( %.2f, %.2fi)\n", x1real, x1imag);
printf("x2 = ( %.2f, %.2fi)\n", x2real, x2imag);
}
}
void main ()
{
Do
//ciclo do
// llave de inicio de do
// funcion borde
// funcion seg
Corrido
Programa 36
ENUNCIADO
Disee un programa en C, utilizando funciones que permita:
1.- Obtener la edad de una persona en aos, meses y das
2.-Descomponer un nmero de 4 cifras en todos sus componentes
Anlisis: Para calcular el nmero de aos, meses y das que tiene una persona debemos tener
en cuenta que debemos restar del nmero del ao actual el ao de nacimiento, y de la misma
forma los meses y los das, si uno no nos alcanza para poder restar, debemos pedir prestado
una unidad, bien sea al mes o al aos, dependiendo el orden. Entonces primero ingresamos
por teclado la fecha de nacimiento y la fecha actual, y procedemos a realizar los procesos
mencionados anteriormente. Ahora bien, para descomponer un nmero de 4 cifras, debemos
primero dividir dicho nmero ingresado para 1000 y multiplicarlo por 1000,
(um=(num/1000)*1000), realizamos la divisin con / para tomar solo el nmero entero y al
multiplicarlo por 1000 podremos encontrar la unidad de millar del nmero ingresado, y restar
del nmero ingresado la unidad de millar, (num=num-um), de igual forma ser para encontrar
la centena, (c=(num/100)*100), (num=num-c), la decena ,(d=(num/10)*10), (num=num-d), y
la unidad es lo que nos sobra. Y al final solo visualizamos los resultados.
Documentacin:
#include<conio.h>
#include<stdio.h>
librerias
#include<stdlib.h>
int op, d, m, a, dn, mn, an, a1, dd, mm, aa, mmm, ddd, num, um, c, dec;
void borde()
{
int i;
clrscr();
for(i=1;i<=80;i++)
{
gotoxy(i,1);printf("*");
gotoxy(i,24);printf("*");
}
for(i=1;i<=24;i++)
{
gotoxy(1,i);printf("*");
Funcin borde
gotoxy(80,i);printf("*");
}
}
void edad()
{
do
{
gotoxy(11,6);printf(" ");
Programa 37
ENUNCIADO
Disee un men de opciones utilizando funciones que me permita disear 4 estilos de bordes
diferentes.
Anlisis: Creo un men con opciones para crear los distintos estilos de borde. La primera
opcin ser de un borde simple, la segunda de un borde doble, la tercera de un borde con
encabezado, y la cuarta un borde al gusto del programador. Para realizar los distintos estilos
de borde utilizamos los cdigos ASCII.
Documentacin:
#include<conio.h>
librerias
#include<stdio.h>
#include<stdlib.h>
int op;
void borde()
{
int i;
clrscr();
for(i=1;i<=80;i++)
{
gotoxy(i,1);printf("*");
Funcin borde
gotoxy(i,24);printf("*");
}
for(i=1;i<=24;i++)
{
gotoxy(1,i);printf("*");
gotoxy(80,i);printf("*");
}
}
void bsim()
{
int i;
clrscr();
gotoxy(1,1);printf("");
gotoxy(80,1);printf("");
for(i=2;i<=79;i++)
{
gotoxy(i,1);printf("");
gotoxy(i,24);printf("");
Funcin borde
}
gotoxy(1,24);printf("");
gotoxy(80,24);printf("");
for(i=2;i<=23;i++)
{
gotoxy(1,i);printf("");
gotoxy(80,i);printf("");
Funcin borde
Funcin borde
Programa 38
Disee un programa utilizando vectores y funciones que me permita ingresar datos a
un vector y presentarlos en otro vector
ANLISIS
Primero ingresamos las libreras que vamos a utilizar en este programa en este caso
son las dos principales la STDIO.H Y LA CONIO.H, despus como es un programa
con funciones declaramos la variable que vamos a utilizar globalmente.
Despus ingresamos una funcin con el nombre de borde para que nuestro
programa se visualice con un borde.
Luego realizamos el programa principal con un VOID MAIN () para que se abra el
programa principal seguido con la llave { y declaramos las dems variables a realizar
en el programa (int vector1[10],fila,op,lim;), despus ponemos un
do-while
para que se repita el programa n veces y llamamos las funciones realizadas y
realizamos el ingreso del lmite para que podaos ingresar datos a una funcin y que
luego se visualice.
CODIGO
#include<stdio.h>
#include<conio.h>
int i;
Declaramos
la
variable
global
void borde()
{
for(i=1;i<=80;i++)
{
gotoxy(i,1); printf("*");
gotoxy(i,24); printf("*");
for(i=1;i<=24;i++)
{
gotoxy(1,i); printf("*");
gotoxy(80,i); printf("*");
}
}
int vector1[10],fila,op,lim;
do
{
clrscr();
borde();
Ingresamos
el
fila=6;
for(i=1;i<=lim;i++)
{
do
{
gotoxy(20,fila); printf(" ");
gotoxy(20,fila); scanf("%d",&vector1[i]);
}
while(vector1[i]<3 || vector1[i]>23);
fila=fila+1;
}
fila=6;
for(i=1;i<=lim;i++)
{
gotoxy(40,fila); printf("%d",vector1[i]);
fila=fila+1;
}
gotoxy(10,20); printf("PRESIONE 1 PARA REPETIR EL PROGRAMA CASO
CONTRARIO 0==>");
Ingresamos otra opcin para ver si se repite el programa n
scanf("%d",&op);
getch();
programa
CORRIDO
Programa 38
ENUNCIADO
Disee un programa utilizando vectores y un men de opciones que me permita
realizar las 4 operaciones bsicas, estas son: suma, resta, multiplicacin y divisin.
ANALISIS
En este programa se realizan las operaciones bsicas que son la suma, resta,
multiplicacin y divisin utilizando un men de opciones y con vectores, en donde
tenemos que ingresar valores en dos vectores diferentes en el vector1 y vector2
para que vayan realizando las operaciones correspondiente teniendo en cuenta las
condiciones plantedas que se dieron en la resta y divisin en donde el valor del
vector1 debe ser mayor al valor del vector2 si no se cumple la condicin no se
realiza las operaciones y se imprime un mensaje.
CDIFICACION
#include<stdio.h>
#include<conio.h>
Ingreso
libreras
las
#include<stdlib.h>
int multivec[15],opc,divisionvec[15],
restavec[15],i,op,col,fila,vector1[15],vector2[15],
Declaracin de
variables
sumavec[15],limite1;
void borde()
Funcin borde
{
for(i=1;i<=80;i++)
{
gotoxy(i,1); printf("*");
gotoxy(i,24); printf("*");
}
Este proceso es
para realizar el
borde
for(i=1;i<=limite1;i++)
Utilizamos el for para poder
ingresar los valores del vector1 y
vector2 al final vamos sumando fila
para q vayan colocndose en las
posiciones correctas, cerramos la
laves del for y la llaves de la
funcin ingreso.
{
gotoxy(col,fila); scanf("%d",&vector1[i]);
gotoxy(col+10, fila); scanf("%d",&vector2[i]);
fila=fila+1;
}
}
void suma(int limite1)
fila=8;
for(i=1;i<=limite1;i++)
{
sumavec[i]=vector1[i]+vector2[i];
gotoxy(40,fila); printf("%d",sumavec[i]);
fila=fila+1;
fila=8;
for(i=1;i<=limite1;i++)
{
if(vector1[i]>=vector2[i])
{
restavec[i]=vector1[i]-vector2[i];
gotoxy(40,fila); printf("%d",restavec[i]);
}
else
{
gotoxy(40,fila); printf("NO SE PUEDE CALCULAR");
}
fila=fila+1;
}
}
void multi(int limite1)
fila=8;
}
void division(limite1)
fila=8;
for(i=1;i<=limite1;i++)
{
if(vector1[i]>=vector2[i])
{
divisionvec[i]=vector1[i]/vector2[i];
gotoxy(40,fila); printf("%d",divisionvec[i]);
}
else
{
gotoxy(40,fila);
printf("NO SE PUEDE CALCULAR");
}
fila=fila+1;
}
}
do
{
clrscr();
Limpia la pantalla.
borde();
Utilizamos la sentencia
switch para el men de
opciones.
{
clrscr();
borde();
gotoxy(30,3);printf("1.-SUMA");
gotoxy(11,7); printf("VECTOR 1");
gotoxy(21,7); printf("VECTOR 2");
gotoxy(40,7); printf("SUMA VECTOR");
gotoxy(10,5); printf("INGRESE LIMITE==>");
scanf("%d",&limite1);
Diseo de pantalla.
Diseo de la segunda
opcin del men de
opciones llamamos a las
funcione y utilizamos el
ciclo do while pa repetir el
proceso la veces que
desee el usuario, lo
Diseo de la tercera
opcin del men de
opciones llamamos a las
funcione y utilizamos el
ciclo do while pa repetir el
proceso la veces que
desee el usuario, lo
Cerramos
el
switch
limpiamos
pantalla
y
volvemos a llamar a la
funcin borde.
gotoxy(10,23);
printf("SI DESEA VOLVER AL MENU PRESIONE 1 CASO CONTRARIO O==>");
scanf("%d",&op);
}
while(op==1);
getch();
Pausa.
}
Cerramos la funcin main.
CORRIDO
Programa 39
Enunciado
Disee un programa utilizando vectores y funciones que me permita validar los datos de entrada de
un vector y presentarlos en un vector resultante
Anlisis
Ingresar el vector de entrada
Visualizar en un nuevo vector los vectores de entrada
Cdigo
#include<stdio.h>
#include<conio.h>
Liberia principal
void borde()
Inicio de funcion
{
for(i=1;i<=80;i++)
{
gotoxy(i,1);printf("*");
gotoxy(i,24);printf("*");
}
for(i=1;i<=24;i++)
{
gotoxy(1,i);printf("*");
gotoxy(80,i);printf("*");
}
}
Mensaje en la pantalla
do
{
leer la variable
fila=fila+1;
}
Fin de la funcin
void salida()
{
Inicio de la funcin
fila=10;
gotoxy(57,8);printf("Salida:");
for(i=1;i<=lim;i++)
Mensaje en la pantalla
{
gotoxy(60,fila);printf("%d",vector1[i]);
fila=fila+1;
}
cierre de la funcion
main()
Impremir el resultado
Blanqueado de pantalla
borde();
gotoxy(31,4);printf("PRESENTACION DE VECTORES");
entrada();
salida();
getch();
}
Corrido
Llamada de la funciones
pausa en la pantalla
Fin de programa principal
Mensaje en la pantalla
Programa 40
Enunciado
Disee un programa utiliza do vectores y funciones que me permita sumar los datos ingresados y
validados de un vector y presentar la sumatoria en un vector resultante.
Anlisis
Ingresar los datos y validar de un vector
Representar la sumatoria en un nuevo vector
Cdigo
#include<stdio.h>
Librera s principales
#include<conio.h>
int vector1[15],vector2[15],sumavector[15],fila=10,lim,i,col=20,op;
globales
void borde()
{
Inicio de la funcion
for(i=1;i<=80;i++)
{
gotoxy(i,1);printf("*");
gotoxy(i,24);printf("*");
}
for(i=1;i<=24;i++)
{
gotoxy(1,i);printf("*");
gotoxy(80,i);printf("*");
}
}
declareacion devariables
leer la variable
gotoxy(col+10,fila);scanf("%d",&vector2[i]);
fila=fila+1;
posiciones en la pantalla
Posicion en la pantalla
gotoxy(50,8);printf("vector resultante");
for(i=1;i<=limites;i++)
Mensaje en la pantalla
{
sumavector[i]=vector1[i]+vector2[i];
gotoxy(60,fila);printf("%d",sumavector[i]);
fila=fila+1;
posicion en la pantalla
Cierre de la funcion
main()
{
Do
{
fila=10;
Blanqueado de pantalla
borde();
Llamada de la funcin
gotoxy(31,4);printf("SUMA DE VECTORES");
gotoxy(15,8);printf("vector 1:");
Mensaje en la pantalla
gotoxy(27,8);printf("vector 2:");
gotoxy(22,6);printf("Ingrese el limite:");scanf("%d",&lim); Leer la variable
ingreso(lim);
suma(lim);
Llamada de la funciones
getch();
Pausa en la pantalla
Corrido
Programa 42
Disee un programa utilizando funciones que me permita ingresar n nmeros en un vector entre 6 y
26, recorra el vector y encuentre todas las posiciones pares y asgnelas a un nuevo vector, recorra el
vector original y encuentre todas las posiciones impares del vector y asgnelos a un nuevo vector,
visualice el vector de entrada y los vectores resultantes.
ANALISIS:
Nos pedir ingresar un lmite de datos y al frente nos debe imprimir en un vector los datos de las
posiciones pares y en otro vector nos imprimir los datos de las posiciones impares. Como as
tambin nos genera un borde como diseo del programa, y como final tenemos ingresar uno para
continuar utilizando nuestro programa o 0 para salir del mismo.
CODIFICADO:
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
int i, j=1, f, vect[10], vectpar[10], vectimp[10], op, l;
void bdob()
{
int i;
programa
Declaracin de
variables que se
utilizaran en el
programa
Funcin borde
clrscr();
gotoxy(1,1);printf("*");
gotoxy(80,1);printf("*");
for(i=2;i<=79;i++)
utilizando posiciones e
imprimiendo el borde
gotoxy(i,1);printf("*");
gotoxy(i,24);printf("*");
}
gotoxy(1,24);printf("*");
gotoxy(80,24);printf("*");
for(i=2;i<=23;i++)
{
gotoxy(1,i);printf("*");
gotoxy(80,i);printf("*");
que va a ir en pantalla
Proceso de comparacin si
la posicin es par y se
almacenara en un nuevo
vector y se imprimir en
pantalla utilizaremos el
gotoxy para posiciones en
}
f=10;
for(i=1;i<j;i++)
{
gotoxy(39,f);printf("%d",vectpar[i]);
f=f+1;
}
}
void impar()
{
j=1;
for(i=1;i<=l;i++)
{
Comparacin si la funcin es
impar
if(i%2==1)
{
vectimp[j]=vect[i];
j=j+1;
}
Almacenamiento en un nuevo
vector
}
}
void main()
Programa principal
{
do
{
flushall();
f=10;
clrscr();
bdob();
gotoxy(36,3);printf("VECTORES");
gotoxy(5,5);printf("Ingrese el limite>> ");scanf("%d",&l);
gotoxy(15,8);printf("VECTOR 1");
gotoxy(29,8);printf("POSICIONES IMPAR");
gotoxy(51,8);printf("POSICIONES PAR");
for(i=1;i<=l;i++)
{
gotoxy(3,f);printf("INGRESO %d::",i);
do
{
gotoxy(20,f);printf(" ");
gotoxy(20,f);scanf("%d",&vect[i]);
}
while(vect[i]<6 || vect[i]>26);
f=f+1;
getch();
}
CORRIDO:
Programa 43
Disee un programa utilizando funciones y vectores que me permita generar un vector de posiciones
pares con la serie del fibonasi y las posiciones impares con el factorial.
ANALISIS:
Nos pedir ingresar un limite de datos con ello nos generara internamente el fibonaci y factoreal y
nos imprimir las posiciones impares con el fibonaci y las posiciones pares con el factoreal.
CODIFICADO:
#include<conio.h>
#include<stdio.h>
int i,n,op,a,b,c,vect[25],fi;
float f;
void borde()
{
for(i=1;i<=79;i++)
{
gotoxy(80,1);printf("*");
gotoxy(1,1);printf("*");
gotoxy(i,1);printf("*");
gotoxy(i,24);printf("*");
}
for(i=2;i<=23;i++)
{
gotoxy(1,24);printf("*");
gotoxy(80,24);printf("*");
gotoxy(1,i);printf("*");
gotoxy(80,i);printf("*");
}
}
void serie(int m)
{
a=1;
FACTOREAL");
for(i=1;i<=m;i++)
{
f=f*i;
c=a+b;
a=b;
b=c;
gotoxy(15,8+i);printf("%d",c);
gotoxy(25,8+i);printf("%0.0f",f);
if(i%2==0)
{
vect[i]=c;
}
COMPRUEBA SI LA POSICION ES
PAR O IMPAR
else
{
vect[i]=f;
}
}
fi=9;
gotoxy(40,6);printf("POSICION");
for(i=1;i<=m;i++)
{
gotoxy(45,fi);printf("%d",vect[i]);
fi=fi+1;
}
}
void main()
PROGRAMA PRINCIPAL
{
do
LLAMAMOS A LA FUNCION
DEL BORDE
INGRESAREMOS UN LMITE
serie(n);
gotoxy(15,22);printf("DESEA CONTINUAR DIJITE 1 CASO CONTRARIO 0 ==> ");scanf("%d",&op);
}while(op==1);
getch();
}
CORIIDO:
Programa 44
1.- Enunciado:
Disee un programa utilizando funciones y vectores que me permita ingresa n
elementos en un vector entre 3 y 33, recorre el vector y encontrar todos los datos
2.-Codicifcado:
#include<conio.h>
Libreras principales
#include<stdio.h>
int i, f, vect[100], vectbusq[100], lim, op;
Variables Globales
void bdob()
{
int i;
clrscr();
textcolor(i);gotoxy(1,1);cprintf("");
gotoxy(80,1);cprintf("");
for(i=2;i<=79;i++)
{
textcolor(i);
Nuestro
Borde
acompaado de una
Funcin.
gotoxy(i,1);cprintf("");
gotoxy(i,24);cprintf("");
}
gotoxy(1,24);cprintf("");gotoxy(80,24);cprintf("");
for(i=2;i<=23;i++)
{
textcolor(i);
gotoxy(1,i);cprintf("");gotoxy(80,i);cprintf("");
}
}
void busq(int l)
Igualacin de variables
f=9;
for(i=1;i<=l;i++)
Este for nos indica el lmite y
abrimos la llave del primer for.
if(vect[i]%2==0)
{
gotoxy(34,f);printf("%d",vect[i]);
f=f+1;
}
}
f=9;
Igualacin de la variable
for(i=1;i<=l;i++)
{
if(vect[i]%2==1)
{
gotoxy(55,f);printf("%d",vect[i]);
f=f+1;
}
}
}
void main()
{
Dentro
del
segundo
for
realizamos un if donde nos
indica si el residuo de la divisin
es 1 su respuesta es impar,
abrimos llaves e imprimimos el
resultado impar en un nuevo
vector, y cerramos las llaves del
for como del if y de la funcin.
Abrimos la sentencia.
clrscr();
Limpiar pantalla.
bdob();
Posicin de fila
for(i=1;i<=lim;i++)
{
do
{
while(vect[i]<3 || vect[i]>33);
f=f+1;
Cerramos llave
gotoxy(18,f);printf(" ");
gotoxy(18,f);scanf("%d",&vect[i]);
busq(lim);
Llamamos
funcin
la
Programa 45
Disee un programa en c utilizando vectores y funciones que me permita generar con cualquier
factor impar ingresado desde teclado las posiciones pares del vector, y con um factor par las
posiciones impares del vector.
Libreras
Declaracin de variables
Inicio de la funcin
factor y del ciclo for
Programa 46
Disee un programa utlizando vectores y funciones que me permita ordenar un vector en forma
ascendente y descendente. Ingresado entre 6 y 26.
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
Libreras, declaracin de
variables he inicio de la
funcin borde
Proceso de borde
Inicio de funcin
ascendente calculamos
con dos for y una
condicin Y para la
impresin un for mas
para el vector
Inicio de funcin
descendente calculamos
con dos for
Inicio del
programa
principal
llamamos
funciones he
ingresamos el
limite
Programa 46
ENUNCIADO
Ingreso
las
libreras
#include<stdio.h>
#include<conio.h>
Declaracin
de
variables
int op,i,j,limite,au,aux,mu,factor,fa,fila,vecto[15];
void borde()
Funcin borde
{
for(i=1;i<=80;i++)
{
gotoxy(i,1);printf("*");
Este proceso es
gotoxy(i,24);printf("*");
para realizar el
borde
for(i=1;i<=24;i++)
{
gotoxy(1,i);printf("*");
gotoxy(80,i);printf("*");
}
}
Funcin
de
la
serie
Igualacin de las
variables
void facto()
{
for(i=1;i<=limite;i++)
{
hasta el lmite
if(i%2==1)
{
mu=mu+fa;
vecto[i]=mu;
En este proceso es para
else
nmeros
donde
impares
el
nmero
ingresado lo dividimos
factor=factor*au;
para
au=au+1;
sino
caso
contrario sacamos el
factor y despus vamos
vecto[i]=factor;
gotoxy(7,fila);printf("%d",vecto[i]);
fila=fila+1;
}
}
Ingresamos
una
void orden()
proceso
nos
vector
en
forma
ascendente vamos a
mandar dos for uno
que es interno y otro
que
es
donde
vector
despus
a
vecto[j]=aux;
vecto[i]=vecto[j];
externo
el
vector[j]
aux=vecto[i];
mandar
fila=9;
for(i=1;i<=limite;i++)
{
gotoxy(20,fila);printf("%d",vecto[i]);
fila=fila+1;
}
fila=9;
Este
proceso
nos
en
forma
ascendente vamos a
mandar dos for uno
es
externo
el
vector
for(i=1;i<=limite;i++)
{
for(j=1;j<=limite;j++)
{
if(vecto[i]>vecto[j])
{
aux=vecto[i];
vecto[i]=vecto[j];
vecto[j]=aux;
vamos
for(i=1;i<=limite;i++)
despus
gotoxy(35,fila);printf("%d",vecto[i]);
vamos
fila=fila+1;
}
}
Abro el programa
void main()
{
Abro el do
do
{
Limpio de pantalla
Llama a la funcin
clrscr();
borde();
de borde
Posicin en donde
gotoxy(25,3);printf("FacPares/Impares");
gotoxy(10,7);printf("Factor: ");scanf("%d",&fa);
quieres imprimir
Llamo a la funcin
facto();
facto
Llamo a la funcin
orden
orden();
Se me imprime
mensaje
para
continuar o terminar
el programa
Cierro la funcin
}
while(op==1);
de do-while
Cierro
el
programa
getch();
}
CORRIDO
ANALISIS
En este programa presentado, vamos a trabajar con funciones y vectores donde tenemos
que la posiciones impares se me ubique el nmero ingresado y el factorial tiene que ubicarse
en las posiciones pares del vector donde despus vamos a ordenar el vector en orden
ascendente y en orden de
z
se utilizara para la opcin desea continuar SI o NO, esto se lo realiza con el Laso DO WHILE
que permite generar nuevamente el programa.
PROGRAMA 48
ENUNCIADO
ANLISIS
Para realizar este programa necesitamos utilizar funciones tanto para el borde como
para los nmeros primos y para ordenar dichos nmeros en forma ascendente y
descendente.
Para el vector que vamos a ingresar necesitamos un ciclo do while el mismo
que debemos condicionarlo para que este vector ingresado sea menor que 3
o mayor que 25, este proceso debemos realizarlo dentro de una funcin a la
cual denominaremos pri ya que tambin dentro de esta funcin realizaremos
las operaciones para encontrar los nmeros primos para lo cual necesitamos
de la condicin if y de ciclos for los cuales nos ayudaran a generar dichos
nmeros.
Par ordenar el vector de forma ascendente y descendente necesitamos de
una funcin denominada as para la forma ascendente y de una funcin
denominada des para la forma descendente dentro de las cuales se
encontrara un ciclo for el mismo que nos ayudara a realizar dicho proceso e
imprimirlo tanto ascendente como descendente.
Adems utilizamos un ciclo do while para repetir este proceso el nmero de
veces que el usuario desee.
.
DOCUMENTACIN
#include<conio.h>
Ingresamos las libreras que vamos a
#include<stdio.h>
int f1, aux, num, i, j, f, vect[100];
Ingresamos las variables que vamos a utilizar, son
int vectser[100], lim, op, cont;
variable de tipo enteras
void borde()
{
int i;
clrscr();
gotoxy(1,1);printf("");
gotoxy(80,1);printf("");
for(i=2;i<=79;i++)
de
manera
PROGRAMA 49
ENUNCIADO
Disee un programa utilizando funciones que me permita leer una cadena de
caracteres ingresado desde teclado y que a su vez cuente la cantidad de caracteres
de dicho vector.
ANLISIS
En este programa por medio de funciones podemos realizar tanto el borde como
para colocar la cadena de caracteres e imprimirla y para encontrar los datos de las
posiciones impares del vector.
Para colocar la cadena de caracteres en una posicin e imprimirla
necesitamos de una funcin a la cual la denominaremos void cad para
realizar dicho proceso requerimos de un ciclo for el mismo que nos permitir
imprimir la cadena de caracteres deseada y aadirle color.
Para encontrar los datos de la cadena de caracteres del vector necesitamos
de una nueva funcin a la cual la denominaremos void cont para realizar
dicho proceso requerimos de un ciclo for el cual nos permitir contar los
caracteres ingresados adems requerimos de otro ciclo for el mismo que nos
ayudara a imprimir dichos datos.
Adems utilizamos un ciclo do while para repetir este proceso el nmero de
veces que el usuario desee.
DOCUMENTACIN
#include<stdio.h>
#include<conio.h>
Libreras
#include<string.h>
#include<ctype.h>
char cadena[20],vecimpar[20];
Declaracion de variables tipo
int i,fi,op,n,h;
Declaracion de variables
void borde()
Inicio funcin borde
{
for (i=1;i<=80;i++)
Inicio ciclo for
{
textcolor(i+1);
color
gotoxy(i,1);cprintf("*");
gotoxy(i,24);cprintf("*");
Impresin borde
}
Fin ciclo for
for (i=1;i<=24;i++)
Inicio ciclo
{
textcolor(i+1);
gotoxy(1,i);cprintf("*");
gotoxy(80,i);cprintf("*");
color
Impresin borde
Fin ciclo for
Impresin
repeticin
Fin
ciclo
do
Fin
programa
Programa 50
Disee un programa en c++ utilizando funciones que me permita leer una cadena de caracteres,
ingresar desde teclado un caracter que desee buscar en la cadena ingresada, asignela a un nuevo
vector e imprimalo en un vector resultante.
Abrimos las
Iniciamos los valores de nuestro programa
Nuestro borde
gotoxy(1,i);cprintf("*");
gotoxy(80,i);cprintf("*");
}
}
Funcin que
void nomb()
ocuparemos despus
{
flushall();
Permite leer el carcter
gotoxy(12,5);gets(nombre);
n=strlen(nombre);
Permite almacenar en otro
fi=5;
for(i=0;i<n;i++)
{
if(islower (nombre[i]))
{
For para ingresar el vector,
nombre[i]=toupper(nombre[i]);
utilizamos la funcin textcolor
textcolor(i+1);
gotoxy(40,fi);cprintf("%c",nombre[i]);
para poner color a las letras
fi=fi+1;
}
if(nombre[i]==a)
{
cont=cont+1;
textcolor (3);
gotoxy(30,10);cprintf("Letras>> %d",cont);
}}
Comenzaremos con el
}
void main()
programa principal
{
do
Abrimos la Sentencia
{
do
Borrado de pantalla y llamado de la funcin
borde
Llamamos a las funciones
clrscr();
borde();
nomb();
textcolor(2);
Imprimir el ttulo y
gotoxy(12,18);cprintf("ingrese el caracter ");scanf("%c",&a);
subttulos de nuestro
textcolor(3);
for(i=0;i<n;i++)
{
if(nombre[i]==a)
For para su limite y el if para
{
buscar su posicin par
cont=cont+1;
}}
textcolor (3);
gotoxy(15,15);cprintf("Letras>> %d",cont);
gotoxy(12,22);cprintf("desea repetir 1 salir 0: ");scanf("%d",&op);
}while(op==1);
getch();
Pausado en el programa y
}
cerrado del programa
Cerramos la sentencia do
while
ANALISIS:
programa51
.- Disee un programa utilizando funciones y vectores que me permita leer una
cadena de caracteres, leer el vector y encontrar todos los datos que se encuentren
en posicin de impares del vector y asignarlos a un nuevo vector, presente el nuevo
vector ordenado.
realizar el borde
Programa 52.Disee un programa utilizando funciones y vectores que me permita leer una
cadena de caracteres y recorrer dicha cadena y encontrar solo aquellas que sean
consonantes, agruparlas y colocarlas en un nuevo vector.
#include<stdio.h>
#include<string.h>
#include<ctype.h>
#include<conio.h>
char tex[20],tex1[20];
int i,n,fi,h,op;
void borde()
{
for(i=1;i<=79;i++)
{
textcolor(6);
gotoxy(i,1);printf("");
gotoxy(i,24);printf("");
}
for(i=2;i<=23;i++)
{
textcolor(6);
gotoxy(1,i);printf("");
gotoxy(80,i);printf("");
}
}
void conso()
{
flushall();
fi=9;
textcolor(5);
gotoxy(5,5);cprintf("TEXTO: ");
gets(tex);
gotoxy(5,8);cprintf("VECTOR");
n=strlen(tex);
for(i=0;i<n;i++)
{
textcolor(5);
gotoxy(20,8);cprintf("CONSONANTES");
textcolor(i+1);
gotoxy(8,fi);cprintf("%c",tex[i]);
realizar el borde
Programa 53
Enunciado:
Disee un programa utilizando vectores y funciones que me permita leer una cadena de caracteres y
presentarla de forma invertida
Codificacin:
#include<string.h>
#include<conio.h>
int i,op,fila,a;
Declaracin de variables
char nom[40];
void borde()
{
for(i=1;i<=80;i++)
{
textcolor(i+1);
gotoxy(i,1);printf("!");
gotoxy(i,24);printf("!");
}
for(i=2;i<=24;i++)
{
textcolor(i+1);
gotoxy(1,i);printf("!");
gotoxy(80,i);printf("!");
}
funcin
void inver()
{
flushall();
gotoxy(20,6);printf("Ingrese la palabra: ");gets(nom);
a=strlen(nom);
y almacenaran en auxiliar
fila=9;
for(i=0;i<a;i++)
{
FOR
vertical
fila=8;
for(i=a;i>=0;i--)
{
Proceso de la forma
textcolor(i+1);
gotoxy(45,fila);cprintf("%c",nom[i]);
fila=fila+1;
}
funcin
void main()
{
do
{
clrscr();
borde();
Limpiado de pantalla y
llamado de la funcin
Impresin de mensajes
gotoxy(43,8);printf("Inversion");
inver();
Llamado de la funcin
Anlisis:
En este programa hemos utilizado la variable char para declaracin con caracteres la
palabra, un g
e imprimir el en un nuevo vector todo esto se hace en una funcin global y al ltimo se llama
en una funcin principal void main
PROGRAMA 54
ENUNCIADO
int x,li,lim,i,p,l2;
int op=1;
void borde()
{
textcolor(YELLOW);
FUNCIN BORDE
for(i=1;i<=80;i++)
{
gotoxy(i,1);cprintf("*");
gotoxy(i,24);cprintf("*");
}
for(i=1;i<=24;i++)
{
gotoxy(1,i);cprintf("*");
//IMPRECION DE *\\
gotoxy(80,i);cprintf("*");
} //FIN DEL CICLO FOR \\
} // FIN DEL CICLO DE LA FUNCION DEL BORDE //
void caracter()
{
FUNCION
CONSONANTES
PARA
SACAR
lim=strlen(cad);
li=7;// ACUMULADOR \\
p=0;//CONTADOR\\
(cad[i]);
if (x != 0)
{
if((cad[i] == 'a')||(cad[i] == 'e')||(cad[i] == 'i')||(cad[i] == 'o')||(cad[i] == 'u')) // CONDICIONES PARA ENCONTRAR LAS
C ONSONANTES\\
{
}
Else
// CASO CONTRARIO\\
{
c2[p]=cad[i];
p=p+1; // SIRVE PARA I R DE UNO EN UNO SUMANDO \\
}
}
}
li=7; // CONTADOR \\
lim=lim-1; //LIMITE MENOS1 \\
for(i=0;i<p;i++) //
{
gotoxy(45,li);printf("%c",c2[i]);//IMPRIMO CARACTER\\
li=li+1;//LIMITE MAS UNO\\
}
}
void main() // FUNCION PRINCIPAL\\
{ // INICIO DE LA FUNCION PRINCIPAL\\
Do //INICIO DE CICLO REPETITIVO CON UN DO PARA MAS ABAJO CERRAR CON WHILE \\
{
clrscr(); //LIMPIADO DE PANTALLA\\
Programa 55
Disee un programa utilizando funciones que me permita automatizar el sistema de
recaudacin por concepto de matrculas a los estudiantes de la UNIANDES,
tomando en cuenta los siguientes parmetros.
Programa 56
Enunciado
Disee un programa utilizando vectores y funciones que me permita Ingresar n
elementos entre 3 y 23 en las posiciones impares del vector y las posiciones pares
se generan con cualquier factor ingresado desde teclado, recorra el vector y
encuentre todos aquellos valores que sean nmeros primos y asignarlos a un nuevo
vector, presente el vector resultante ordenado en forma ascendente y descendente.
Anlisis
1.
2.
3.
4.
5.
Lazo For
Fin de funcin
Funcin de ingreso
Ingresos e impresiones
Inicializaciones
Lazo For
#include<stdio.h>
#include<conio.h>
int i,lim,fac,op,vect1[15],f,fila,d,aux,c,a,vec[15],j,lim2;
void borde()
{
for(i=1;i<=80;i++)
{
textcolor(i);
gotoxy(i,1);cprintf("*");
gotoxy(i,24);cprintf("*");
}
for(i=1;i<=24;i++)
{
textcolor(i);
gotoxy(1,i);cprintf("*");
gotoxy(80,i);cprintf("*");
}
}
void ingreso()
{
gotoxy(31,5);printf("PROCESO DE VECTORES");
gotoxy(15,7);printf("Limite>> ");scanf("%d",&lim);
gotoxy(45,7);printf("Factor>> ");scanf("%d",&fac);
gotoxy(13,10);printf("Entrada");
f=0;
fila=11;
for(i=1;i<=lim;i++)
{
if(i%2==0)
{
do
{
gotoxy(15,fila);scanf("%d",&vect1[i]);
}while(vect1[i]<3 || vect1[i]>23);
}
if(i%2==1)
{
f=f+fac;
vect1[i]=f;
gotoxy(15,fila);printf("%d",vect1[i]);
}
fila=fila+1;
Fin de funcin
Funciones primos
Inicializacin variables
Lazo For
Condicin If
Fin funcin
Funcin Ascendente
Lazo For
Fin de funcin
}
}
void primos()
{
lim2=1;
fila=11;
gotoxy(25,10);printf("#s Primos");
for(i=1;i<=lim;i++)
{
a=0;
for(j=1;j<=vect1[i];j++)
{
if(vect1[i]%j==0)
{
a=a+1;
}
}
if(a==2)
{
vec[lim2]=vect1[i];
gotoxy(26,fila);printf("%d",vec[lim2]);
fila=fila+1;
lim2=lim2+1;
}}}
void ascendente()
{
for(i=1;i<lim2;i++)
{
for(j=1;j<lim2;j++)
{
if(vec[i]<vec[j])
{
aux=vec[i];
vec[i]=vec[j];
vec[j]=aux;
}
}
}
fila=11;
for(i=1;i<lim2;i++)
{
gotoxy(38,10);printf("Ascendente");
gotoxy(40,fila);printf("%d",vec[i]);
fila=fila+1;
}
}//cierre
Funcin descendente
Lazo for
Fin de funcin
Funcin principal
Llamado de funciones
Lazo Do While
Fin de funcin
Corrido
void descendente()
{
for(i=1;i<lim2;i++)
{
for(j=1;j<lim2;j++)
{
if(vec[i]>vec[j])
{
aux=vec[i];
vec[i]=vec[j];
vec[j]=aux;
}
}
}
fila=11;
for(i=1;i<lim2;i++)
{
gotoxy(58,10);printf("Descendente");
gotoxy(65,fila);printf("%d",vec[i]);
fila=fila+1;
}
}//cierre
void main()
{
do
{
clrscr();
borde();
ingreso();
primos();
ascendente();
descendente();
getch();
gotoxy(10,22);printf("Presione 1/0>> ");scanf("%d",&op);
}while(op==1);
}
Programa 57
1. ENUNCIADO:
Disee un programa utilizando funciones y matrices que me permita visualizar los
datos en una matriz y otra matriz resultante con los datos ingresados.
2. ANLISIS:
En este programa utilizaremos funciones tanto para el borde como para ingresar y
presentar los datos de nuestra matriz, esencialmente la utilizacin de ciclos FOR
para que permita ingresar los datos de nuestra matriz, imprimimos resultados y
utilizamos un DO-WHILE para que el programa se repita n veces quiera el usuario.
3. DOCUMENTACION:
#include<stdio.h>
Libreras
Blanqueo
de
Programa 58
Disee un programa utilizando funciones y matrices que me permita generar una matriz con
cualquier factor ingresado desde teclado.
ANALISIS
Este programa me permite ingresar una matriz de cualquier orden y se imprime los factores
ingresados en toda la matriz.
Ingresamos la libreras y las variables globales abrimos una funcin para el borde e
ingresamos textcolor(YELLOW); para escoger el color mediente lazos for hacemos el
proceso del borde y cerramos el mismo, abrimos la funcin del programa ingresamos en una
variable para que se almacene el factor, tambin se ingresa las filas y columnas de la matriz,
sumamos el factor para la variable ingresada ubicamos las posiciones de la matriz y
cerramos el programa. Abrimos la funcin para llamar al proceso ingreso un lazo repetitivo,
#include<stdio.h>
#include<conio.h>
LIBRERIAS
#include<ctype.h>
int i,j,m,matriz[5][5],columna,fila,limite,datos,factor,a,op; VARIABLES GLOBALES
void borde(int datos)
SE ABRE LA FUNCION DEL BORDE
{
textcolor(YELLOW);
ESCOGER EL COLOR
for(i=1;i<=80;i++)
{
gotoxy(i,1);cprintf("*");
gotoxy(i,24);cprintf("*");
}
PROCESO DEL BORDE
for(i=1;i<=24;i++)
{
gotoxy(1,i);cprintf("*");
gotoxy(80,i);cprintf("*");
}
}
SE CIERRA LA FUNCION
void programa(int datos)
FUNCION DEL PROGRAMA
{
SE ABRE LA FUNCION
a=0;
gotoxy(33,3);cprintf("MATRIZ FACTOR");
gotoxy(8,5);cprintf("Limite: ");scanf("%d",&datos);
gotoxy(8,6);cprintf("Factor: ");scanf("%d",&factor);
ENUNCIADOS
columna=10;
fila=10;
for(i=1;i<=datos; i++)
PROCESO DE LA MATRIZ
{
for(j=1;j<=datos; j++)
{
gotoxy(8,8);cprintf("Matriz ingreso");
a=a+factor;
matriz[i][j]=a;
gotoxy(columna,fila);printf("%d",matriz[i][j]);
columna=columna+4;
PROCESO DEL FACTOR
}
columna=10;
fila=fila+2;
Programa 59
Disee un programa utilizando funciones y matrices que me permita Imprimir una matriz
cuadrtica de ceros excepto la diagonal principal.
ANALISIS
Este programa me permite ingresar una matriz de cualquier orden y se imprime de ceros y
su diagonal principal de unos.
Ingresamos las libreras introducimos las variables globales abrimos la funcin del borde
ingresamos un textcolor(YELLOW); para darle color al diseo mediante lazos for asemos el
margen de la pantalla y cerramos la funcin abrimos la funcin del programa para la matriz
visualizamos el lmite que se desea ingresar ingresamos dos lazos for con (i,j) para formar a
la matriz, ingresamos una condicin si el nmero de la fila es igual al de la columna se
imprima con unos caso contrario de ceros cerramos la funcin. Por ultimo abrimos void
main() para llamar al programa abrimos un lazo repetitivo escribimos un clrscr para limpiar
la pantalla llamamos al borde y al programa y cerramos el programa
#include<conio.h>
#include<stdio.h>
LIBRERIAS
#include<ctype.h>
int op=1,limite,fila=7,columna=13,i,j;
INGRESAMOS VARIABLES GLOBALES
int matriz[10][10],datos;
void borde()
FUNCION DEL BORDE
{
textcolor(YELLOW);
INGRESAR COLOR
for(i=1;i<=80;i++)
{
gotoxy(i,1);cprintf("*");
gotoxy(i,24);cprintf("*");
}
for(i=1;i<=24;i++)
PROCESO DEL BORDE
{
gotoxy(1,i);cprintf("*");
gotoxy(80,i);cprintf("*");
}
}
CIERRO LA FUNCION
void programa(int datos)
FUNCION DEL PROGRAMA
{
ABRIR LA FUNCION
gotoxy(3,5);cprintf("Limite: ");cscanf("%d",&limite);
INGRESAR UN LIMITE
for(i=1;i<=limite;i++)
{
ORDENAR LA MATRIZ
Programa 60
Disee un programa utilizando matrices y funciones que me permita llenar una
matriz con valores ceros, a excepcin de sus diagonales, en donde la diagonal
principal se llena con un factor cualquiera ingresado desde teclado y la diagonal
secundaria con el factorial, visualice la diagonales principal y secundaria.
Anlisis
Necesitamos funciones para realizar el ejercicio tambin necesitamos matrices
necesitamos variables globales para generar un factor cualquiera y otra variable
para generar el factorial.
Documentacin
#include<conio.h>
#include<stdio.h>
librerias
int op,i,j,fi,c,n,ma[50][50],f,cf,fac;
void borde()
{
for(i=1;i<=79;i++)
{
gotoxy(80,1);printf("");
gotoxy(1,1);printf("");
gotoxy(i,1);printf("");
gotoxy(i,24);printf("");
}
Funcin borde
for(i=2;i<=23;i++)
{
gotoxy(1,24);printf("");
gotoxy(80,24);printf("");
gotoxy(1,i);printf("");
gotoxy(80,i);printf("");
}
}
void presen(int m)
{
c=15;
fi=5;
cf=0;
gotoxy(15,4);printf("Ingrese factor: ");scanf("%d",&f);
for(i=1;i<=m;i++)
{
for(j=1;j<=m;j++)
{
if(i==j)
{
cf=cf+f;
ma[i][j]=cf;
gotoxy(c,fi);printf("%d",ma[i][j]);
Ingreso de la matriz
Imprecion
Programa 61
Disee un programa utilizando funciones y matrices que me permita Generar una
matriz con la serie del fibonasi, encontrar los datos de sus diagonales visualizarlos
en forma de equiz, asignar estos datos a un vector resultante ordenado en forma
ascendente y descendente.
Anlisis
Para este programa utilizamos funciones para llamar al procedimiento para realizar
el ejercicio tambin necesitamos matrices, variables globales para generar poder
realizar los respectivos procedimientos para generar la serie del fibonasi y asi
proseguir a llamar a las distintas funciones en donde se visualice la matriz las
diagonales otra para ordenar ascendentemente y otra para ordenar
descendentemente.
Documentacin
#include<conio.h>
Libreras
#include<stdio.h>
int fil, col, aux, i, j, mat[10][10], vect[10], lim, op, a, b, c, h;
Declaracin de variables
void bdob()
{
int i;
clrscr();
gotoxy(1,1);printf("");
gotoxy(80,1);printf("");
for(i=2;i<=79;i++)
{
gotoxy(i,1);printf("");
gotoxy(i,24);printf("");
}
gotoxy(1,24);printf("");
gotoxy(80,24);printf("");
for(i=2;i<=23;i++)
{
fil=8;
a=1;
b=0;
c=0;
for(i=1;i<=lim;i++)
{
for(j=1;j<=lim;j++)
{
c=a+b;
a=b;
b=c;
mat[i][j]=c;
gotoxy(col,fil);printf("%d",mat[i][j]);
col=col+4;
}
col=5;
fil=fil+3;
}
}
void dprinc()
{
col=21;
fil=8;
Inicio de la funcin
calcular la diagonal
principal
if(i==j)
{
vect[h]=mat[i][j];
h=h+1;
gotoxy(col,fil);printf("%d",mat[i][j]);
col=col+4;
}
}
fil=fil+3;
}
}
void dsec()
{
col=28;
fil=8;
j=lim;
for(i=1;i<=lim;i++)
{
vect[h]=mat[i][j];
h=h+1;
gotoxy(col,fil);printf("%d",mat[i][j]);
j=j-1;
col=col-4;
fil=fil+3;
}
Imprimimos la matriz
for(i=1;i<h;i++)
{
for(j=1;j<h;j++)
{
if(vect[i]<vect[j])
{
aux=vect[i];
vect[i]=vect[j];
vect[j]=aux;
}
}
}
fil=8;
for(i=1;i<h;i++)
{
gotoxy(56,fil);printf("%d",vect[i]);
fil=fil+2;
Calculamos el vector
descendente
if(vect[i]>vect[j])
{
aux=vect[i];
vect[i]=vect[j];
vect[j]=aux;
}
}
}
fil=8;
for(i=1;i<h;i++)
{
gotoxy(71,fil);printf("%d",vect[i]);
fil=fil+2;
}
}
void main()
{
do
{
clrscr();
bdob();
gotoxy(34,2);printf("<<MATRICES>>");
gotoxy(5,4);printf("Ingrese el limite>> ");scanf("%d",&lim);
gotoxy(4,6);printf("<<MATRIZ>>");
gotoxy(18,6);printf("<<Diagonales>>");
Funcin donde a
proseguimos a imprimir
los datos
diag();
dprinc();
dsec();
diag_vect();
orden();
gotoxy(3,22);printf("Presione 1 para volver a repetir el proceso o 0 para finalizar>>
");scanf("%d",&op);
}
while(op==1);
getch();
}
Corrido.
Programa 62
Disee un programa utilizando matrices y funciones que me permita generar una
matriz con nmeros pares, a excepcin de sus diagonales, las mismas que se llenan
con nmeros impares, recorra la matriz y encuentre los dtos de sus diagonales y
guarderlas en vector.
Anlisis
Primero ingresamos las libreras que vamos a utilizar en este programa en este caso
son las dos principales la STDIO.H Y LA CONIO.H, despus como es un programa
con funciones declaramos las variables que vamos a utilizar globalmente
proseguimos a nombrar una funcin llamada borde para que nuestro programa se
visualice con un borde y otra funcin en donde realicemos los clculos de la matriz
para finalizar realizamos el programa principal con un VOID MAIN y proseguimos a
llamar cada funcin e imprimimos.
CODIGO
#include<stdio.h>
#include<conio.h>
int a,i,j,lim,imp,b,matriz[10][10],col,fil,op;
void borde()
{
for(i=1;i<=80;i++)
{
gotoxy(i,1);printf("+");
gotoxy(i,24);printf("+");
}
for(i=1;i<=24;i++)
{
gotoxy(1,i);printf("+");
gotoxy(80,i);printf("+");
}
}
void mat()
{
a=2;
b=1;
col=5;
fil=10;
for(i=0;i<lim;i++)
{
for(j=0;j<lim;j++)
{
if(i==j || j==(lim-1)-i)
{
matriz[i][j]=b;
b=b+2;
}
la
variable
global
con
numeros
impares
Corridor.
En esta funcin ya
proseguimos
BIBLIOGRAFIA:
http://ejercicioscpp.blogspot.com/2012
/09/tipos-de-datos-en-c.html
http://www.nachocabanes.com/tutors/teoc-lebron.pdf
http://utch2009.files.wordpress.com/2010/02/manual-de-turbo-c.pdf
http://www.taringa.net/posts/ebooks-tutoriales/14600832/Funciones-ysentencias-de-programacion-en-C.html
http://blog.espol.edu.ec/programando/sentencia-repetitiva-for-lenguaje-c/
http://logpracticas2013.blogspot.com/2013/04/c-introduccion-de-datoscontadores-y.html
http://www.programacionfacil.com/cpp/funciones.
http://books.google.es/books?hl=es&lr=&id=n9VEG2Gp5pkC&oi=fnd&pg=PR1
7&dq=C%2B%2B+TUTORIAL&ots=Rem4npbdOQ&sig=Tev8U08QBBkpEENd
sFAUs4L1aRs#v=onepage&q=C%2B%2B%20TUTORIAL&f=false
http://www.flipsnack.com/9A6E898F8D6/fdnfbfi9