0% encontró este documento útil (0 votos)
129 vistas

Programacion

Este documento presenta un taller sobre ética en el uso de software. El taller fue impartido por Omar Casarrubias Téllez a tres alumnos del Instituto Tecnológico de Acapulco. El documento introduce conceptos básicos de algoritmos como su definición, características y representación a través de pseudocódigo y diagramas de flujo. También discute el diseño de algoritmos y métodos de aproximación numérica.

Cargado por

Cinthia RN
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
129 vistas

Programacion

Este documento presenta un taller sobre ética en el uso de software. El taller fue impartido por Omar Casarrubias Téllez a tres alumnos del Instituto Tecnológico de Acapulco. El documento introduce conceptos básicos de algoritmos como su definición, características y representación a través de pseudocódigo y diagramas de flujo. También discute el diseño de algoritmos y métodos de aproximación numérica.

Cargado por

Cinthia RN
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 43

INSTITUTO TECNOLGICO DE ACAPULCO

TALLER DE TICA.

USO DE SOFWARE
DOCENTE:
ALUMNOS:
Omar Casarrubias Tllez
Julio Cesar Bernabe Cruz
Irving Adolfo Avila Lopez

No.Controles:
17320808
17320802
17320795

1. Diseo Algortmico
1.1 Conceptos Bsicos

Definicin: Un algoritmo es un conjunto secuencial de operaciones algebraicas y lgicas


para obtener la solucin de un problema. Generalmente, se dispone de varios
algoritmos para resolver un problema particular, mediante una serie de datos preciso,
definidos y finitos.

La resolucin de un problema exige el diseo de un algoritmo que resuelva el problema


propuesto.
Los pasos para la resolucin de un problema son:

1. Diseo de algoritmo, que describe la secuencia ordenada de pasos que


conducen a la solucin de un problema dado. (Anlisis del problema y desarrollo
del algoritmo).

2. Expresar el algoritmo como un programa de lenguaje de programacin


adecuado. (Fase decodificacin.)

3. Ejecucin y validacin del programa por la computadora.

Para llegar a la realizacin de un programa es necesario el diseo previo de


algoritmo, de modo que sin algoritmo no puede existir un programa.

Los algoritmos son independientes tanto del lenguaje de programacin en que se


expresan como dela computadora que lo ejecuta.

La definicin de un algoritmo debe definir tres partes: Entrada, Proceso y Salida.

Simbologa

Caractersticas de los Algoritmos:


Las caractersticas fundamentales que debe cumplir todo algoritmo son:

Un algoritmo debe ser preciso e indicar el orden de realizacin de cada paso

Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe


obtener el mismo resultado cada vez.

Un algoritmo debe ser finito. Si se sigue un algoritmo se debe terminar en algn


momento; o sea, debe tener un numero finito de pasos

Lenguaje de Programacin:

Un lenguaje de programacin es tan solo un medio para expresar un algoritmo y una


computadora es solo un procesador para ejecutarlo. Tanto el lenguaje de
programacin como la computadora son los medios para obtener un fin: conseguir que
el algoritmo se ejecute y se efecte el proceso correspondiente.

Se puede ahora empezar con el proceso de desarrollar programas para una


computadora. Un programa es simplemente un conjunto de instrucciones para la
computadora particular, en conjunto se les llama Software.

Aproximaciones

La mayor parte de las tcnicas tiene la caracterstica de poseer errores. aunque la


perfeccin es una meta digna de alabarse, es difcil, si no imposible, alcanzarla. Sin
embargo, sus distribuciones aleatorias se agrupan muy prximas alrededor de la
prediccin.

En algunos conceptos bsicos de los Mtodos Numricos podemos encontrar los


siguientes: Cifra Significativa, Precisin, Exactitud, Incertidumbre Y Sesgo. Que forman
parte a las aproximaciones y predicciones numricas adecuadas.

Cifras significativas: Cuando se emplea un nmero en un clculo, debe haber seguridad


de que pueda usarse con confianza. El concepto de cifras significativas tiene dos
implicaciones importantes en el estudio de los mtodos numricos.

1.- Los mtodos numricos obtienen resultados aproximados. Por lo tanto, se


debe desarrollar criterios para especificar qu tan precisos son los resultados
obtenidos.

2.- Aunque ciertos nmeros representan nmero especficos, no se pueden


expresar exactamente con un nmero finito de cifras.

Por lo que podemos tener un Algoritmos De Aproximacin

Dado un problema completo, es probable que no sepamos resolverlo de manera precisa


y completa utilizando un algoritmo polinmico en tiempo. Para este tipo de problemas,
los algoritmos que no conducen a una solucin ptima se llaman algoritmos de
aproximacin. Sin embargo, resulta parcialmente interesante que estos garanticen una
cota en el margen de imprecisin.

Exactitud y Precisin: La exactitud se refiere a que tan cercano est el valor calculado o
medido del valor verdadero. La precisin se refiere a qu tan cercano est un valor
individual medido o calculado respecto a los otros.

1.2 Representacin De Algoritmos: Grfica Y Pseudocdigo


Para representar un algoritmo se debe utilizar algn mtodo que permita independizar
dicho algoritmo de lenguaje de programacin elegido. Ello permitir que un algoritmo
puede ser codificado indistintamente en cualquier lenguaje. Para conseguir este
objetivo se precisa que el algoritmo sea representado grafica o numricamente de
modo que los sucesivo acciones no dependen de la sintaxis de ningn lenguaje de
programacin, sino que la descripcin puede servir fcilmente para su transformacin
en un programa, ese decir su codificacin.

Los mtodos usados para representar un algoritmo son;

o Diagrama de flujo

o Diagrama de N-S (Nassi-schneiderman)

o Lenguaje de especificaciones de algoritmos

o Pseudocodigo

o Lenguaje e espaol

o formulas

Diagrama de flujo
El diagrama de flujo es la representacin grfica del algoritmo o proceso. Se utiliza en
disciplinas como la programacin, la economa, los procesos industriales y la psicologa
cognitiva. Estos diagramas utilizan smbolos con significados bien definidos que
representan los pasos del algoritmo, y representan el flujo de ejecucin mediante
flechas que conectan los puntos de inicio y de fin de proceso.
En ciencias de la computacin, y anlisis numrico el pseudocdigo (o falso lenguaje) es
una descripcin de un algoritmo de programacin informtico de alto nivel compacto e
informal que utiliza las convenciones estructurales de un lenguaje de programacin
verdadero, pero que est diseado para la lectura humana en lugar de la lectura en
mquina, y con independencia de cualquier otro lenguaje de programacin.
Normalmente, el pseudocdigo omite detalles que no son esenciales para la
comprensin humana del algoritmo, tales como declaraciones de variables, cdigo
especfico del sistema y algunas subrutinas.
El lenguaje de programacin se complementa, donde sea conveniente, con
descripciones detalladas en lenguaje natural, o con notacin matemtica compacta. Se
utiliza pseudocdigo pues este es ms fcil de entender para las personas que el cdigo
de lenguaje de programacin convencional, ya que es una descripcin eficiente y con un
entorno independiente de los principios fundamentales de un algoritmo. Se utiliza
comnmente en los libros de texto y publicaciones cientficas que se documentan varios
algoritmos, y tambin en la planificacin del desarrollo de programas informticos, para
esbozar la estructura del programa antes de realizar la codificacin efectivamente. No
existe una sintaxis estndar para el pseudocdigo, aunque los dos programas que
manejan pseudocdigo tengan su sintaxis propia. Aunque parecido, el pseudocdigo no
debe confundirse con los programas esqueleto que incluyen cdigo ficticio, que pueden
ser compilados sin errores. Aunque los diagramas de flujo y UML sean ms amplios en
el papel, pueden ser considerados como una alternativa grfica al pseudocdigo.

