Professional Documents
Culture Documents
5.-Algoritmica y Programación GUIA Sept-16
5.-Algoritmica y Programación GUIA Sept-16
¿Por qué? Porque como futuros Ingenieros de Informática, la manera de pensar tiene que
ser diferente a la de las demás personas al momento de resolver un problema mediante el
uso de una computadora. Un médico, por ejemplo, debe aprender a usar la PC para archivar
y controlar las historias médicas de sus pacientes... tú como Ingeniero de Informática eres
quien hace ese programa o sistema que necesita el médico, el docente, el arquitecto, el
ingeniero civil y un largo etc. etc. para facilitar sus labores.
“Programar debe convertirse en una actitud normal y divertida en la vida de los que amamos la Informática”
Algorítmica y Programación Parte 1. Elaborada por: MSc. Jacqueline Colina Revisión: Sept. 2016 1
¿Qué es la inteligencia?
¿Qué es la lógica?
¿Qué es un algoritmo?
Podemos decir que un algoritmo es un conjunto limitado de pasos lógicos que permiten
resolver un problema mediante el uso de una computadora. Está constituido por un
conjunto de instrucciones que están ordenadas y enlazadas de forma coherente tal que
al ejecutarse realizan una o varias tareas los cuales permiten la solución de un problema
en particular. Para llegar a crear un programa se realizan etapas previas: Análisis del
problema y el Diseño de la solución. El análisis del problema consiste en comprender el
problema y saber QUÉ es lo que se espera obtener. Seguidamente el diseño de la solución
consiste en construir la forma CÓMO se resolverá el problema, es decir, realizar el
procedimiento necesario para obtener la solución. Una vez finalizado el diseño de la solución
(el algoritmo representado mediante pseudocódigo) se procede recién a la fase de
codificación en un lenguaje de programación.
El diseño de algoritmos forma parte de un conjunto de fases que todo programador realiza
al momento de solucionar un problema mediante la computadora. Estas fases son
básicamente 6:
Algorítmica y Programación Parte 1. Elaborada por: MSc. Jacqueline Colina Revisión: Sept. 2016 2
FASE 1: ANÁLISIS
Determinar entrada, proceso y salida para calcular el volumen y el área de una esfera.
Algorítmica y Programación Parte 1. Elaborada por: MSc. Jacqueline Colina Revisión: Sept. 2016 3
Ejemplo: Desarrolle un algoritmo para calcular el promedio, dadas tres notas, de un
estudiante X. Represente el algoritmo mediante pseudo-código, diagrama de flujo y en
lenguaje C++.
Soluciones:
ALGORITMO EN C++
Algorítmica y Programación Parte 1. Elaborada por: MSc. Jacqueline Colina Revisión: Sept. 2016 4
Todo programa de computadora trabaja con datos de entrada y mediante un conjunto de
acciones o instrucciones devuelve datos de salida que constituyen la información
deseada. Estos datos (entrada o salida) tienen tres características o atributos
fundamentales:
- Tipo Nos determina las operaciones que podemos realizar con el dato y la manera en
que será codificada internamente en la computadora.
- Valor Se refiere al contenido el cual puede cambiar o permanecer fijo.
- Identificador Es el nombre que permite referenciarlo y que además lo diferencia del
resto.
Ejemplo
N = 13 LETRA = ‘A’
- Identificador: N Identificador: LETRA
- Valor: 13 Valor: ‘A’
- Tipo: entero Tipo: carácter
Algorítmica y Programación Parte 1. Elaborada por: MSc. Jacqueline Colina Revisión: Sept. 2016 5
Paradigmas de programación
Programación Estructurada
Las estructuras de control de flujo tienen la cualidad de llevar un orden, en algunos casos
de tomar decisiones y en muchas ocasiones de repetir un conjunto de instrucciones un
número finito de veces. El aprendizaje de las estructuras de control es sumamente
importante, ya que es a partir de estas tres estructuras que vamos a solucionar todos los
problemas. Son estas tres estructuras la columna vertebral de la programación
estructurada.
Algorítmica y Programación Parte 1. Elaborada por: MSc. Jacqueline Colina Revisión: Sept. 2016 6
PARA REFLEXIONAR:
Algorítmica y Programación Parte 1. Elaborada por: MSc. Jacqueline Colina Revisión: Sept. 2016 7
Lenguaje de programación C++
El texto donde se detallan las órdenes o instrucciones se llama "código fuente". Se pueden
escribir desde cualquier editor de textos plano (sin formato), como el block de notas de
Windows, el Notepad, o cualquier otro editor (fichero1.cpp). Pero para que el ordenador
entienda lo que le decimos en ese código fuente se necesita un traductor a “código
máquina”. Este instrumento es el compilador. Este va leyendo el código fuente línea a
línea (de manera secuencial) y a la vez va buscando posibles fallos, ya que el lenguaje de
programación suele tener unas normas muy estrictas. Si encuentra algún fallo lo indica e
interrumpe el proceso. Sólo si el archivo fuente está correcto, se produce la compilación. Al
final se crea un nuevo archivo de tipo binario, que puede ejecutarse desde el propio sistema
operativo, como cualquier otra aplicación (fichero1.exe).
¿Qué es un IDE?
Algorítmica y Programación Parte 1. Elaborada por: MSc. Jacqueline Colina Revisión: Sept. 2016 8
Algunos de los IDE más adecuados para C++ son: Code::Blocks, Geany (requiere un
compilador aparte como TDM-gcc), Dev C++ y Borland C++.
Una librería es una plantilla que contiene una serie de funciones, las cuales pueden ser
utilizadas por un programa que ha invocado esta librería al inicio. Las librerías normalmente
representan una "categoría" de funciones (por ej. existe una librería donde están todas las
funciones matemáticas más comunes) y de acuerdo a eso las invocamos. En las primeras
líneas de nuestro programa, debemos utilizar la sentencia #INCLUDE y el nombre de la
librería entre < >. Podemos reconocer las librerías por su extensión que es la letra "h".
El lenguaje C nos proporciona múltiples librerías para nuestras necesidades, por lo que cada
vez que necesitemos realizar una determinada acción, podemos hacer una búsqueda de la
función y por ende librería correspondiente. Adicionalmente, podemos crear nuestras
propias librerías y utilizarlas libremente (así como otras que han sido creadas por otros
usuarios y puestas a disposición en Internet).
Algorítmica y Programación Parte 1. Elaborada por: MSc. Jacqueline Colina Revisión: Sept. 2016 9
#include <iostream.h> /*incluye regularmente la librería cstring. Usa los comandos cout y
cin. Requiere using namespace std;*/
#include <time.h> //contiene funciones para la manipulación de fechas y horas
Principalmente por un tema de orden. Tenemos que pensar de que si bien nuestra memoria
puede ser excelente, en más de alguna ocasión nos tocará revisar códigos que hayamos
realizado hace algún tiempo y puede que en ese programa hayamos utilizado alguna función
o lógica que no tiene sentido en este momento. Por eso el uso de comentarios nos simplifica
el tener que estar mucho tiempo deduciendo lo que alguna vez hicimos. Lo mismo se presta
para cuando nuestro código es revisado por terceros o bien nosotros revisamos códigos
hechos por alguien más.
// Esto es un comentario de una sola línea y no tiene por qué empezar al principio de la
misma.
/* Esto es un comentario que puede tener más de una línea. Todo lo que escribamos aquí
será ignorado por el compilador */
TIPOS DE DATOS
Algorítmica y Programación Parte 1. Elaborada por: MSc. Jacqueline Colina Revisión: Sept. 2016 10
3. long: Numero entero grande, El tamaño será igual o mayor que el de tipo int.
También podemos escribirlo: long int
4. long long: Número entero muy grande. Su tamaño será igual o superior al del tipo
long. También podemos escribirlo: long long int
5. Float: Corresponde a valores de punto flotante (números decimales correspondientes
al universo Q de las matemáticas). En algunos lenguajes se puede utilizar como
double.
6. Char: Corresponde a valores de caractéres alfanuméricos (0 a 9 y abecedario). Solo
se puede almacenar un valor dentro de este tipo de variables.
7. String: Corresponde a una cadena de caractéres, por ejemplo una palabra o frase.
Su rango depende de cada lenguaje. (se declara en C como Char con [longitud]).
8. Bool: Corresponden a valores de tipo lógico. Almacenan sólo 2 posibles valores: true
o false.
ARREGLOS
(El largo indicará cuántas posiciones tendrá el vector, y por ende, cuantos datos se podrán
almacenar).
El tipo de datos puede ser cualquier de los vistos anteriormente, por ejemplo, un array de
20 enteros sería así:
int num[20];
Al igual que los vectores, las matrices son arrays. Sin embargo, a diferencia de ellos, son
bidimensionales o multidimensionales, o sea operan en 2 o más dimensiones.
CADENA DE CARACTERES
Una cadena de caracteres no es más que un vector o arreglo de tipo carácter. Las cadenas
suelen contener texto (nombres, frases, etc.), y éste se almacena en la parte inicial de la
cadena (a partir de la posición cero del vector). Para separar la parte que contiene texto
Algorítmica y Programación Parte 1. Elaborada por: MSc. Jacqueline Colina Revisión: Sept. 2016 11
de la parte no utilizada, se utiliza un carácter "fin de cadena" que es el carácter nulo ('\0')
según el código ASCII y cuando definamos una cadena tenemos que reservarle un espacio
adicional.
Podemos dar un valor inicial a una cadena de texto, usando dos formatos distintos:
Pero este último formato sólo se puede usar cuando se declara la variable, al principio
del programa. Si ya estamos dentro del programa, para dar un valor a una cadena de texto,
deberemos usar necesariamente la función “strcpy” (copiar cadena), que se encuentra en
“string.h”. En las cadenas de texto no podemos hacer algo como saludo="hola" ni algo como
texto1=texto2. La forma correcta de guardar en una cadena de texto un cierto valor es:
Para inicializar de nuevo y borrar valores “viejos” podemos utilizar la función memset. Es
una forma rápida de llenar un espacio de memoria con un valor char.
La longitud de una cadena es la longitud del texto más el símbolo de fin de cadena. Este
carácter se introduce automáticamente al leer o inicializar las cadenas de caracteres, como
en el siguiente ejemplo:
Uno de los inconvenientes que tiene un vector o una cadena es que por definición todos los
datos son del mismo tipo, es decir, no podemos mezclar un real con un carácter. Una
estructura es una forma de agrupar un conjunto de datos que mantengan algún tipo de
relación entre si aunque sean de distinto tipo, bajo un mismo nombre o identificador.
Una estructura es, entonces, un tipo de datos compuesto por un grupo de datos, cada uno
de los cuales puede ser de un tipo distinto. A cada componente de la estructura se le llama
campo. Su forma general es mediante la palabra registro o estructura:
Algorítmica y Programación Parte 1. Elaborada por: MSc. Jacqueline Colina Revisión: Sept. 2016 12
Por ejemplo, supóngase que se desea diseñar una estructura que guarde los datos
correspondientes a un alumno, esta estructura, a la que se llamará alumno, deberá guardar
el nombre, la dirección, el número de cédula, el teléfono, y las notas en las 6
asignaturas. Cada uno de estos datos se denomina campo o miembro de la estructura. El
modelo de esta estructura puede crearse del siguiente modo:
struct alumno {char nombre[31]; char direccion[21]; int nro_ cédula; int telefono; float
notas[6]};
Para acceder a los miembros de una estructura se utiliza el operador punto (.), precedido
por el nombre de la variable y seguido del nombre del campo: variable.campo
Por ejemplo, para dar valor al teléfono del alumno el valor 903456, se escribirá:
Las estructuras de control son sentencias especiales de los lenguajes de programación que
controlan la ejecución y el flujo del resto de las instrucciones. En general, las instrucciones
refieren a una asignación de valores, a cálculos aritméticos o a la comunicación entre el
usuario y el sistema.
#include <stdio.h>
// El caracter pulsado en el teclado se almacena en el entero c
main() {
int c;
c = getchar();/* getchar() no devuelve nada hasta que se presiona ENTER */
putchar(c); // no devuelve un carácter, sino un entero
}
Algorítmica y Programación Parte 1. Elaborada por: MSc. Jacqueline Colina Revisión: Sept. 2016 13
puts imprime una cadena de caracteres en la salida estándar (y produce un salto de línea).
gets toma una cadena de caracteres de la entrada estándar (cuya introducción es preciso
terminar con un ENTER) y la almacena en una variable string.
#include <stdio.h>
main() {
char frase[50];
puts("Escriba un texto: ");
gets(frase); // Esta función nos permite introducir frases enteras, incluyendo espacios.
puts("El texto escrito es: ");
puts(frase);
}
printf se ocupa de la impresión con formato en la salida estándar. El operador de
conversión %, nos indica de que tipo queremos ese valor, seguido de un especificador del
tipo de variable.
%d: Si la variable es un entero (int). %f: Si la variable es un decimal o punto flotante
(float). %c: Si la variable es un caracter (char). %s: Si la variable es una cadena o string
(char[longitud]).
Se puede especificar un valor para controlar el número de dígitos decimales en un valor real
o cuántos caracteres se imprimen de una cadena. Este valor se coloca entre el porcentaje
y el tipo de variable precedido de un punto. Por ejemplo:
scanf examina la entrada estándar y carga los valores en variables. scanf toma una palabra
como cadena y usa los espacios para separar variables, por lo cual capta solo hasta
encontrar un espacio.
Al momento de hacer un scanf, antes del nombre de la variable añadimos un & (¡ojo!:
cuando ésta no sea una cadena de texto). Es imprescindible no olvidar este símbolo, ya que
así le decimos al programa que guarde la información en el área de memoria que asignamos
para esa variable cuando la declaramos.
#include <stdio.h>
#include <conio.h>
main() {
int a,c; float b; char cadena1[30]; char cadena2[30];
printf( "Introduzca dos n\243meros: " );
scanf( "%i %f %d", &a, &b, &c); // solicito uno o varios valores que necesite o quiera
printf( "Has introducido los n\243meros %i %.2f y %d\n", a, b, c);
printf( "Escriba dos palabras: " );
scanf( "%s %s", cadena1, cadena2); //¡observa! no se necesita el & para cadena de texto
printf( "Has guardado: \"%s\" y \"%s\" ", cadena1, cadena2);
getch();
}
Algorítmica y Programación Parte 1. Elaborada por: MSc. Jacqueline Colina Revisión: Sept. 2016 14
cout
cin
#include<iostream.h>
using namespace std; // Esta línea es necesaria cuando utilizamos la librería iostream
string nombre;
int main () {
cout << "Escribe tu nombre : " << endl;
cin >> nombre;
cout << "Hola " << nombre<< " encantado de conocerte." << endl; cin.get();
}
Se trata de una estructura de control que permite redirigir un curso de acción según la
evaluación de una condición simple, sea falsa o verdadera. Si la condición se cumple, se
ejecuta el bloque de sentencias. En caso contrario se ejecuta, si existe o si es necesario, el
bloque de sentencias else.
Algorítmica y Programación Parte 1. Elaborada por: MSc. Jacqueline Colina Revisión: Sept. 2016 15
Simple
if (condición) {
acción 1;
acción 2;
acción n;
}
Doble
if (condición) {
acción 1;
acción 2;
acción n;
}
else {
acción 1;
acción 2;
acción n;
}
Cuando utilizamos if y else, podemos o no usar llaves para abrir y cerrar el if. Cuando un if
y/o un else tienen solo una acción a ejecutar, podemos escribirlos sin llaves para abrir y
cerrar. Si es más de una acción, necesariamente deben llevar llaves. Si desean, para evitar
confusiones, podemos utilizar siempre las llaves.
Selectiva Switch-Case:
Esta sentencia sirve para agrupar varias sentencias if en una sola, en el caso particular en
el que una variable es comparada a diferentes valores, todos ellos constantes, y que realiza
acciones si coincide con ellos. Es muy útil en la presentación de menús. Se ejecutan todas
las sentencias del bloque hasta que se encuentre una sentencia break o hasta el final de la
sentencia de control switch. Su sintaxis es:
switch (condición)
{
case caso_1:
bloque de instrucciones 1
break;
case caso_2:
bloque de instrucciones 2
break;
case caso_n:
bloque de instrucciones n
break;
default:
bloque de instrucciones por defecto
break;
}
Algorítmica y Programación Parte 1. Elaborada por: MSc. Jacqueline Colina Revisión: Sept. 2016 16
3. Estructura de Control Repetitivas (iterativas o bucles)
Para se utiliza para realizar una acción un número determinado de veces. Está compuesto
de tres expresiones: la de inicio, la de control y la de incremento.
Para dar mejor formato y presentación al programa existe la posibilidad de dar color al
fondo y al texto:
1. textcolor(nombre-color): Este solo funciona para dar color a la letra y solo cuando
el texto sea mostrado por printf("texto por colorear");
2. textbackground(nombre-color): Este pinta el fondo de un color en específico
3. system ("color 05"); Este funciona para dar color a la letra y al fondo a todo el
programa
Algorítmica y Programación Parte 1. Elaborada por: MSc. Jacqueline Colina Revisión: Sept. 2016 17
Algunos caracteres especiales para la impresión:
á \240 é \202 í \241 ó \242 ú \243
Á \265 É \220 Í \326 Ó \340 Ú \351
ñ \244 Ñ \245 ¿ \250 ♥ \3 ♫ \16 * \52 & \46
La siguiente herramienta es el gotoxy, el cual consiste en la localización de un texto en
cualquier lugar de la ventana bajo la colocación del X,Y como si fuese un plano cartesiano.
Por ejemplo:
printf("Ingrese su opcion\t<< >>"); gotoxy (44, 20);
main()
{
printf("\n\nesto de aprender C++ esta facil");
printf("\nsi quiero... puedo, sino quiero... no puedo ;)\n\n\n");
system ("pause");
printf("\n\n\n ***** FELICITACIONES... ya comenzaste *****\n\n");
system("color 2F");Sleep(400);
system("color 6B");Sleep(400);
system("color 5f");Sleep(400);
system("color 70");Sleep(400);
printf("\n\t\t 000000____000000");
printf("\n\t\t 00000000_000000000");
printf("\n\t\t 0000000000000000");
printf("\n\t\t 00000000000000");
printf("\n\t\t 0000000000");
printf("\n\t\t 000000");
printf("\n\t\t 00");
printf("\n\t\t 000000___00000 *");
printf("\n\t\t00000000_0000000 *");
printf("\n\t\t0000000000000000 *");
printf("\n\t\t 00000000000000 *");
printf("\n\t\t 00000000000 *");
printf("\n\t\t 00000 *");
printf("\n\t\t 0 *");
printf("\n\t\t * 000000___00000");
Algorítmica y Programación Parte 1. Elaborada por: MSc. Jacqueline Colina Revisión: Sept. 2016 18
printf("\n\t\t * 00000000_0000000");
printf("\n\t\t * 0000000000000000");
printf("\n\t\t * 00000000000000");
printf("\n\t\t * 0000000000");
printf("\n\t\t * 00000");
printf("\n\t\t * 0");
printf("\n\t\t * *");
printf("\n\t\t * *\n\n");
system ("pause");
}
CODIFICACIÓN DE DATOS
CÓDIGO ASCII: acrónimo inglés de American Standard Code for Information Interchange
(Código Estándar Estadounidense para el Intercambio de Información).
Algorítmica y Programación Parte 1. Elaborada por: MSc. Jacqueline Colina Revisión: Sept. 2016 19
EJERCICIOS
/* Calcular el area */
area= (base*altura)/2;
/* mostrar resultados */
system ("COLOR 74");
printf("\n\n\n El \265REA del tri\240ngulo de base %.2f y altura %.2f es:
%.2f\n",base,altura,area);
system("pause"); }
#include <stdio.h>
#include <string.h>
#include <windows.h> // para el system y Sleep
main () {
/* declarar variables */
int longitud; char opc; char nombre[15];
do {
/* solicitar los datos */
memset (nombre,' ',15); /* función que inicializa la variable en espacios antes de la
lectura*/
printf("\n\250Cu\240l es su nombre?: ");
scanf("%s",&nombre);
strupr(nombre); // para convertir a mayúsculas
longitud = strlen(nombre); /*Esta función devuelve el número de caracteres que tiene
una palabra (sin contar el '\0')*/
Algorítmica y Programación Parte 1. Elaborada por: MSc. Jacqueline Colina Revisión: Sept. 2016 20
/* Se utiliza \" para poner comillas, \n para hacer salto de línea y \t para tabular */
printf( "El nombre \"%s\" tiene %d letras.\n", nombre, longitud );
printf("\n\tH\t%c",nombre[0]);
printf("\n\tO\t%c",nombre[1]);
printf("\n\tL\t%c",nombre[2]);
printf("\n\tA\t%c",nombre[3]);
printf("\n\t \t%c",nombre[4]);
printf("\n\t \t%c",nombre[5]);
printf("\n\t \t%c",nombre[6]);
printf("\n\t \t%c",nombre[7]);
printf("\n\t \t%c",nombre[8]);
printf("\n\t \t%c",nombre[9]);
printf("\n\t \t%c",nombre[10]);
printf("\n\t \t%c",nombre[11]);
printf("\n\t \t%c",nombre[12]);
printf("\n\t \t%c",nombre[13]);
printf("\n\t \t%c",nombre[14]);
printf("\n\250Desea continuar? (s/n): ");
scanf("%s",&opc);
}while(opc != 'n' && opc != 'N');
#include <stdio.h>
#include <string.h>
#include <windows.h>
main () {
/* declarar variables */
int edad,x,longitud; char opc; char nombre[15];
edad=0;
do {
/* solicitar los datos */
memset (nombre,' ',15);
printf("\n\250Cu\240l es su nombre?: ");
scanf("%s", nombre);
longitud = strlen(nombre);
printf("\nH");
printf("\nO");
printf("\nL");
printf("\nA");
for (x=0; x<longitud; x++){
Algorítmica y Programación Parte 1. Elaborada por: MSc. Jacqueline Colina Revisión: Sept. 2016 21
printf("\n\t%c",nombre[x]);
}
printf("\n ingrese su edad: ");
scanf("%d",&edad);
/* mostrar resultado */
system ("COLOR DF");
if (edad<=12)
printf("%s Por su edad usted es considerado un ni\244o", nombre);
if (edad>=13&&edad<=17)
printf("%s Por su edad es considerado un adolescente", nombre);
if (edad>=18&&edad<=60)
printf("%s Por su edad es considerado un adulto", nombre);
if (edad>60)
printf("%s Por su edad es considerado un adulto mayor", nombre);
printf("\n\250Desea continuar? (s/n): ");
scanf("%s",&opc);
}while(opc != 'n' && opc != 'N');
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
int numero;
int main() {
/* Primer ciclo: while */
printf("\n Ciclo WHILE:)\n");
numero=1; // Asignamos el valor inicial a la variable
while (numero<=10) {
printf ("%d\n",numero); /* Mostramos el número y utilizamos \n para hacer salto de
línea */
numero++; // Incrementamos el valor
}
/* Segundo ciclo: for*/
printf("\n Ciclo FOR:)\n");
for (numero=1;numero<=10;numero++) {
printf("%d\n",numero); // Mostramos el número
}
/* Tercer ciclo do-while */
numero=1; // Reinicializamos el número a 1
Algorítmica y Programación Parte 1. Elaborada por: MSc. Jacqueline Colina Revisión: Sept. 2016 22
printf("\n Ciclo DO-WHILE:)\n");
do
{
printf("%d\n",numero); // Mostramos el número
numero++; // Incrementamos el valor
}while(numero<=10); // Definimos la condición
getch(); // Dejamos el programa en espera
}
#include <stdio.h>
#include <stdlib.h>
int main(void) {
int tabla[10];
int x, sum, res, mul, div;
for (x=0;x<10;x++)
{
printf("Introduzca número\n");
scanf("%d",&tabla[x]);
}
sum=tabla[0];
res=tabla[0];
mul=tabla[0];
div=tabla[0];
for (x=1;x<10;x++)
{
sum=sum+tabla[x];
res=res-tabla[x];
mul=mul*tabla[x];
div=div/tabla[x];
}
printf ("Suma: %d\n", sum);
printf ("Resta: %d\n", res);
printf ("Multiplicación: %d\n", mul);
printf ("División: %d\n", div);
system("PAUSE");
}
#include <stdio.h>
#include <stdlib.h>
int main() {
Algorítmica y Programación Parte 1. Elaborada por: MSc. Jacqueline Colina Revisión: Sept. 2016 23
float aux, numeros[10];
int i,j,n=10;
for (i=0;i<n;i++)
{
printf("Escriba un número");
scanf("%f",&numeros[i]);
}
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(numeros[i]<numeros[j])
{
aux=numeros[i];
numeros[i]=numeros[j];
numeros[j]=aux;
}
}
}
for (i=n-1;i>=0;i--){
printf("%f\n",numeros[i]);
}
system("PAUSE");
return 0;
}
7. Programa que determina si un número dado es positivo o negativo, y que finalice cuando
sea el número 0.
#include <iostream>
using namespace std;// OJO: algunas compiladores de Borland C++ no lo reconocen y no
hace falta
int main() {
int numero;
cout << "Escriba un n\243mero (0 para salir): ";
cin >> numero;
while (numero!=0)
{
if (numero > 0)
cout << "Es positivo" << endl;
else
cout << "Es negativo" << endl;
cout << "Teclea otro n\243mero (0 para salir): ";
cin >> numero;
}
}
Algorítmica y Programación Parte 1. Elaborada por: MSc. Jacqueline Colina Revisión: Sept. 2016 24
Ejercicio: Calcular el volumen y el área de una esfera. Mostrar los dos resultados o salidas.
Volumen= 4 * ∏ * R3/3 Área= 4 * ∏ * R2
Ejercicio: Realizar un programa que te solicite tu nombre y una cifra numérica, y escriba
tu nombre tantas veces como indique esa cifra numérica, usando "scanf" para pedir los
datos.
Ejercicio: Solicitar y almacenar en un registro el nombre, cedula, sexo, año de nacimiento
y cinco calificaciones de cinco estudiantes. Mostrar todos los datos en un listado ordenado
por promedio de notas en orden descendente.
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <windows.h>
int main(void) {
system ("color 4f");
printf(" hola... Bienvenidos\n\n");
printf("Programa que define los meses del año\n\n");
printf( "Pulse ENTER para continuar"); getch();
system ("CLS") ; int i;
printf("los meses del año");
system ("CLS");
printf("hola, Introduzca un numero del 1 al 12: ");
scanf("%d",&i);
switch(i){
case 1:
printf ("Enero\n");
break;
case 2:
printf ("Febrero\n");
break;
case 3:
printf ("Marzo\n");
break;
case 4:
printf ("Abril\n");
break;
case 5:
printf ("Mayo\n");
break;
case 6:
printf ("Junio\n");
break;
Algorítmica y Programación Parte 1. Elaborada por: MSc. Jacqueline Colina Revisión: Sept. 2016 25
case 7:
printf ("Julio\n");
break;
case 8:
printf ("Agosto\n");
break;
case 9:
printf ("Septiembre\n");
break;
case 10:
printf ("Octubre\n");
break;
case 11:
printf ("Noviembre\n");
break;
case 12:
printf ("Diciembre\n");
break;
default:
printf ("Opción no válida\n");
break;
}
system ("cls");
printf ("Gracias por favor vuelve pronto ;D ");
printf ("chaoooooooooo");
getch (); }
«El estudiante que sigue aprendiendo por su cuenta... Eso es lo que separa a los
triunfadores de los que solo hacen la tarea».
Neil de Grasse Tyson
RECOMENDACIONES:
Algorítmica y Programación Parte 1. Elaborada por: MSc. Jacqueline Colina Revisión: Sept. 2016 26