Pseudocodigo
el pseudocodigo es un lenguaje de especificacin (descripciones) de algoritmos. El uso
de tal lenguaje hace el paso de codificacin final (esto es, la traduccin a un lenguaje de
programacin) relativamente fcil.

El pseudocodigo original se utiliza para representar las acciones sucesivas palabras


reservadas en ingles similares a sus homnimos en los lenguajes de programacin, tales
como star, end, stop, in-then, else, white-end, repeat, until, etc. La escritura de
pseudocodigo exige normalmente la indentacional de diferentes lneas.

ejemplo:
La frmula para la solucin de una ecuacin cuadrtica es un medio sucinto de expresar
el procedimiento de algortmico que se debe ejecutar para obtener las races

X1= (-b+sqrt(b^2-4ac))/(2*a). x2=(-b-sqrt(b^2-4ac))/(2*a).

1. elevar al cuadrado b
2. toma a; multiplicar por c; multiplicar por 4
3. restar el resultado de 2 del resultado de 1 etc.

#include<stdio.h>
#include<conio.h>
#include<math.h>
main()
{
float a,b,c,x1,x2;
printf("escribe el valor de a:");
scanf("%f",&a);
printf("escribe el valor de b:");
scanf("%f",&b);
printf("escribe el valor de c:");
scanf("%f",&c);
x1=(-b+sqrt(pow(b,2)-4*a*c))/(2*a):
x2=(-b-sqrt(pow(b,2)-4*a*c))/(2*a):
printf("x1=%f\n",x1);
printf("x2=%f\n",x2);
printf("cualquier tecla para terminar");
getch();

1.3 Diseo de algoritmos

Consiste en planear y especificar la estrategia que se seguir para alcanzar la solucin


de un problema. El producto de esta fase es un documento que detalle los pasos que
posteriormente se convertirn en programas. Programacin y pruebas. Consiste en
codificar el algoritmo diseado en un lenguaje de programacin y probar su
funcionamiento para corregir errores.
Mantenimiento. Consiste en modificar el programa segn vayan apareciendo nuevas
necesidades. El cuadro 3-2 muestra un ejemplo muy sencillo donde se aplican cada una
de estas fases. No siempre puede (ni conviene) seguirse el orden estricto del diseo de
programas. Hay que efectuar experimentos para ir modificando los planes iniciales.
ANALISIS. Enunciado del problema: Centrar un letrero cualquiera de manera similar a
como se hara con una mquina de escribir. Solucin del problema: Para centrar un
letrero es necesario dejar espacios antes de escribirlo, entonces hay que desarrollar un
mtodo para calcular esa cantidad de espacios y aplicarlo.
1.4 Diseo algortmico de funciones.
En este se explica detalladamente lo que realiza el algoritmo para resolver el problema
planteado. en un diseo de algoritmo que sea complejo puede subdividirse en
subprogramas para el estudio o la revisin de los pasos que lleven a la solucin y sea
menos el ndice de errores que tenga al momento de la prueba, y a este diseo se le
conoce como diseo modular pues es sencillo revisar cada proceso ya antes dividido
para su rpida especificacin y prueba. Un algoritmo cuenta con un inicio y sus
subprogramas llamados tambin diseo modular.
La funcin es una estructura autnoma similar a los mdulos. La diferencia radica en
que la funcin se usa para devolver un solo valor de un tipo de dato simple a su punto
de referencia. La funcin se relaciona especificando su nombre en una expresin, como
si fuera una variable ordinaria de tipo simple. Las funciones se dividen en estndares y
definidas por el usuario. Estndar: Son funciones proporcionadas por cualquier lenguaje
de programacin de alto nivel, y se dividen en aritmticas y alfabticas. Definidas por el
usuario: son funciones que puede definirlas el programador con el propsito de
ejecutar alguna funcin especfica, y que por lo general se usan cuando se trata de
hacer algn clculo que ser requerido en varias ocasiones en la parte principal del
algoritmo.
2. Introduccin A La Programacin.

2.1 Conceptos bsicos


Algoritmo
Secuencia ordenada de pasos que resuelve un problema en concreto.
Caractersticas:
- Correccin (sin errores)
- Precisin (ausencia de ambigedades)
- Repetividad (solucin genrica de un problema dado)
- Finitud (nmero finito de rdenes, no implica finitud)
- Eficiencia (temporal [tiempo necesario] y espacial [memoria utilizada])

Programa implementacin de un algoritmo en un lenguaje de programacin

Datos. PROGRAMA Datos de salida.


instrucciones
Conjunto ordenado de instrucciones que se dan al ordenador indicndole las
operaciones o tareas que ha de realizar para resolver un problema.
Lenguajes de programacin.
Es un conjunto de smbolos que representan una orden para el ordenador: la ejecucin
de una operacin con datos.
Las instrucciones se escriben en un lenguaje de programacin:
- Se forman con smbolos tomados de un determinado repertorio
(componentes lxicos)
- Se construyen siguiendo unas reglas precisas (sintaxis).
2.2 Caractersticas del lenguaje de programacin
Hay cantidad de lenguajes de programacin, algunas diferencias entre ellos se
encuentran su propsito (general o especfico para cierto tipo de tareas), en la sintaxis,
el sistema de tipos, por los paradigmas de programacin que soporta (POO, imperativo,
funcional, ), otras diferencias estn en las libreras disponibles, frameworks o
comunidad, sin embargo, la mayora comparten algunas caractersticas por las que se
pueden catalogar los lenguajes. En este artculo comentar algunas de estas
caractersticas por las que podemos catalogar y agrupar los lenguajes de programacin.

Compilado
En un lenguaje compilado el cdigo fuente antes de ser ejecutado es convertido a
lenguaje mquina (C, C++) aunque tambin puede ser convertido a representacin
intermedia que posteriormente es interpretada y convertida a lenguaje mquina JIT
(Java, C#). El compilador puede detectar una gran cantidad de errores que en un
lenguaje interpretado o de tipado dinmico se descubriran en tiempo de ejecucin.

Interpretado
En un lenguaje interpretado el cdigo fuente es compilado a cdigo mquina en el
momento de su ejecucin (Python, Ruby, PHP, JavaScript).
Orientado a objetos
Parte del xito de los lenguajes orientado a objetos se debe a conceptos como la
herencia que es una forma de reutilizar el cdigo de la clase de la que se hereda, el
polimorfismo con la que un mismo mtodo puede estar implementado de diferente
forma en funcin de la clase que lo implementa en la jerarqua de clases construida con
la herencia, la sobrecarga usar un mismo mtodo con diferentes parmetros y tambin
igual o ms importante la encapsulacin con la que se ocultan los detalles internos del
funcionamiento de la clase siendo nicamente posible manejar la clase a travs de la
interfaz (mtodos) que ofrece.

Tipado esttico
En un lenguaje de tipado esttico las comprobaciones de tipos se realizan en tiempo de
compilacin (C, C++, Java). Los tipos pueden ser declarados de forma explcita o de
forma inferida segn el anlisis del cdigo fuente que realiza el compilador.
Tipado dinmico
Por el contrario, el tipado dinmico comprueba los tipos en el momento de ejecucin
del programa (PHP, Python, Groovy, JavaScript). A esos lenguajes se les conoce como
lenguajes dinmicos.

Fuertemente y dbilmente tipado


En un lenguaje fuertemente tipado un dato con un tipo no puede ser usado como si
fuese de otro. Aunque algunos lenguajes como Java se dicen que son fuertemente
tipado tienen algunas laxitudes. Por ejemplo, en Java un float puede usarse como si
fuese un double y en otros lenguajes con menor grado de tipificacin como PHP un
string puede ser usado como un dato numrico.

Otras caractersticas que se suelen mencionar al hablar de lenguajes de programacin.


Inferencia de tipos
En base al anlisis del cdigo fuente se puede inferir el tipo de las variables evitando
que el programador los declare explcitamente continuamente.
Closures y Lambdas
Un closure es una referencia a una funcin que puede referenciar las variables del
contexto en el que est definida. Una lambda es simplemente una referencia a una
funcin annima. En Java las lambdas pueden referenciar variables declaradas como
final, esto es, sean constantes.
Defaults methods y Traits
Un trait define una coleccin de mtodos posiblemente incluyendo tambin su
implementacin, adems, pueden definir propiedades. Los defaults methods de Java
pueden definir implementaciones en algunos mtodos de interfaces.
High Order Functions
Las funciones de orden superior son funciones que toman como argumentos una o ms
funciones o devuelven como resultado otra funcin.
Currying
La currificacin consiste en transformar una funcin con al menos dos argumentos en
una funcin con al menos un argumento menos.
Duck typing
Este concepto es usado en los lenguajes de tipado dinmico tratando a las variables no
por su tipo o herencia sino en base a las propiedades y mtodos que soporta (Python,
PHP, Groovy, JavaScript).
Intersection types y Union types
Ceylon tiene un sistema de tipos ms avanzado (y complejo) que Java, una expresin es
asignable a un intersection types X & Y si esa expresin es asignable a X e Y
individualmente. Una expresin es asignable a un union type X | Y si es asignable a X o
Y.
Named arguments
Cuando invocamos un mtodo con argumentos, los argumentos se asignan a los
parmetros de la funcin segn el orden en que son declarados. Los named arguments
permiten asignar los argumentos a los parmetros de la funcin por sus nombres.
Destructuring assignment
La asignacin desestructurada permite extraer datos de arrays y objetos usando una
sintaxis rplica de la construccin de arrays y literales de objetos.
Tuples
Las tuplas son una estructura de datos formada por varios tipos, en Java 8 puede usarse
la librera vavr que aade esto y otras funcionalidades interesantes. En algunos
lenguajes puede combinarse con la asignacin desestructurada.

2.3 Estructura bsica de un programa

Las partes principales de un programa estn relacionadas con dos bloques:


declaraciones e instrucciones.
En las instrucciones podemos diferenciar tres partes fundamentales
Entrada de Datos:
La constituyen todas las instrucciones que toman los datos de entrada desde un
dispositivo externo y los almacena en la memoria principal para que puedan ser
procesados.
Proceso o algoritmo: Est formado por las instrucciones que modifican los objetos a
partir de su estado inicial (datos de entrada) hasta el estado final (resultados) dejando
los objetos que lo contiene disponibles en la memoria principal.
Salida de resultados: Conjunto de instrucciones que toman los datos finales (resultado)
de la memoria principal y los envan a los dispositivos externos.

El teorema de Bhm y Jacopini (1966) dice que un programa propio puede ser escrito
utilizando slo tres tipos de estructuras de control:
Estructura secuencial
Una estructura de programa es secuencial si las instrucciones se ejecutan una tras otra,
a modo de secuencia lineal, es decir que una instruccin no se ejecuta hasta que finaliza
la anterior, ni se bifurca el flujo del programa.

Estructura selectiva o de seleccin


La estructura selectiva permite que la ejecucin del programa se bifurque a una
instruccin (o conjunto) u otra/s, segn un criterio o condicin lgica establecida, slo
uno de los caminos en la bifurcacin ser el tomado para ejecutarse.
Estructura de control selectiva simple
Estructura de control selectiva doble
Estructura de control selectiva mltiple

Estructura de control cclica o repetitiva

Estructura de control desde


Estructura de control mientras
para estas estructuras son necesarios los operadores lgicos y de relacin.

Operadores de relacin
Mayor a >
Menor a <
Mayor o igual a >=
Menor o igual a <=
Diferente a ~=
Operadores lgicos
Y (and) &
O (or) |
No (not) ~
Exclusivo o (or) xor

Con el uso de los operadores de relacin se construyen las condiciones simples y con el
uso de los operadores de relacin y lgicos se construyen las condiciones compuestas.

Anidamiento
El cuerpo de cualquier estructura puede ser instrucciones simples u otras estructuras,
que a su vez pueden contener a otras.

2.4 Elementos del lenguaje: tipos de datos, literales, constantes, variables,


identificadores, parmetros, operadores y salida de datos
TIPOS DE DATOS

Todos los lenguajes de programacin soportan algn conjunto de diferentes tipos de


datos. Un tipo de dato es un conjunto de valores y un conjunto de operaciones
definidas para esos valores. Un tipo de dato describe un conjunto de objetos con la
misma representacin. Existe un nmero de operaciones asociadas con cada tipo, por
ejemplo: es posible realizara aritmtica sobre tipos de datos enteros y reales,
concatenar con los datos de tipo cadena o recuperar o modificar el valor de un
elemento de un arreglo. Un tipo de dato proporciona una descripcin de sus instancias
que indican al compilador cosas como cuanta memoria se debe asignar para una
instancia, cmo representar los datos en memoria y qu operaciones son permisibles
sobre esos datos.

Los tipos de datos que se construyen en el compilador, se conocen como tipos de datos
fundamentales o predefinidos. Cada lenguaje de programacin incorpora una coleccin
de tipos de datos fundamentales, que incluyen normalmente enteros, reales, carcter
etc. Los lenguajes soportan tambin un nmero de constructores de tipos de datos
estructurados o compuestos, que son tipos ms complejos

SIMPLES O PRIMITIVOS (Bsicos, Fundamentales o predefinidos): Son aquellos que


reconoce directamente el lenguaje, sirven de base para otros tipos de datos
(complejos),ocupan solo una localidad de memoria, para el almacenamiento de un valor
simple, no de objetos complejos. Por lo tanto la variable que lo identifica hace
referencia a un valor nico a la vez., este tipo de datos se clasifican de la siguiente
manera:

Numricos:

Son aquellos que solamente aceptan caracteres numricos y el caracter puntoen el caso
de aquellos valores fraccionarios.

Enteros:

Son aquellos que consideran solamente valores enteros (sin fracciones decimales)
pudiendo ser precedidos por el carcter (-), para asignarle el signo a los valores
negativos.

Carcter o char :

Ocupan 16 bits, con un rango de 0 a 65,536. Este rango tan amplio, le permite al
lenguaje representar cualquier carcter alfabtico, numrico (sin signo) o especial de
cualquier lenguaje o idioma de cualquier parte del mundo, garantizando con esto la
portabilidad. El carcter debe estar delimitado por comillas simples (apostrofes).

NO PRIMITIVOS (Estructurados o compuestos):


Son aquellos que no estn considerados por el lenguaje y tendrn que ser definidos por
el programador, empleando para ello los tipos de datos simples o bsicos.

Identificadores, Variables y Constantes

Algunos de los principales componentes de un programa son los Identificadores, las


variables y las constantes.

Identificadores: Se emplean para asignarle un nombre a una clase, objeto, atributo, etc.
Y se puede emplear en el, cualquier secuencia de caracteres alfabticos en maysculas
o minsculas, numricos, los caracteres de subrayado (guin bajo), el de dlar ($) y no
se permiten los espacios en blanco como separadores de palabras.

Constantes

Una constante es una partida de datos que permanecen sin cambios en el programa
(durante el desarrollo y ejecucin).

Variables

Una variable es una partida de datos cuyo valor puede cambiar en el programa (durante
el desarrollo y ejecucin).

Los diferentes tipos de variables dependen del lenguaje de programacin, por lo


general estas suelen ser enteras, reales, carcter, lgicas y de cadena.
Tanto las variables como las constantes tienen un nombre o identificador generalmente
conformado por caracteres alfanumricos (ciertos lenguajes de programacin admiten
el carcter de subrayado _ como vlido en los identificadores), y el primero de stos
debe ser una letra.
Para poder usar una variable en C++, primero debemos declararla especificando cual de
los tipos de datos presentados arriba queremos que sea. La sintaxis para declarar una
nueva variable es escribir el especificador de tipo de dato que queremos (como int,
short, float...) seguido por un identificador de variable. Por ejemplo:

int a;
float mynumber;

Son declaraciones validas de variables. La primera declara una variable de tipo int con el
identificador a. La segunda declara una variable de tipo float con el identificador
mynumber. Una vez declaradas, las variables a y mynumber pueden ser usadas dentro
del resto de su contexto en el programa.

Si necesita declarar algunas variables del mismo tipo y quiere ahorrarse escritura,
puede declarar todas estas en la misma lnea separando los identificadores con comas (
, ). Por ejemplo:

int a, b, c;

declara tres variables (a, b y c) de tipo int , y tiene exactamente el mismo significado
que si hubiramos escrito:
int a;
int b;
int c;

Inicializacin de variables

Cuando declaramos una variable local, su valor es indeterminado por defecto. Pero
usted podra querer que una variable almacene un valor en concreto al momento de su
declaracin. Para hacer esto, usted tiene que anexar un signo igual seguido por el valor
deseado en la declaracin de la variable:

type identifier = initial_value ;

Por ejemplo, si queremos declarar una variable entera int llamada a que contenga el
valor 0 al momento en el cual es declarada, podramos escribir:

int a = 0;

Adicionalmente a esta forma de inicializacin de variables (conocida como c-like), C++


ha aadido una nueva manera de inicializar una variable: encerrando el valor inicial
entre parntesis ():

type identifier (initial_value) ;

por ejemplo:
int a (0);

Ambas formas son validas y equivalentes en C++.

Constantes: Literales.

Una constante es cualquier expresin que tenga un valor arreglado. Estos pueden ser
divididos en nmeros Enteros, nmeros Punto-Flotante, Cadenas y smbolos.

Nmeros Enteros

1776
707
-273

Estas son constantes numricas que identifican nmeros enteros decimales. Note que
para expresar una constante numricas no necesitamos escribir comillas (") ni otro
smbolo especial. No hay duda de que es una constante dondequiera que se escriba
1776 en un programa, nos estaremos refiriendo a el valor 1776.

En adicin a los nmeros decimales (esos que ya todos nosotros conocemos) C++
permite el uso de constantes literales de nmeros octales (base 8) y nmeros
hexadecimales (base 16). Si queremos expresar un nmero octal debemos precederlo
con un smbolo 0 (caracter cero). Y para expresar un nmero hexadecimal tenemos que
precederlo con los smbolos 0x (cero, x). Por ejemplo, las siguientes constantes literales
son todas equivalentes entre si:
75 // decimal 0113 // octal 0x4b // hexadecimal

Todas representan el mismo numero: 75 (setenta y cinco ) expresado como un nmero


base 10, octal y hexdecimal, respectivamente

Nmeros Punto Flotante

Estos expresan nmeros con decimales y/o exponentes. Estos pueden incluir un punto
decimal, un smbolo e (que expresa "por 10 a la n-esima potencia", donde n es el
siguiente valor entero) o ambos.
3.14159 // 3.14159 6.02e23 // 6.02 x 1023 1.6e-19 // 1.6 x 10-19 3.0 // 3.0

estos son cuatro nmeros vlidos con decimales expresados en C++. El primer nmero
es PI, el segundo es el numero de Avogadro, el tercero es la carga elctrica de un
electrn (un nmero extremadamente pequeo) -todos ellos aproximados- y el ltimo
es el nmero 3 expresado como un literal numrico en punto flotante.

Constantes declaradas (const)

con el prefijo const usted puede declarar constantes con un tipo especifico
exactamente igual a como hara con una variable:

const int width = 100;


const char tab = '\t';
const zip = 12440;
En caso de que el tipo no sea especificado (como en el ultimo ejemplo) el compilador
asume que es de tipo int.
2.5 Traduccin de un programa: compilacin, enlace, ejecucin y errores.
Traduccin de un programa: compilacin, enlace de un programa, errores en tiempo de
compilacin. Para la elaboracin de un programa hay que distinguir entre los siguientes
desfases:

Fase de compilacin y montado o enlace (link,) Fase de ejecucin de un programa.

Fase de compilacin y linkado (link, montado o enlace)

Un programa escrito en un lenguaje de alto nivel, no puede ser ejecutado directamente por
un ordenador, sino que debe ser traducido a lenguaje mquina.

Las etapas por las que debe pasar un programa escrito en un lenguaje de programacin,
hasta poder ser ejecutable son:

o Programa fuente
o Programa escrito en un lenguaje de alto nivel (texto ordinario que contiene las
sentencias del programa en un lenguaje de programacin). Necesita ser traducido a
cdigo mquina para poder ser ejecutado.

Compilador Programa encargado de traducir los programas fuentes escritos en un lenguaje de


alto nivel a lenguaje mquina y de comprobar que las llamadas a las funciones de librera se
realizan correctamente. Programa (o cdigo) objeto Es el programa fuente traducido (por el
compilador) a cdigo mquina. An no es directamente ejecutable. Programa Ejecutable
Traduccin completa a cdigo mquina, realizada por el enlazador, del programa fuente y que
ya es directamente ejecutable.

Montador o enlazador (Linker) Es el programa encargado de insertar al programa objeto el


cdigo mquina de las funciones de las libreras (archivos de biblioteca) usadas en el programa
y realizar el proceso de montaje, que producir un programa ejecutable .exe. Las libreras son
una coleccin de cdigo (funciones) ya programado y traducido a cdigo mquina, listo para
utilizar en un programa y que facilita la labor del programador. Errores en tiempo de
compilacin S el programa fuente es sintcticamente correcto, el compilador generar el
cdigo objeto, en caso contrario mostrar una lista con los errores encontrados, no
generndose ningn programa objeto, para que procedamos a su depuracin. Los
compiladores emiten mensajes de error o de advertencia durante las fases de compilacin, de
enlace o de ejecucin de un programa:

Los errores en tiempo de compilacin son los que se producen antes de la ejecucin del
programa, durante el proceso de compilacin del programa.
Pseudocodigo

inicio

Leer prom

si If no
prom >=90 &&
prom <=100

si If no
prom >=80 &&
Printf Alumno prom <=100
Exelente con
promedio de: ;
prom
no Printf Alumno
no If
Muy bien con si no
prom >=70
promedio de: ; &&
prom prom
<=100

Printf Alumno
bien con
promedio de: ;
prom Printf Alumno
deficiente con
promedio de: ;
prom

fin
AND
X Y Resultado X Y Resultado
X and Y
True True False 0 0 0
True False False 0 1 0
False True False 1 0 1
False False False 1 1 1

Operadores lgicos
Producen valores booleanos
VF
1 0
Agrupan expresiones
Not Negacion (no)
And Conjuncion (y)
Or Disyuncion (o)
Xon Disyuncion (o/solo)

OR NOT

X Y Resultados X Resultados
X or Y X not Y
0 0 0 0 1
0 0 0 1 0
1 0 1
1 1 1

Operadores relacionales
> Mayor que
< Menor que
>= Mayor o igual que
<= Menor o igual que
!= Diferente de
== Igual a
Aritmeticos
+
-
*
/
%
^
++
--

Una variable, nomina, binomina


hornada sueldo diario 80
sdsueldo diario 80 (((sd*dt)+
hehoras extras
fFaltas
PHEPago* Hora Extra
Estructura de un programa en C++
Libreras consideradas
Declaracin de constantes
Declaracin de variables globales
Cuerpo principal del programa
{Declaracin de variables locales
Secuencia de instrucciones
Llamadas a funciones y procedimientos

} Termina el cuerpo principal del programa


Funcin 1
{ Declaracin de variables locales
Secuencia de instrucciones
Llamada a otra funcin
} Cierre de la funcin
Funcin 2
Funcin 3
--------------------------------------------------------------------------------------------------------------------
#include <stdio.h>
int x;
Main()
{
int a,b;
pintf(Hola mundo);
return (0);
}
Tipos de datos en c++
%c (letra y numero, captura un carcter)
%s (cadena de caracteres string)
%d (captura valores enterosvariable tipo , int)
%f (valores flotantes 90.50

Programa de edades ejemplo


#include <stdio.h>
main ()
{
int edad1, edad2;
printf(Introduce la edad del primer alumno:);
scanf(%d, &edad1);
printf(Introduce la edad del segundo alumno:);
scanf(%d,&edad2);
if edad1>edad2
{
printf(La edad del primer alumno es mayor:,edad1);
}
printf(La edad del segundo alumno es mayor:,edad2);
}

Programa para capturar el nombre de nosotros y luego la edad posteriormente


van a desplejar (hola, edad, bienvenido al ita)
#include <stdio.h>
#include <iostream>
#include <string.h>
#include <cstdlib> //libreria para agregar color ala consola//
using namespace std;

main()
{ system("color 0a ");
cout<<"HOLA INGRESA TU NOMBRE POR FAVOR"<<endl;
string nombre;
cin>> nombre;
cout<<"Ingresa tu edad:"<<endl;
string edad;
cin>> edad;
system("color 1A ");
cout<<"HOLA BIENVENIDO AL ITA"<<nombre<<endl;
cout<<"Tu edad es: "<<edad<<endl;
return 0;
}
Desarrollar un diagrama de flujo en el que se capturen 3 valores(edades), de
alumnos y enseguida comparar para desplegar en pantalla cual de ellos es
mayor.
#include<stdio.h>

#include<stdlib.h>

int ed1, ed2, ed3;

main(void)

{
printf("Dame la edad 1:");
scanf("%d",&ed1);
printf("Dame la edad 2:");
scanf("%d",&ed2);
printf("Dame la edad 1:");
scanf("%d",&ed3);
if(ed1>ed2&&ed1>ed3)
printf("El alumno 1 es el mayor con una edad de:%i\n",ed1);
else
if(ed2>ed1&&ed2>ed3)
printf("El alumno 2 es el mayor con una edad de:%i\n",ed2);
else
if(ed3>ed1&&ed3>ed2)
printf("El alumno 3 es el mayor con una edad de:%i\n",ed3);
else
if(ed1==ed2&&ed2>ed3)
printf("Los alumnos 1 y 2 son los mayores con una edad
de:%i\n",ed1);
else
if(ed1==ed3&&ed3>ed2)
printf("Los alumnos 1 y 3 son los mayores con una edad
de:%i\n",ed1);
else
if(ed2==ed3&&ed3>ed1)
printf("Los alumnos 2 y 3 son los mayores con una edad
de:%i\n",ed2);
else
if(ed1==ed2&&ed2==ed3)
printf("Los 3 alumnos tien la misma edad de:%i\n",ed1);
system("clear");

Progrma que desplegu los nmeros pares del 1-100 y tener suma de pares y
otro programa de nones
Pares
#include<stdio.h>
int main(){
int i,sum=0;
for(i=0;i<=100;i=i+2){
printf(" %d ",i);
sum = sum +i;
}
printf(" %d ", sum);
return 0;
}

Nones

#include<stdio.h>
int main(){
int i,sum=1;
for(i=-1;i<=100;i=i+2){
printf(" %d ",i);
sum = sum +i;
}
printf(" %d ", sum);
return 0;
}
Programa que califique la calificacin del alumno y vea si esta en exelente, muy
bien, pasable.
#include <stdio.h>

int prom=0;

main(void)

{
printf("Cual es el promedio:");
scanf("%i",&prom);
if(prom>=90&&prom<=100)
printf("Alumno exelente con promedio de:%i\n",prom);
else
if(prom==80&&prom<90)
printf("Alumno muy bien con un promedio de:%i\n",prom);
else
if(prom>=70&&prom<80)
printf("Alumno pasable con un promedio de:%i\n",prom);
else
if(prom<70)
printf("El alumno tiene problemas con un promedio de:%i\n",prom);
}
3.1 Estructuras secuenciales

El lenguaje de programacin C es secuencial, de forma que un programa escrito en C es


interpretado por el compilador lnea por lnea empezando en la primera y siguiendo el orden
en que se han escrito las instrucciones.

Hoy bsicamente vamos a ver cmo crear estructuras secuenciales en C (conjunto de


instrucciones), para as lograr un objetivo concreto y repasar un poco lo que hemos aprendido
hasta ahora en los artculos anteriores. Cuando se disea una estructura secuencial en
pseudocdigo normalmente se escribe una instruccin, acabada en ; por cada lnea.

Por lo tanto, un algoritmo en pseudocdigo tendr la siguiente forma:

programa es

constantes

..................

finconstantes

variables

.................

fivarariables

instruccin 1;

instruccin 2;

instruccin 3;

...

instruccin N;

finprograma

En el lenguaje de programacin C se sigue exactamente la misma estructura y sintaxis. Es decir,


una instruccin por lnea acabadas en ;.

Las instrucciones pueden ser cualquier comando que necesitemos ejecutar para conseguir un
objetivo concreto. En C, disponemos de diferentes tipos de instrucciones. A continuacin
vemos qu es cada una de ellas.
Instrucciones de asignacin

Una instruccin de asignacin es aquella que permite dar un valor a una variable (como ya
vimos en el artculo anterior de Operadores y expresiones en C).

La sintaxis utilizada en pseudocdigo normalmente es la siguiente:

<nombre_variable> = <expresin>

// Inicio programa

#include <stdio.h>

// Inicio funcin principal main()

int main(){

// Instruccin 1: Crear una variable "nota" y asignarle el valor 7 (asignacin)

int nota=7;

// Instruccin 2: Subir un punto a la nota anterior (asignacin)

nota++;

return 0;

// Fin funcin principal main()

// Fin programa

Instrucciones de entrada

Las instrucciones de entrada son las que permiten al programa recibir informacin desde el
exterior. Los programas cuando reciben informacin, la tienen que guardar en memoria y por
lo tanto el uso de instrucciones de entrada implica la correspondiente utilizacin de variables.

Las instrucciones de entrada en pseudocdigo, se definen de la siguiente manera:

LEER ( nombre_variable [, nombre_variable ] );

En C esto bsicamente viene a ser el uso de funciones como scanf(), fgets(), etc. para obtener
informacin del teclado (introducida por el usuario), de un archivo, etc.
Si no habis ledo todava el artculo que habla sobre las funciones scanf() y printf() en C,
todava estis a tiempo para hacerlo en printf y scanf en C/C++.

Instrucciones de salida

Las instrucciones de salida son aquellas que permiten al programa enviar informacin al
exterior (pantalla, archivo, etc.)

Las instrucciones de salida en pseudocdigo, se definen de la siguiente manera:

ESCRIBIR ( <expressin> [, <expressin> ] );

En C como ya os imaginis, esto viene a ser el uso de funciones como printf() para mostrar
informacin al usuario por pantalla, guardarla en un archivo, etc.

Vuelvo a insistir, si no tenis claro el uso de la funcin printf() podis leer el artculo printf y
scanf en C/C++ y en caso de que sigis con dudas, podis usar el sistema de comentarios de
ms abajo.

Estructuras secuenciales bsicas en C

En las anteriores publicaciones hemos visto varios ejemplos de estructuras secuenciales en C


(espero que hayis hecho la calculadora molona -y bsica, s- del artculo anterior).

A modo de ejemplo, vamos a escribir otro programa sencillo que nos convierta grados Celsius a
grados Fahrenheit (ms adelante haremos programas ms interesantes con variables, bucles,
entrada y salida de datos)

// Inicio programa

#include <stdio.h>

// Inicio funcin principal main()

int main(){

// 1: Crear dos variables "c" y "f" de tipo float inicializadas a "0".

float c=0, f=0;


// 2: Pedir el nmero de grados Celsius

printf("Introduce los grados Celsius: ");

fflush(stdout);

// 3: Capturar el nmero introducido por el usuario y guardarlo en "c"

scanf("%f",&c);

// 4: Calcular el nmero de grados Fahrenheit

// --> Grados Fahrenheit = (1.8 * Grados Celsius) + 32

f=(1.8*c)+32;

// 5: Mostrar el resultado al usuario

printf("\n%.2f grados Celsius son equivalentes a %.2f grados


Fahrenheit.\n",c,f);

return 0;

// Fin funcin principal main()

// Fin programa
3.2 Estructuras selectivas: simple, doble, y mltiple
Estructuras Selectivas

Las estructuras selectivas se utilizan para tomar decisiones lgicas; de ah que se


suelan denominar tambin estructuras de decisin o alternativas y son
utilizadas en todos los lenguajes de programacin, en este caso veremos
estructuras selectivas para el lenguaje de programacin Ruby, creado por el
programador japons Yukihiro Matz Matsumoto, quien comenz a trabajar en
Ruby en 1993, y lo present pblicamente en 1995.En el crculo de amigos de
Matsumoto se le puso el nombre de Ruby (en espaol rub) como broma
aludiendo al lenguaje de programacin Perl (perla)
En las estructuras selectivas se evalan una condicin y en funcin del resultado
de la misma se realiza una opcin u otra. Las condiciones se especifican usando
expresiones lgicas. La representacin de una estructura selectiva se hace con
palabras en pseudocdigo (if, then, else o bien en espaol si, entonces, si_no),
las estructuras selectivas pueden ser:
Simples
Las estructuras selectivas simples o condicionales estn compuesta nicamente
de una sola condicin si es verdadera ejecutara la accin o acciones si la
condicin es falsa no har nada.
if (condicin) entre parntesis esta la condicin que se debe evaluar
accin (si la condicin entre parntesis es verdadera se ejecutara la accin o
acciones, porque, puede estar conformado por varias acciones)
end
Antes de mostrar el ejemplo vamos a explicar algunos comandos que vamos a
utilizar:
# => este comando nos permite poner un comentario, puede ser a principio de
linea o en cualquier posicin de ella.
puts => este comando nos permite imprimir cualquier texto en pantalla, puede
ser el resultado de una operacin o un texto escrito entre comillas.
Ejemplo:
edad = 19 # asignamos un valor a la variable edad
if (edad > 17)
puts Es mayor de edad
end
Si ejecutamos el programa que hemos desarrollado el resultado seria: Es
mayor de edad, porque, la condicin que esta entre parntesis es verdadera,
porque, edad que tiene asignado 19 es mayor a 17, en cambio, si el valor
asignado a la variable edad fuera menor a 18, no mostrara ningn resultado.
Dobles
Las estructuras selectivas dobles estn compuesta nicamente de una sola
condicin, si es verdadera ejecutara la accin o acciones y si la condicin es falsa
ejecutara las acciones para la condicin falsa. Esta estructura selectiva solo se
debe utilizar nicamente cuando existen dos condiciones, si hubieran mas de
dos condiciones se puede utilizar varias selectivas simples o una selectiva
mltiple.
if (condicin)
accin (si la condicin entre parntesis es verdadera se ejecutara la accin o
acciones, porque, puede estar conformado por varias lineas)
else
accin (si la condicin entre parntesis es falsa se ejecutara la accin o
acciones, porque, puede estar conformado por varias lineas)
end
Ejemplo:
Siguiendo con el ejemplo anterior asignaremos el mismo valor a la variable edad
edad = 19 # asignamos un valor a la variable edad
if (edad > 17)
puts Es mayor de edad
else
puts Es menor de edad
end
Si ejecutamos el programa que hemos desarrollado el resultado seria: Es
mayor de edad, porque, la condicin que esta entre parntesis es verdadera,
porque, edad que tiene asignado 19 es mayor a 17, en cambio, si el valor
asignado a la variable edad fuera menor a 18, el resultado seria Es menor de
edad, porque, la condicin es falsa.
Mltiples
Las estructuras selectivas mltiples o anidadas estn compuesta mltiples
selectivas simples que estn unidas por el comando elsif el resultado que se
obtiene con una selectiva multiple se puede obtener con varias selectivas
simples, entonces, cual es la diferencia? el codigo es mas pequeo, aunque, yo
siempre he recomendado a mis alumnos que cuando recien se esta aprendiendo
a programar es recomendable que al principio se trabaje con selectivas simples,
a medida que se va aprendiendo y ganando destreza se puede comenzar a
utilizar las selectivas multiples en los casos que ellos crean conveniente y
necesarios.
if (condicin)
accin (si la condicin entre parntesis es verdadera se ejecutara la accin o
acciones, porque, puede estar conformado por varias lineas)
elsif (condicin)
accin (si la condicin entre parntesis es verdadera se ejecutara la accin o
acciones, porque, puede estar conformado por varias lineas)
elsif (condicin)
accin (si la condicin entre parntesis es verdadera se ejecutara la accin o
acciones, porque, puede estar conformado por varias lineas)
end
Ejemplo:
Siguiendo con el ejemplo anterior asignaremos el mismo valor a la variable edad
edad = 19 # asignamos un valor a la variable edad
if (edad > 17)
puts Es mayor de edad
elsif (edad < 18)
puts Es menor de edad
end
Si ejecutamos el programa que hemos desarrollado el resultado seria: Es
mayor de edad, porque, la condicin que esta entre parntesis de la primera
condicin es verdadera, porque, en las selectivas mltiples cada condicin
debe ser nica, porque, cuando ingresa en una de ellas ah termina el programa,
si el valor asignado a la variable edad fuera menor a 18, el resultado seria Es
menor de edad, porque, hubiera ingresado en la segunda condicin y no en la
primera.

3.3 ESTRUCTURAS ITERATIVAS: REPETIR, MIENTRAS, HASTA DESDE

CICLO FOR C++

Este ciclo es uno de los mas usados para repetir una secuencia de instrucciones, sobre
todo cuando se conoce la cantidad exacta de veces que se quiere que se ejecute una
instruccin simple o compuesta.

Su formato general es:

for (inicializacin; condicin; incremento)

{ instruccin(es); };

Funciona de la siguiente manera:

1. El valor inicial de la variable solo se ejecuta una vez al inicio del ciclo.

2. Se ejecuta la condicin.

3. Si es verdadera pasar a ejecutar el cuerpo del for.

4. Se ejecuta el incremento o decremento de la variable.

5. Pasa a preguntar por la condicin, resultando as un proceso recursivo.

6. Si la condicin fuera falsa la ejecucin pasar a la siguiente instruccin.

En su forma simple la inicializacin es una instruccin de asignacin que carga la


variable de control de ciclo con un valor inicial.

La condicin es una expresin relacional que evala la variable de control de ciclo


contra un valor final o de parada que determina cuando debe acabar el ciclo.
El incremento define la manera en que la variable de control de ciclo debe cambiar cada
vez que el computador repite un ciclo.

Se deben separar esos 3 argumentos con punto y coma (;)

Ejemplo:

Int x
for ( x = 0; x <= 100; x++){
cout<<x+1;
}

CICLO WHILE

Permite que se repita cierta accin en cuanto la condicin evaluada sea verdadera y en
el momento en que la condicin sea falsa saldr del ciclo y continuara con la siguiente
instruccin

En este ciclo el cuerpo de instrucciones se ejecuta mientras una condicin permanezca


como verdadera en el momento en que la condicin se convierte en falsa el ciclo
termina..

La forma general de la sentencia while es:

while ( condicin )
sentencia;

El ciclo for funciona de la siguiente manera:

1.-Comienza comprobando la condicin con la inicializacin de la variable.

2.- Determina si es verdadera y el ciclo comienza.

3.-si la condicin llega a ser falsa el bucle termina.

While puede llevar dos condiciones en este caso inicializar 2 variables de condicin y
cuidar que existan 2 de rompimiento o terminacin de ciclo.

El grupo cierto de instrucciones puede ser una sola instruccin o todo un grupo de
instrucciones.
La condicin puede ser simple o compuesta.

Los casos generales de for tambien se aplican a while.

A este ciclo tambin se le conoce tambin como ciclo de condicin de entrada o prueba
por arriba porque este ciclo evala primero la condicin y posteriormente ejecuta las
instrucciones.

DO WHILE

Su diferencia bsica con el ciclo while es que la prueba de condicin es hecha al


finalizar el ciclo, es decir las instrucciones se ejecutan cuando menos una vez porque
primero ejecuta las instrucciones y al final evala la condicin;

Tambin se le conoce por esta razn como ciclo de condicin de salida.

Su formato general es :

cargar o inicializar variable de condicin;

do {

grupo cierto de instruccin(es);

instruccin(es) de rompimiento de ciclo;

} while (condicin);

Programas de la 3 unidad.
Programa de cdigo ascii
#include <stdio.h>

int main() {
int i;
for (i=0; i<257; i++) {
printf("El codigo ASCII de la letra %c es %i \n", i, i);
}
}

PROGRAMA DE PROMEDIO
#include <stdio.h>
#include<iostream>
#include<windows.h>
#include<conio.h>
#include <iomanip>

using namespace std;


void gotoxy(int x1,int y1){
HANDLE hcon = GetStdHandle(STD_OUTPUT_HANDLE);
COORD dwPos;
dwPos.X = x1;
dwPos.Y = y1;
SetConsoleCursorPosition(hcon,dwPos);
}
int x=25,y=0;
int main(int argc, char** argv){
int prom;
int n;

system("color 9f");
gotoxy(x,y);
cout<<"Cuantos Promedios desea introducir:";
cin>>n;
gotoxy(x+5,y+2);cout<<"Introduzca las edades"<<endl;
for(int i=1; i<=n;i++)
{

string nombre;
int prom[n];

cout<<endl<<"__________________________________________________________
______________________"<<endl;
cout << "Por favor ingrese su nombre: ";
getline(cin, nombre);
getline(cin, nombre);
cout<< setw(125) <<"Promedio:";
cin>>prom[i];

if(prom[i]>100)
cout<<setw(100) << " Nombre: "<<nombre<<" ---[ESTE VALOR NO ES VALIDO]:"<<prom[i];
else
if(prom[i]>=90&&prom[i]<=100)
cout<<setw(100) << " El alumno "<<nombre<<" tiene un exelente promedio de: "<<prom[i];
else
if(prom[i]>=80&&prom[i]<90)
cout<<setw(100) << " El alumno "<<nombre<<" tiene un buen promedio de:"<<prom[i];
else
if(prom[i]>=70&&prom[i]<80)
cout<<setw(100) << " El alumno "<<nombre<<" Alumno tiene un promedio pasable
de:"<<prom[i];
else
if(prom[i]<70)
cout<<setw(100) << " El alumno "<<nombre<<" ha sido cruelmente reprovado con un promedio
de:"<<prom[i];
}}}

CATEGORIZAR EDAD NORMAL, SIN DISEO, NI VECTORES.


#include <conio.h>
#include <stdio.h>
int main()
{

int edad1,edad2,edad3,edad4,edad5;

printf( "\n INTRODUZCA LA EDAD 1: \n" );


scanf( "%d", &edad1 );

if ( edad1 >= 0 && edad1 <= 100 )

if ( edad1 < 3 )
printf( "\n ES UN BEB%c \n", 144 );
else
if ( edad1 < 13 )
printf( "\n ES UN NI%cO \n" , 165 );
else
if ( edad1 < 19 )
printf( "\n ES UN ADOLESCENTE \n" );
else
if ( edad1 < 31 )
printf( "\n ES UN JOVEN \n");
else
if ( edad1 < 61 )
printf( "\n ES UN ADULTO \n" );
else
printf( "\n ES UN ANCIANO \n" );
else
printf( "\n ERROR: EDAD INCORRECTA. \n" );

printf( "\n INTRODUZCA LA EDAD 2: \n" );


scanf( "%d", &edad2 );
if ( edad2 >= 0 && edad2 <= 100 )

if ( edad2 < 3 )
printf( "\n ES UN BEB%c \n", 144 );
else
if ( edad2 < 13 )
printf( "\n ES UN NI%cO \n", 165 );
else
if ( edad2 < 19 )
printf( "\n ES UN ADOLESCENTE \n" );
else
if ( edad2 < 31 )
printf( "\n ES UN JOVEN \n");
else
if ( edad2 < 61 )
printf( "\n ES UN ADULTO \n" );
else
printf( "\n ES UN ANCIANO" );
else
printf( "\n ERROR: EDAD INCORRECTA. \n" );
printf( "\n INTRODUZCA LA EDAD 3:\n" );
scanf( "%d", &edad3 );
if ( edad3 >= 0 && edad3 <= 100 )

if ( edad3 < 3 )
printf( "\n ES UN BEB%c \n", 144 );
else
if ( edad3 < 13 )
printf( "\n ES UN NI%cO \n", 165 );
else
if ( edad3 < 19 )
printf( "\n ES UN ADOLESCENTE \n" );
else
if ( edad3 < 31 )
printf( "\n ES UN JOVEN \n");
else
if ( edad3 < 61 )
printf( "\n ES UN ADULTO \n" );
else
printf( "\n ES UN ANCIANO \n" );
else
printf( "\n ERROR: EDAD INCORRECTA. \n" );

printf( "\n INTRODUZCA LA EDAD 4: \n" );


scanf( "%d", &edad4 );
if ( edad4 >= 0 && edad4 <= 100 )

if ( edad4 < 3 )
printf( "\n ES UN BEB%c \n", 144 );
else
if ( edad4 < 13 )
printf( "\n ES UN NI%cO \n", 165 );
else
if ( edad4 < 19 )
printf( "\n ES UN ADOLESCENTE \n" );
else
if ( edad4 < 31 )
printf( "\n ES UN JOVEN \n");
else
if ( edad4 < 61 )
printf( "\n ES UN ADULTO \n" );
else
printf( "\n ES UN ANCIANO \n" );
else
printf( "\n ERROR: EDAD INCORRECTA. \n" );

printf( "\n INTRODUZCA LA EDAD 5: \n" );


scanf( "%d", &edad5 );
if ( edad5 >= 0 && edad5 <= 100 )

if ( edad5 < 3 )
printf( "\n ES UN BEB%c \n", 144 );
else
if ( edad5 < 13 )
printf( "\n ES UN NI%cO \n", 165 );
else
if ( edad5 < 19 )
printf( "\n ES UN ADOLESCENTE \n" );
else
if ( edad5 < 31 )
printf( "\n ES UN JOVEN \n");
else
if ( edad5 < 61 )
printf( "\n ES UN ADULTO \n" );
else
printf( "\n ES UN ANCIANO \n" );

else
printf( "\n ERROR: EDAD INCORRECTA. \n" );

return 0;
}

PROGRAMA PARA CATEGORIZAR LAS EDADES CON FOR, VECTORES.


#include<iostream>
#include<windows.h>
#include<stdio.h>
#include <iomanip>
using namespace std;
void gotoxy(int x1,int y1){
HANDLE hcon = GetStdHandle(STD_OUTPUT_HANDLE);
COORD dwPos;
dwPos.X = x1;
dwPos.Y = y1;
SetConsoleCursorPosition(hcon,dwPos);
}

int x=25,y=0;
int main(){
int n;
{
system("color 9f");
gotoxy(x,y);
cout<<"Cuantas edades desea introducir:";
cin>>n;
gotoxy(x+5,y+2);cout<<"Introduzca las edades"<<endl;
for(int i=0; i<n;i++)
{

int ed1[n];
cout<<"--------------------------------------------------------------------------------";
cout<< setw(125) <<"EDAD:";
cin>>ed1[i];

if(ed1[i]==0)
cout<<"Es un recien Nacido, Felicidades!!:"<<ed1[i];
else
if(ed1[i]>0&&ed1[i]<=2)
cout<<setw(125) <<"Es un Bebe de edad:"<<ed1[i]<<endl;

else
if(ed1[i]>2&&ed1[i]<=12)
cout<<setw(125) <<"Es un Ni\xA4o de edad:"<<ed1[i]<<endl;
else
if(ed1[i]>12&&ed1[i]<=18)
cout<<setw(125) <<"Es un Adolecente de edad:"<<ed1[i]<<endl;
else
if(ed1[i]>18&&ed1[i]<=60)
cout<<setw(125) <<"Es un Adulto de edad:"<<ed1[i]<<endl;
else
if(ed1[i]>60&&ed1[i]<=100)
cout<<setw(50) <<"Es una persona de la tercera edad:"<<ed1[i]<<endl;
else
if(ed1[i]>100&&ed1[i]<=125)
cout<<setw(125) <<"Increible, Anciano de:"<<ed1[i]<<endl;
else
if(ed1[i]>125)
cout<<setw(50) <<"Acaso es una Broma?, Esto no es posible Dame otro valor:"<<ed1[i]<<endl;

}}}

También podría gustarte