Sie sind auf Seite 1von 302

INSTITUTO TECNOLOGICO DE SALINA CRUZ

ASIGNATURA
ALGORITMO Y PROGRAMACIN

UNIDAD 1

TEMA
INVESTIGACIN SOBRE LA HISTORIA Y EVOLUCIN DE LOS
LENGUAJE DE PROGRAMACIN EN C Y C++
DOCENTE
ROMN NJERA SUSANA MONICA

ALUMNO
MARCELO REYES NOLASCO

CARRERA
INGENIERA MECNICA

SEMESTRE Y GRUPO
2.2B
INTRODUCCIN

En este trabajo tiene como objetivo al proporcionar al estudiante informacin de la
materia, especificando la historia y evolucin del lenguaje de programacin en C Y
C++ desde su origen hasta en su actualidad.
Este importante texto, ayudar al estudiante contar con apoyo de informacin y le
sirva como base para el aprendizaje que trae los contenidos para su desarrollo de
ingeniero.
Este texto fue desarrollado con el apoyo de un libro relacionado al tema, as
tambin informacin de pginas web, con el anlisis de esta informacin se
lograra este texto.
Para este proceso de aprendizaje, el estudiante podr conocer los tipos de
lenguaje de programacin que se utilizan ya que le ser muy til en su profesin
como ingeniero.
Esperemos que le sirva la informacin del trabajo, y les ayude a su aprendizaje
para obtener ms conocimientos para nuestro desarrollo a nuestra profesin, el
contenido queda abierto para aportaciones y crticas a todo el pblico.
CAPITULO I HISTORIA Y EVOLUCIN DEL LENGUAJE DE
PROGRMACIN C Y C++.
1.1 HISOTORIA DEL LENGUAJE C
El lenguaje de programacin C fue creado por Dennis Ritchie entre 1969 y 1973
cuando trabajaba en Bell Laboratorios de AT&T junto con Ken Thompson en el
diseo del sistema operativo UNIX. C fue creado para poder escribir dicho sistema
operativo en un lenguaje de alto nivel, independiente del hardware donde se
ejecutara.
El lenguaje C es comparado con el sistema UNIX, ya que son en su totalidad,
tanto el compilador de C como el mismo sistema en su mayora de programas
fueron escritos en este lenguaje. Tanta fue su aceptacin que por su eficiencia y
legibilidad han hecho olvidar un poco al lenguaje ensamblador, provocando con
esto que se asocie el lenguaje ensamblador con el sistema UNIX.
El antecesor del Lenguaje C fue el Lenguaje B, que fue creado en 1970, por Ken
Thompson, con la finalidad de reestructurar al sistema UNIX, que originalmente
haba sido escrito y producido en lenguaje ensamblador.
Dennis Ritchie, modifica el Lenguaje B, para as crear el Lenguaje C, para
posteriormente rescribir el sistema UNS en ste lenguaje. La diferencia entre el
Lenguaje B y el Lenguaje C, es que este ltimo permita el diseo de nuevos tipos
de datos, es decir daba la libertad al usuario de disear sus propios tipos de datos
para el manejo que mejor le convenga, esta utilidad es muy utilizada en la
actualidad por que permite al programador a tener un pleno control del programa
que realiza y as poder adaptar cada circunstancia que se le presente a las
necesidades que independientemente provocan cada situacin.
1.2 HISTORIA DEL LENGUAJE C++
El lenguaje C++ se comenz a desarrollar en 1980. Su autor fue B. Stroustrup. En
principio fue una prolongacin del lenguaje C que fue denominada C with clases.
Este nuevo lenguaje introduca el concepto de objetos y empez a ser usado en
1983. Debido al gran xito que obtuvo en el mundo de los programadores,
finalmente fue estandarizado en 1989 a nivel internacional.



1.3 EVOLUCIN DEL LENGUAJE C Y C++
A mediados de los aos 60s, Martin Richards dise el lenguaje BCPL con la
finalidad de usarlo para escribir software de sistemas operativos y compiladores.
En 1969, Ken Thompson escribi el Lenguaje B, en Bell Laboratorios, con el
objetivo de recodificar UNIX (escrito hasta ese momento en lenguaje
ensamblador) usando un lenguaje de alto nivel ms portable y flexible.
Durante los siguientes aos, Dennis Ritchie modific el lenguaje B, llegando a
crear el lenguaje C y reescribiendo el sistema UNIX en dicho lenguaje; aadi
caractersticas nuevas, como son el diseo de tipos y las estructuras de datos.
Este Lenguaje ha evolucionado paralelamente con el UNIX, que a su vez ha
pasado por diversas versiones entre las que destaca Microsoft con su XENIX para
micros de 16 bits.
A mediados de los aos 80, Bjarne Stroustrup (tambin de los laboratorios Bell),
crea el lenguaje C++, un lenguaje basado en C, con numerosas caractersticas
adicionales, siendo la principal que est orientado a objetos. Si bien se han creado
muchos lenguajes basados en C, C++ es el que ha permanecido ms asociado a
C.
En la actualidad, el C++ es un lenguaje verstil, potente y general. Su xito entre
los programadores profesionales le ha llevado a ocupar el primer puesto como
herramienta de desarrollo de aplicaciones. El C++ mantiene ventajas del C en
cuanto a riqueza de operadores y expresiones, flexibilidad, concisin y eficiencia.
Adems, ha eliminado algunas de las dificultades y limitaciones del C original. La
evolucin del C++ a continuado con la aparicin de Java, un lenguaje creado
simplificando algunas cosas de C++ y aadiendo otras, que se utiliza para realizar
aplicaciones de internet.
Hay que indicar que el C++ mantiene compatibilidad casi completa con C, de
forma que el viejo estilo de hacer las cosas en C es tambin permitido en C++,
aunque este disponga de una mejor forma de realizar esas tareas. Tambin se
debe mencionar que el lenguaje C++ est preparado para usar la Programacin
Orientada a objetos (POO), una nueva filosofa de programacin.
El C++ fue sujeto a revisiones y en 1994 un comit de ANSI e ISO desarrollaron el
C++ estndar que es el que se usa en todos los compiladores. Algunas
compaas agregan libreras y funciones, pero todos deben respetar el C++ como
fue definida por el comit ANSI/ISO
La ltima variante que ha surgido de C es el moderno C#. En el ao 2000,
Microsoft presenta su plataforma .NET junto con un nuevo lenguaje, C# (diseado
por Anders Hejlsberg), que servir de lenguaje principal de la plataforma. C# es un
hbrido de C++ y Java que fusiona, principalmente, la capacidad de combinar
operadores propia del primero (no incorpora la herencia mltiple) con la plena
orientacin a objetos del segundo. La orientacin a objetos es tal que el propio
programa est encapsulado en una clase. Actualmente C# se encuentra entre los
10 lenguajes ms utilizados. A pesar de su corta historia, ha recibido la aprobacin
del estndar de dos organizaciones: en el 2001 se aprueba el ECMA y en el 2003
el ISO.
CONCLUSIONES
En esta investigacin e obtenido mucha informacin basado en el origen de la
lengua de programacin, como sus inicios hasta nuestra actualidad, como han
surgido los primeros programas y como han evolucionado en nuestros tiempos.
Este texto me servir de mucha ayuda para entender como fue el surgimiento del
lenguaje C Y C++, de los primeros inicios y de las personas que aportaron para
lograr lo que en esta actualidad, ver los tiempos de cmo ha evolucionado la
historia del lenguaje de programacin
Como futuro ingeniero mecnico este texto me servir como poder entender el
lenguaje de programacin, como el funcionamiento de los programas como el C++
entre otras que hay en la actualidad.
A mi punto de vista el lenguaje de programacin es una herramienta que nos
ayudara a facilitar en hacer clculos matemticos, mostrar grficas, almacenar
datos, etc. Y como futuros ingeniero mecnico nos ser una herramienta muy til.
Sin nada ms que decir esperamos que este pequeo texto sea de mucha ayuda
en su profesin y que con ello haya podido aclarar sus dudas.
OTRAS FUENTES
Breve historia de C / C++/ C#. (2013). Internet. En lnea. Pgina consultada el 10
de febrero del 2014. Disponible en:
http://jorgesaavedra.wordpress.com/2006/12/09/breve-historia-de-c-c-c/

Evolucin Del Lenguaje C. Internet. En lnea. Pgina consultada el 11 de febrero
del 2014. Disponible en: http://karengarciahdz.blogspot.mx/2013/02/evolucion-del-
lenguaje-c.html
Historia del c y c++. (2009). Internet. En lnea. Pgina consultada el 12 de febrero
del 2014. Disponible en: http://tony-valderrama.blogspot.mx/2009/06/historia-del-c-
y-c.html

Historia del lenguaje C. Internet. En Lnea. Pgina consultada el 10 de febrero
del 2014. Disponible en:
http://docente.ucol.mx/al989508/public_html/Hc1.htm#Evolucion

Intrpretes y Compiladores. (2006). Internet. En lnea. Pgina consultada el 10
de febrero del 2014. Disponible en: http://www.todo-
programacion.com.ar/archives/2005/04/interpretes_y_c.html

ANEXOS
INTERPRETE
Analiza el programa fuente y lo ejecuta directamente, sin generar ningn cdigo
equivalente. Su accin equivale a la de un intrprete humano, que traduce las
frases que oye sobre la marcha, sin producir ningn escrito permanente.
EDITORES
Programa que engendra automticamente la paginacin de los resultados que
deben imprimirse a partir de una descripcin, por parte de las informaciones
memorizadas y, por otra, de la presentacin externa, deseada.
ENSABLODORES
Se refiere a un tipo de programa informtico que se encarga de traducir un fichero
fuente escrito en un lenguaje ensamblador, a un fichero objeto que contiene
cdigo mquina, ejecutable directamente por el microprocesador.
COMPILADORES
Analiza el programa fuente y lo ejecuta directamente, sin generar ningn cdigo
equivalente. Su accin equivale a la de un intrprete humano, que traduce las
frases que oye sobre la marcha, sin producir ningn escrito permanente.












OTRAS FUENTES
ELEMENTOS DE LA PROGRAMACIN. Internet. En lnea. Pgina consultada el
14 de febrero del 2014. Disponible en:
https://sites.google.com/site/programacionbasicajava/elementos-de-la-
programacion
INTRPRETE Y COMPILADORES. (2006). Internet. En lnea. Pgina consultada
el 12 de febrero del 2014. Disponible en: http://www.todo-
programacion.com.ar/archives/2005/04/interpretes_y_c.html
INTERACCIN ENTRE EL SISTEMA OPERATIVO Y EL RESTO DE LAS
PARTES. (2012). Internet. En lnea. Pgina consultada el 12 de febrero del 2014.
Disponible en: http://catedraso.blogspot.mx/2012/10/interaccion-entre-el-sistema-
operativo.html
Lenguaje de programacin. (2014). Internet. En lnea. Pgina consultada el 14 de
febrero del 2014. Disponible en:
http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n
LOS 5 LENGUAJE DE PROGRAMACIN MS UTILIZADOS EN LA
ACTUALIDAD. Internet. En lnea. Pgina consultada el 12 de febrero del 2014.
Disponible en: http://borjacasla.blogspot.mx/2013/03/los-5-lenguajes-de-
programacion-mas_2795.html








LNEA DEL TIEMPO
INSTITUTO TECNOLOGICO DE SALINA CRUZ.
Ingeniera mecnica.
Algoritmos y Programacin
Practica No. 1
Unidad No. 1
Nombre:
MARCELO REYES NOLASCO
Fecha: 18 de febrero del 2014
Temas involucrados del temario:
Entorno del lenguaje C y software de una aplicacin de ltima
generacin.


a) Imprimir pantalla del entorno de desarrollo.

b) Identificar las secciones del entorno del desarrollo:

Barra
de
edicin.

trabajo.




INSTITUTO TECNOLOGICO DE SALINA CRUZ.
Ingeniera mecnica.
Algoritmos y Programacin
Practica No. 2
Unidad No. 1
Nombre:
MARCELO REYES NOLASCO
Fecha: 18 de febrero del 2014
Temas involucrados del temario:
Estructura general de un programa



a) Teclee el programa dado en clase.
# include <stdio.h>
# include <conio.h>
void main ()
{
printf (" HOLA MUNDO ");
getch();
}
b) Compilarlo/ corregir si es necesario.


c) Imprimir pantalla del resultado.












INSTITUTO TECNOLOGICO DE SALINA CRUZ.
Ingeniera mecnica.
Algoritmos y Programacin
Practica No. 3
Unidad No. 1
Nombre:
MARCELO REYES NOLASCO
Fecha: 19 de febrero del 2014
Temas involucrados del temario:
Estructura de un programa.



a) Identificar las partes de un programa en c.

b) Listar las instrucciones usadas.



c) Identificar algunas reglas sintacticas.




Ejemplo: void main ()





INSTITUTO TECNOLOGICO DE SALINA CRUZ.
Ingeniera mecnica.
Algoritmos y Programacin
Practica No. 4a
Unidad No. 1
Nombre:
MARCELO REYES NOLASCO
Fecha: 18 de febrero del 2014
Temas involucrados del temario:
Estructura General de un Programa.



a) Teclee el programa dado en clase.

# include <stdio.h>
# include <conio.h>
void main ()
{
int n1=3;
int n2=304;
int res=0;
res=n1+n2;
printf (" la suma es %i",res);
getch();
}


b) Compilarlo/ corregir si es necesario.

b) Imprimir pantalla del resultado.




INSTITUTO TECNOLOGICO DE SALINA CRUZ.
Ingeniera mecnica.
Algoritmos y Programacin
Practica No. 4b
Unidad No. 1
Nombre:
MARCELO REYES NOLASCO
Fecha: 18 de febrero del 2014
Temas involucrados del temario:
Estructura General de un Programa.




a) Teclee el programa dado en clase.

# include <stdio.h>
# include <conio.h>
void main ()
{
int n1,n2,res;
printf ("Dame el primer numero");
scanf ("%i", &n1);
printf ("Dame el segundo numero");
scanf ("%i", &n2);
res= n1+n2;
printf ("El resultado es %i", res);
getch();
}
b) Compilarlo/ corregir si es necesario.

c) Imprimir pantalla del resultado.





INSTITUTO TECNOLOGICO DE SALINA CRUZ.
Ingeniera mecnica.
Algoritmos y Programacin
Practica No. 5
Unidad No. 1
Nombre:
MARCELO REYES NOLASCO
Fecha: 18 de febrero del 2014
Temas involucrados del temario:
Estructura General de un Programa.


a) Teclee el programa dado en clase.
# include <stdio.h>
# include <conio.h>
void main()
{
int n1,n2,Mult,Sum,Res;
float Div;
printf ("Dame el primer numero:");
scanf ("%i",&n1);
printf ("Dame el segundo numero:");
scanf ("%i",&n2);
Mult=n1*n2;
Div=n1/n2;
Sum=n1+n2;
Res=n1-n2;
printf ("\n\nEl resultado de la multipicacion de n1*n2 es:%i",Mult);
printf ("\n\nEl resultado de la divicion de n1/n2 es:%f",Div);
printf ("\n\nEl resultado de la suma de n1+n2 es:%i",Sum);
printf ("\n\nEl resultado de la resta de n1-n2 es:%i",Res);
getch ();
}

b) Compilarlo/ corregir si es necesario.


c) Imprimir pantalla del resultado.









INSTITUTO TECNOLOGICO DE SALINA CRUZ
ASIGNATURA
ALGORITMO Y PROGRAMACIN
UNIDAD 2
TEMA
ELEMENTO DE LXICO Y SINTAXIS
DOCENTE
ROMN NJERA SUSANA MONICA
ALUMNO
MARCELO REYES NOLASCO
CARRERA
INGENIERA MECNICA
SEMESTRE Y GRUPO
2.2B
INTRODUCCIN
Es la preparacin de ingenieros en un mundo globalizado, exige al ingeniero
el dominio de herramientas bsicas de la programacin, con los
conocimientos sobre los elementos de Lxico y Sintaxis.
En este trabajo tiene como objetivo al proporcionar al estudiante informacin
de la materia, especificando los elementos de Lxico y Sintaxis.
Este importante texto, ayudar al estudiante contar con apoyo de informacin
y le sirva como base para el aprendizaje que trae los contenidos para su
desarrollo de ingeniero.
Este texto fue desarrollado con el apoyo de informacin de pginas web, con
el anlisis de esta informacin se lograra este texto.
Para este proceso de aprendizaje, el estudiante podr conocer los smbolos o
elementos bsicos del lenguaje que son: los identificadores, constante,
operadores, instrucciones y comentarios que se utilizan ya que le ser muy
til en su profesin como ingeniero.
Esperemos que le sirva la informacin del trabajo, y les ayude a su
aprendizaje para obtener ms conocimientos para nuestro desarrollo a
nuestra profesin, el contenido queda abierto para aportaciones y crticas a
todo el pblico.



CAPITULO II. OPERADORES, VARIABLE, CONSTANTES, TIPO
DE DATOS Y EXPRESIONES
2.1 ELEMENTO DE LXICO Y SINTAXIS
Un lenguaje de programacin es un idioma artificial diseado para expresar
computaciones que pueden ser llevadas a cabo por mquinas como las
computadoras. Pueden usarse para crear programas que controlen el
comportamiento fsico y lgico de una mquina, para expresar algoritmos con
precisin, o como modo de comunicacin humana. Est formado por un
conjunto de smbolos y reglas sintcticas y semnticas que definen su
estructura y el significado de sus elementos y expresiones. Al proceso por el
cual se escribe, se prueba, se depura, se compila y se mantiene el cdigo
fuente de un programa informtico se le llama programacin.
Dentro de los elementos del lenguaje de programacin hablaremos de lxico
y sintaxis.
2.1.1 LXICO
Lxico es un lenguaje de programacin didctico en espaol que facilita el
aprendizaje y la enseanza de la programacin orientada a objetos.
A la forma visible de un lenguaje de programacin se le conoce como
sintaxis. La mayora de los lenguajes de programacin son puramente
textuales, es decir, utilizan secuencias de texto que incluyen palabras,
nmeros y puntuacin, de manera similar a los lenguajes naturales escritos.
Por otra parte, hay algunos lenguajes de programacin que son ms grficos
en su naturaleza, utilizando relaciones visuales entre smbolos para
especificar un programa.
Estos smbolos o elementos bsicos del lenguaje, podrn ser de los
siguientes:
IDENTIFICADORES: Nombres simblicos que se darn a ciertos
elementos de programacin (Ej.: nombres de variables, tipos, mdulos, etc.).

CONSTANTES: Datos que no cambiarn su valor a lo largo del programa.

OPERADORES: smbolos que representarn operaciones entre variables
y constantes.

INSTRUCCIONES: Smbolos especiales que representarn estructuras de
procesamiento, y de definicin de elementos de programacin.
COMENTARIOS: Texto que se usar para documentar los programas




2.1.2 SINTAXIS
A la forma visible de un lenguaje de programacin se le conoce como
sintaxis. La mayora de los lenguajes de programacin son puramente
textuales, es decir, utilizan secuencias de texto que incluyen palabras,
nmeros y puntuacin, de manera similar a los lenguajes naturales escritos.
Por otra parte, hay algunos lenguajes de programacin que son ms grficos
en su naturaleza, utilizando relaciones visuales entre smbolos para
especificar un programa.
La sintaxis de un lenguaje de programacin describe las combinaciones
posibles de los smbolos que forman un programa sintcticamente correcto.
El significado que se le da a una combinacin de smbolos es manejado por
su semntica (ya sea formal o como parte del cdigo duro de la referencia de
implementacin). Dado que la mayora de los lenguajes son textuales, este
artculo trata de la sintaxis textual.
La sintaxis de los lenguajes de programacin es definida generalmente
utilizando una combinacin de expresiones regulares (para la estructura
lxica) y la Notacin de Backus-Naur (para la estructura gramtica). Este es
un ejemplo de una gramtica simple, tomada de Lisp:
Expresin ::= tomo | lista
tomo ::= nmero | smbolo
Nmero ::= [+-]? ['0'-'9']+
Smbolo ::= ['A'-'Z'] ['a'-'z'].*
Lista ::= '(' expresin* ')'
Con esta gramtica se especifica lo siguiente:


precedido opcionalmente por un signo ms o un signo menos;
da de cero o ms caracteres (excluyendo
espacios); y
expresiones en medio.

Algunos ejemplos de secuencias bien formadas de acuerdo a esta gramtica:
'12345', '()', '(a b c232 (1))'
No todos los programas sintcticamente correctos son semnticamente
correctos. Muchos programas sintcticamente correctos tienen
inconsistencias con las reglas del lenguaje; y pueden (dependiendo de la
especificacin del lenguaje y la solidez de la implementacin) resultar en un
error de traduccin o ejecucin. En algunos casos, tales programas pueden
exhibir un comportamiento indefinido. Adems, incluso cuando un programa
est bien definido dentro de un lenguaje, todava puede tener un significado
que no es el que la persona que lo escribi estaba tratando de construir.

CONCLUSIONES
En esta investigacin e obtenido mucha informacin sobre los elementos
Lxico y Sintaxis en el lenguaje de programacin y nos ayuda para
comprender mejor el lenguaje de programacin.
Este texto me servir de mucha ayuda para poder entender mejor los
smbolos o elementos bsicos del lenguaje y poder usarlos adecuadamente.
Como futuro ingeniero mecnico este texto me servir como poder entender
el lenguaje de programacin, sobres los elementos Lxico y Sintaxis ya que
con ellos podremos programar sin tener dificultades.
A mi punto de vista, la sintaxis de un lenguaje, nos proporciona la forma
correcta de escribir en el lenguaje. Entonces como tal un programador debe
tener conocimientos acerca del Lxico y la Sintaxis para poder as dominar y
entender el amplio mundo de la programacin.
Sin nada ms que decir esperamos que este pequeo texto sea de mucha
ayuda en su profesin y que con ello haya podido aclarar sus dudas.




OTRAS FUENTES
2.1 Elementos de lxico y sintaxis. Internet. En Lnea. Pgina
consultada el 1 de marzo del 2014. Disponible en:
https://sites.google.com/site/algopromecanica/unidad-ii/2-1-
elementos-de-lexico-y-sintaxis
Lenguaje de programacin. (2014). Internet. En lnea. Pgina
consultada el 2 de marzo del 2014. Disponible en:
http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n#Sin
taxis
TEMA 2: Lenguajes de programacin. Internet. En lnea. Pgina
consultada el 1 de marzo del 2014. Disponible en:
http://informatica.uv.es/iiguia/AED/oldwww/2004_05/AED.Tema.02.
pdf











INSTITUTO TECNOLOGICO DE SALINA CRUZ
ASIGNATURA
ALGORITMO Y PROGRAMACIN
UNIDAD 2
TEMA
VARIABLES Y CONSTANTE.
DOCENTE
ROMN NJERA SUSANA MONICA
ALUMNO
MARCELO REYES NOLASCO
CARRERA
INGENIERA MECNICA
SEMESTRE Y GRUPO
2.2B


INTRODUCCIN
Es la preparacin de ingenieros en un mundo globalizado, exige al ingeniero el dominio de
herramientas bsicas de la programacin, con los conocimientos sobre las variables y
constante.
En este trabajo tiene como objetivo al proporcionar al estudiante informacin de la
materia, especificando los tipos de variables y constate sobre su uso.
Este importante texto, ayudar al estudiante contar con apoyo de informacin y le sirva
como base para el aprendizaje que trae los contenidos para su desarrollo de ingeniero.
Este texto fue desarrollado con el apoyo de informacin de pginas web, con el anlisis de
esta informacin se lograra este texto.
Para este proceso de aprendizaje, el estudiante podr usar las variables y constantes que
se utilizan en el lenguaje de programacin y poder reconocer los tipos de datos de las
variables como el lgico, entero, carcter y cadena y saber sobre la constante definida,
enumerada y declaradas ya que le ser muy til en su profesin como ingeniero.
Esperemos que le sirva la informacin del trabajo, y les ayude a su aprendizaje para
obtener ms conocimientos para nuestro desarrollo a nuestra profesin, el contenido
queda abierto para aportaciones y crticas a todo el pblico.







CAPITULO II. OPERADORES, VARIABLE, CONSTANTES, TIPO DE DATOS Y
EXPRESIONES
2.2 VARIABLES Y CONSTANTE.
2.2.1 VARIABLE
En programacin, una variable est formada por un espacio en el sistema de almacenaje
(memoria principal de un ordenador) y un nombre simblico (un identificador) que est
asociado a dicho espacio. Ese espacio contiene una cantidad o informacin conocida o
desconocida, es decir un valor. El nombre de la variable es la forma usual de referirse al
valor almacenado: esta separacin entre nombre y contenido permite que el nombre sea
usado independientemente de la informacin exacta que representa.
El identificador, en el cdigo fuente de la computadora puede estar ligado a un valor
durante el tiempo de ejecucin y el valor de la variable puede por lo tanto cambiar durante
el curso de la ejecucin del programa. El concepto de variables en computacin puede no
corresponder directamente al concepto de variables en matemtica.
El valor de una variable en computacin no es necesariamente parte de una ecuacin o
frmula como en matemticas. En computacin una variable puede ser utilizada en un
proceso repetitivo: puede asignrsele un valor en un sitio, ser luego utilizada en otro, ms
adelante reasignrsele un nuevo valor para ms tarde utilizarla de la misma manera.
Las variables pueden ser de longitud:
- Cuando el tamao de la misma no variar a lo largo de la ejecucin del programa.
Todas las variables, sean del tipo que sean tienen longitud fija, salvo algunas excepciones
como las colecciones de otras variables (arrays) o las cadenas.
ble.- Cuando el tamao de la misma puede variar a lo largo de la ejecucin.
Tpicamente colecciones de datos.

TIPOS DE DATOS
Tipo lgico. Puede representar valores de lgica binaria, esto es 2 valores, valores que
normalmente representan falso o verdadero. Se utiliza normalmente en la programacin,
estadstica, electrnica, matemticas, etc...
Tipo de dato entero. Puede representar un subconjunto finito de los nmeros enteros.
El nmero mayor que puede representar depende del tamao del espacio usado por el
dato y la posibilidad (o no) de representar nmeros negativos. Las tpicas operaciones
aritmticas: suma, resta, multiplicacin y divisin se pueden realizar con datos de tipo
entero.
Tipo de dato carcter. un carcter es una unidad de informacin que corresponde
aproximadamente con un grafema o con una unidad o smbolo parecido, como los de un
alfabeto o silabario de la forma escrita de un lenguaje natural. Los ordenadores y los
equipos de comunicaciones representan caracteres mediante el uso de una codificacin
que asigna un valor a cada carcter (tpicamente, un valor entero representado por una
secuencia de bits) que puede ser almacenado o transmitido por una red. La codificacin
ms comn ha sido hasta hace poco ASCCI, si bien actualmente se est haciendo ms
popular el Unicode. Un ejemplo de codificacin no digital sera el cdigo morse, que en
lugar de usar bits representa los caracteres mediante una serie de impulsos elctricos de
longitud variable (puntos y rayas).
Tipo de cadena. una cadena de caracteres es una sucesin de caracteres (letras,
nmeros u otros signos o smbolos).
VARIABLES PRIMITIVAS
Las variables primitivas son aquellas que se pueden encontrar en cualquier otro lenguaje
de programacin. Almacenan un dato simple y deben ser declaradas antes de ser usadas.
Hay variables de tipo entero, variables de coma flotante con decimales, variables que
almacenan caracteres y variables de tipo booleano.
Datos simples ordinales o enteros en Java
Estos datos son aquellos que nos permiten contar cosas. En la tabla siguiente se recogen
los tipos de variables, que permiten identificar nmeros ordinales, que el lenguaje java
tiene predefinidas.

DATOS SIMPLES O REALES
Los datos numricos reales son aqullos que contienen decimales, frente a los enteros
que no los tienen. En l ordenador se almacenan de forma diferente el nmero 123, como
entero, que el 123.0 como real, las variables reales se denominan tambin variables de
coma flotante. Debido a su particular forma de almacenarse en potencias de 10. En la
tabla siguiente se recogen los tipos de variables reales, as como su rango de valores, el
gasto de memoria por cada dato y el nmero de cifras significativas que permite.




VARIABLES BOOLEAN Y CHAR
Las variables primitivas se completan con las variables booleanas (lgicas) y las variables
de tipo char (caracter). Las variables de tipo boolean toman el valor false y true para su
almacenamiento un bit. Las variables de tipo char utilizan 16 bits y codifican caracteres
segn el formato Unicode.
EJEMPLOS DE NOMBRES VLIDOS:
Camiones numero buffer a1 j10hola29 num_alumnos
EJEMPLOS DE NOMBRES NO VLIDOS:
1abc nombre? num/alumnos
Dnde se declaran las variables?
Tenemos dos posibilidades, una es declararla como global y otra como local. Es global
aquella variable que se declara fuera de la funcin main y local la que se declara dentro:

2.2.2 CONSTANTE
En programacin, una constante es un valor que no puede ser alterado durante la
ejecucin de un programa.
Una constante corresponde a una longitud fija de un rea reservada en la memoria
principal del ordenador, donde el programa almacena valores fijos.

Por ejemplo:


Por conveniencia, el nombre de las constantes suele escribirse en maysculas en la
mayora de lenguajes.
PHP define varias constantes y proporciona un mecanismo para definir ms en tiempo de
ejecucin. Las constantes son como las variables, salvo por las dos circunstancias de que
las constantes deben ser definidas usando la funcin define (), y que no pueden ser
redefinidas ms tarde con otro valor.
CONSTANTES DEFINIDAS:
Las constantes pueden recibir nombres simblicos mediante la directiva #define.
#define NUEVALINEA \n
#define PI 3.141592
#defin VALOR 54
C sustituye los valores \n, 3.141592 y 54 cuando se encuentra las constantes simblicas
NUEVALINEA, PI y VALOR. Las lneas anteriores no son sentencias y, por ello, no
terminan en punto y coma. printf ("El valor es %dNUEVALINEA",V ALOR) ; Escribe en
pantalla la constante VALOR. Realmente, el compilador lo que hace es sustituir en el
programa todas las ocurrencias de VALOR por 54, antes de analizar sintcticamente el
programa fuente.
CONSTANTES ENUMERADAS
Las constantes enumeradas permiten crear listas de elementos afines. Un ejemplo tpico
es una constante enumerada de lista de colores, que se puede declarar como:
enum Colores {Rojo, Naranja, Amarillo, Verde, Azul, violeta};
Cuando se procesa esta sentencia, el compilador asigna un valor que comienza en O a
cada elemento enumerado; as, Ro j o equivale a O, Naranja es 1, etc. El compilador
enumera los identificadores por usted. Despus de declarar un tipo de dato enumerado,
se pueden crear variables de ese tipo, como con cualquier otro tipo de datos. As, por
ejemplo, se puede definir una variable de tipo enum colores.
CONSTANTES DECLARADAS
En C las constantes se declaran con la directiva #define, esto significa que esa constante
tendr el mismo valor a lo largo de todo el programa. El identificador de una constante as
definida ser una cadena de caracteres que deber cumplir los mismos requisitos que el
de una variable (sin espacios en blanco, no empezar por un dgito numrico, etc).
Ejemplo:
# include <stdio.h>
# define PI 3.1415926
int main()
{
printf("Pi vale %f", PI);
return 0;
}
Lo cual mostrar por pantalla:
Pi vale 3.1415926
Es decir, PI es una constante a la que le hemos asignado el valor 3.1415926 mediante la
directiva #define.
La directiva #define tambin se puede utilizar para definir expresiones ms elaboradas
con operadores (suma, resta, multiplicacin etc) y otras constantes que hayan sido
definidas previamente, por ejemplo:
#define X 2.4
#define Y 9.2
#define Z X + Y



















CONCLUSIONES
En esta investigacin e obtenido mucha informacin sobre las variables y constantes que
hay en el lenguaje de programacin y nos ayuda para comprender mejor el lenguaje.
Este texto me servir de mucha ayuda para poder entender mejor las variables de cmo
utilizar el tipo entero, lgico, cadena y carcter y sobre el uso de las constantes que hay
en el lenguaje de programacin y poder usarlos adecuadamente.
Como futuro ingeniero mecnico este texto me servir como poder entender el lenguaje
de programacin, sobres las variables y constante ya que con ellos podremos programar
sin tener dificultades.
A mi punto de vista, las constante es un valor que no se puede alterar mientas se est
ejecutando y las variables primero se declaran, luego se inician, y luego se usan las
constantes, una vez que se declaran las constantes mantienen su valor durante toda la
ejecucin del programa mientras que las variables puede cambiar su valor las veces como
deseemos..
Sin nada ms que decir esperamos que este pequeo texto sea de mucha ayuda en su
profesin y que con ello haya podido aclarar sus dudas.








OTRAS FUENTES
2.2 Variables y constantes. Internet. En lnea. Pgina consultada el 7 de marzo del
2014. Disponible en: https://sites.google.com/site/programacionyal/home/unidad-2/2-2-
variables-y-constantes
2.2 Variables y constantes. Internet. En lnea. Pgina consultada el 7 de marzo del
2014. Disponible en: https://sites.google.com/site/algopromecanica/unidad-ii/2-2-variables-
y-constantes
2.2 Variables y Constantes. (2012). Internet. En lnea. Pgina consultada el 6 de marzo
del 2014. Disponible en: http://abzenteno.wordpress.com/2012/01/05/2-2-variables-y-
constantes/
Variable (programacin). (2014). Internet. En lnea. Pgina consultada el 6 de marzo del
2014. Disponible en: http://es.wikipedia.org/wiki/Variable_%28programaci%C3%B3n%29
variables y constantes en el lenguaje C. (2014). Internet. En lnea. Pgina consultada el
7 de marzo del 2014. Disponible en: http://www.gratiszona.com/apuntes/lenguaje-c/03-
variables-y-constantes.htm












INSTITUTO TECNOLOGICO DE SALINA CRUZ
ASIGNATURA
ALGORITMO Y PROGRAMACIN
UNIDAD 2
TEMA
SALIDAS Y ENTRADAS.
DOCENTE
ROMN NJERA SUSANA MONICA
ALUMNO
MARCELO REYES NOLASCO
CARRERA
INGENIERA MECNICA
SEMESTRE Y GRUPO
2.2B




INTRODUCCIN
Es la preparacin de ingenieros en un mundo globalizado, exige al ingeniero el dominio de
herramientas bsicas de la programacin, con los conocimientos sobre las salidas y
entradas de un lenguaje de programacin.
En este trabajo tiene como objetivo al proporcionar al estudiante informacin de la
materia, especificando la salida y entradas del lenguaje c y sobre su uso.
Este importante texto, ayudar al estudiante contar con apoyo de informacin y le sirva
como base para el aprendizaje que trae los contenidos para su desarrollo de ingeniero.
Este texto fue desarrollado con el apoyo de informacin de pginas web, con el anlisis de
esta informacin se lograra este texto.
Para este proceso de aprendizaje, el estudiante podr conocer el uso de la salida y
entrada del lenguaje c, ya que entre ellas se encuentra la salida con formato, la funcin de
printf y scanf ya que le ser muy til en su profesin como ingeniero.
Esperemos que le sirva la informacin del trabajo, y les ayude a su aprendizaje para
obtener ms conocimientos para nuestro desarrollo a nuestra profesin, el contenido
queda abierto para aportaciones y crticas a todo el pblico.








CAPITULO II. OPERADORES, VARIABLE, CONSTANTES, TIPO DE DATOS Y
EXPRESIONES
SALIDAS Y ENTRADAS
Las operaciones de salida y entrada se realizan en C++, al igual que en C, mediante flujos
(streams) o secuencias de datos. Los flujos estndar son cout (flujo de salida) y cin (flujo
de entrada). La salida fluye normalmente a la pantalla y la entrada representa los datos
que proceden de teclado. Ambos se pueden direccionar.
SALIDA
El flujo de salida se representa por el identificador cout, que es en realidad un objeto. El
operador << se denomina operador de insercin y dirige el contenido de la variable
situada a su derecha al objeto situado a su izquierda. El equivalente en C de cout es printf.
El archivo de cabecera iostream.h contiene las facilidades estndar de entrada y salida de
C++.
En C++, los dispositivos de salida estndar no requieren la cadena de formato.
Se pueden utilizar tambin diferente tipos de datos, enviando cada uno de ellos a la vez al
flujo de salida. El flujo cout discierne el formato del tipo de dato, ya que el compilador C++
lo descifra en el momento de la compilacin.
El operador de insercin se puede utilizar repetidamente junto con cout.
include <iostream.h>
void main()
{
int a=4;
float b=3.4;
char *texto="hola\n";
cout<< "entero " << a << " real " << b << " mensaje " << texto;
}
SALIDA CON FORMATO
C++ asocia un conjunto de manipuladores con el flujo de salida, que modifican el formato
por defecto de argumentos enteros. Por ejemplo, valores simblicos de manipuladores
son dec, oct y hex que visualizan representaciones decimales, octales y hexadecimales de
variable.
ENTRADA
C++ permite la entrada de datos a travs del flujo de entrada cin. El objeto cin es un objeto
predefinido que corresponde al flujo de entrada estndar. Este flujo representa los datos
que proceden del teclado. El operador >> se denomina de extraccin o de lectura de.
Toma el valor del objeto flujo de su izquierda y lo sita en la variable situada a su derecha.
El operador de resolucin de mbito ::
C es un lenguaje estructurado por bloques. C++ hereda la misma nocin de bloque y
mbito. En ambos lenguajes, el mismo identificador se puede usar para referenciar a
objetos diferentes. Un uso en un bloque interno oculta el uso externo del mismo nombre.
C++ introduce el operador de resolucin de mbito o de alcance.
El operador :: se utiliza para acceder a un elemento oculto en el mbito actual. Su sintaxis
es :: variable
Ejemplo:
#include <iostream.h>
int a;
void main()
{
float a;
a=1.5;
::a=2;
cout << "a local " << a << "\n";
cout << "a global " << ::a << "\n";
}
Este programa visualiza:
a local 1.5
a global 2
Este operador se utilizar tambin en la gestin de clases.
LA FUNCIN printf
Como ya hemos visto a lo largo de esta unidad y de unidades anteriores, la funcin
printf bsicamente imprime una cadena de caracteres sobre la pantalla del ordenador.
Tanto esta funcin como otras funciones de entrada/salida estn definidas en la biblioteca
stdio. Por esta razn, cada vez que deseamos hacer uso de la misma tenemos que incluir
el fichero stdio.h mediante la directiva de pre compilacin #include
<stdio.h>.
La sintaxis de la funcin printf es la siguiente:
printf("cadena de control", lista de argumentos);
La cadena de control contiene los especificadores de formato de los argumentos. stos le
indican a printf cmo han de visualizarse los argumentos por pantalla y su nmero.
Despus de la cadena de control, aparecen los argumentos de la funcin separados por
comas.
Entrada/salida estndar
Carcter
Decimal
Notacin cientfica
Decimal en coma flotante
TIPOS DE DATOS QUE MANEJA C++
Enteros Dentro de los enteros estn los tipos: short, int, long, los cuales varan en
rango de acuerdo al compilador que se utilice, siendo long rango mayor y short el de
menor.
Flotantes Dentro de los flotantes C++ tiene los tipos: float, double y long double donde
al igual que los enteros vara el rango de cada uno de acuerdo al compilador que se
utilice. De igual forma el float es el de menor rango siendo long double el de rango mayor
Caracteres Se utiliza el tipo char. Para representar un caracter en C++ se utilizan
apstrofes. Ejemplos:a,b5

Para representar una cadena de caracteres se utilizan las comillas.
Ejemplo:soyunacadena ENTRADA Y SALIDA DE CARACTERES
Todos los datos se envan como caracteres. Cuando un programa enva a la salida el
nmero 10, en realidad lo que enva son los dos caracteres 1 y 0. Qu la computadora
interprete el nmero 10 o los caracteres 1 y 0 depende del programa.
C++ ofrece algunos recursos para la entrada y salida de datos de caracteres.
Aquellos caracteres imprimibles que no estn precedidos por un smbolo de tanto por
ciento (%) se muestran por pantalla directamente. Cuando encuentra un especificador de
formato dentro de la cadena de control, utiliza ste para determinar cmo se muestra el
argumento correspondiente. Debemos tener en cuenta que los especificadores de formato
y los argumentos deben coincidir de izquierda a derecha. Por otra parte, el nmero de
especificadores en la cadena de control le indican a printf cuntos argumentos debe
esperar.
El smbolo % se utiliza para identificar los especificadores de formato. Si queremos
imprimir este smbolo dentro de la cadena de control, tendremos que utilizar dos smbolos
de tanto por ciento (%%).
Cuando deseamos imprimir un argumento de tipo carcter que utiliza el especificador de
formato %c, ste debe ir encerrado entre comillas simples, por ejemplo, 'b'. Por otro lado,
si lo que deseamos imprimir es una cadena de caracteres que utiliza el especificador de
formato %s, sta debe ir encerrada entre comillas dobles, por ejemplo "esto es una
cadena de caracteres".
Por otra parte, es muy comn la utilizacin de secuencias de escape dentro de la funcin
printf, por ejemplo, el salto de lnea (\n). En la unidad anterior hemos visto las secuencias
de escape y su utilizacin en C.
LA FUNCIN scanf
Un programa puede recibir datos a travs de diversas fuentes, por ejemplo el teclado o
ficheros almacenados en disco. En este apartado, vamos a considerar la entrada estndar
por teclado. La funcin de entrada ms utilizada es la funcin scanf ya que es verstil y
permite una entrada con formato.
Al igual que la funcin printf, la funcin scanf est definida en el fichero de cabecera
Usar %e o %f, el que resulte ms corto
Octal
Cadena de caracteres
Decimal sin signo (unsigned)
Entero
Hexadecimal
Especificador tipo de argumento:
stdio.h. En trminos generales, scanf permite leer datos de la entrada estndar, de
acuerdo con el formato especificado en el primer argumento y almacenar estos datos en
las variables que recibe como argumento. La sintaxis de esta funcin es la siguiente:
scanf ("cadena de control", lista de argumentos);
Donde la cadena de control contiene los tipos de datos y, si se lo desea, la anchura de los
mismos, mientras que la lista de argumentos son las variables del tipo indicado por los
especificadores de formato. Los especificadores de formato ms comunes son los que
hemos utilizado en la funcin printf, salvo %h que se utiliza para indicar el tipo de enteros
short.
A diferencia de la funcin printf que recibe los argumentos por valor, la funcin scanf
recibe los argumentos por referencia. De esta manera, puede rellenarlos con los valores
ledos. Por ejemplo, la siguiente sentencia devolver en el variable dato el entero ledo del
teclado:
scanf("%i", &dato);
Un programa que pide que se introduzcan dos cantidades, una entera y otra en coma
flotante, y los escribe a continuacin dentro de una frase.
#include <stdio.h>
main ( )
{
int edad; char sexo;
printf ("Escriba su edad (en aos) y sexo (H o M):\n");
scanf ("%i %c", &edad, &sexo) ;
printf("Su sexo es %c y su edad %i aos\n", sexo, edad);
return 0;
}
Si introducimos por teclado 30 y H, la salida es:
Su sexo es H y su edad 30 aos
EJEMPLO PRCTICO
Existen otras funciones de entrada/salida estndar definidas en el fichero de cabecera
stdio.h. Entre estas funciones estn las funciones getchar y putchar.
La funcin getchar nos permite leer caracteres uno a uno. Esta funcin no requiere
argumentos
y simplemente devuelve el carcter ledo por la entrada estndar en forma deentero sin
signo. El prototipo de esta funcin es:
int getchar (void);
Por otra parte, la funcin putchar es la funcin simtrica a getchar. Esta funcin recibe un
nico argumento que es el carcter que se imprimir por la salida estndar. Su prototipo
es:
int putchar (int);
En el siguiente ejemplo se muestra la utilizacin de las funciones getchar y putchar.
#include <stdio.h>
main ( )
{
char x;
printf("Introduzca un carcter:\n");
x = getchar( ) ;
printf("El carcter introducido es:\n");
putchar (x) ;
return 0;
}
La salida es:
Introduzca un carcter 6
El carcter introducido es: 6,7
OTRAS FUNCIONES DE S/E
Existen en C otras funciones de entrada/salida por consola que iremos viendo a lo largo
del desarrollo de este libro. Entre esas funciones podemos mencionar las siguientes:
: Leer un carcter sin que aparezca en pantalla.

: Lee un carcter visualizndolo en pantalla.

: Leer una cadena de caracteres.

: Escribir una cadena de caracteres

CONCLUSIONES
En esta investigacin e obtenido mucha informacin sobre las salidas y entradas que hay
en el lenguaje de programacin y nos ayuda para comprender mejor el lenguaje.
Este texto me servir de mucha ayuda para poder entender mejor el uso de las salida y
constante, como el uso de la entra y salida de los caracteres y as poder usarlos
adecuadamente.
Como futuro ingeniero mecnico este texto me servir como poder entender el lenguaje
de programacin, sobres las salidas y entradas ya que con ellos podremos programar sin
tener dificultades.
A mi punto de vista, cuando nos referimos a entrada/salida (E/S) queremos decir que los
datos o bien se estn leyendo o que estn escribiendo en el monitor . Como se utilizan
muy frecuentemente se consideran como los dispositivos de E/S no necesitan ser
nombrados en las instrucciones de E/S.
Las operaciones de entrada y salida no forman parte del conjunto de sentencias sino que
pertenecen al conjunto de funciones y clases de la biblioteca estndar de C++. Ellas se
incluyen en los archivos de cabecera iostream.h por lo que siempre que queramos
utilizarlas deberemos introducir la lnea de cdigo #include <iostream.h>.
Sin nada ms que decir esperamos que este pequeo texto sea de mucha ayuda en su
profesin y que con ello haya podido aclarar sus dudas.






OTRAS FUENTES
Entrada y salida estndar en C++. Internet. En lnea. Pgina consultada el 10 de marzo
del 2014. Disponible en: http://www.monografias.com/trabajos16/entrada-y-salida/entrada-
y-salida.shtml
Entrada y Salida estndar en C++. Internet. En lnea. Pgina consultada el 10 de marzo
del 2014. Disponible en:
http://www.itescam.edu.mx/principal/sylabus/fpdb/recursos/r47722.PDF
Introduccin al lenguaje C. E/S Bsica. Internet. En lnea. Pgina consultada el 9 de
marzo del 2014. Disponible en: http://html.rincondelvago.com/introduccion-al-lenguaje-
c_es-basica.html
Introduccin al Lenguaje C. Internet. En linea. Pgina consultada el 9 de marzo del
2014. Disponible en: http://www.emagister.com/curso-introduccion-lenguaje-c/entrada-
sali
da



















INSTITUTO TECNOLOGICO DE SALINA CRUZ.
Ingeniera mecnica.
Algoritmos y Programacin
Practica No. 1
Unidad No. 2
Nombre:
MARCELO REYES NOLASCO
Fecha: 03 de marzo del 2014
Temas involucrados del temario:
Operadores Variables constantes y tipos de datos







a) Teclee el programa dado en clase.

# include <stdio.h>
# include <conio.h>
void main()
{
int cal1, cal2, cal3, sum;
float prom;
printf("\n\n Instituto Tecnologico De Salina Cruz");
printf("\n\n Algoritmo y Programacion");
printf("\n\n Unidad 2");
printf("\n\n marcelo reyes nolasco");
printf("\n\n Practica No. 1");
printf("\n\n Programa que calcula el promedio de 3 numeros");
printf("\n\n********************************************************************");
printf("\n\nDame la primera calificacion: ");
scanf("%i",&cal1);
printf("\n\nDame la segunda calificacion: ");
scanf("%i",&cal2);
printf("\n\nDame la tercera calificacion: ");
scanf("%i",&cal3);
sum=cal1+cal2+cal3;
prom=sum/3;
printf("\n\nEl resultado es: %.0f",prom);
printf("\n\nLa suma de la calificacion es: %i",sum);
printf("\n\nLos numeros sumados son: %.0i %.0i %.0i",cal1, cal2, cal3);
getch ();
}

b) Compilarlo/ corregir si es necesario.



d) Imprimir pantalla del resultado.




INSTITUTO TECNOLOGICO DE SALINA CRUZ.
Ingeniera mecnica.
Algoritmos y Programacin
Practica No. 2
Unidad No. 2
Nombre:
MARCELO REYES NOLASCO
Fecha: 05 de marzo del 2014
Temas involucrados del temario:
Operadores Variables constantes y tipos de datos











a) Teclee el programa dado en clase.

# include <stdio.h>
# include <conio.h>
void main()
{
float b,h,A;
printf("\n\n Instituto Tecnologico De Salina Cruz");
printf("\n\n Algoritmos y programacion");
("\n\n Unidad 2");
printf("\n\n Marcelo Reyes Nolasco");
printf("\n\n Practica No.2");
printf("\n\n Programa para hallar el area de un rectangulo");
printf("\n\n*******************************************************************************");
printf("\n\nDame la base: ");
scanf("%f",&b);
printf("\n\nDame la altura: ");
scanf("%f",&h);
A=b*h;
printf("\n\nEl resultado es: %.0f",A);
getch ();
}




b) Compilarlo/ corregir si es necesario.

c) Imprimir pantalla del resultado.






INSTITUTO TECNOLOGICO DE SALINA CRUZ.
Ingeniera mecnica.
Algoritmos y Programacin
Practica No. 3
Unidad No. 2
Nombre:
MARCELO REYES NOLASCO
Fecha: 05 de marzo del 2014
Temas involucrados del temario:
Operadores Variables constantes y tipos de datos




a) Teclee el programa dado en clase.

# include <stdio.h>
# include <conio.h>
void main()
{
float r,A,pi;
printf("\n\n Instituto Tecnologico De Salina Cruz");
printf("\n\n Algoritmos y programacion");
("\n\n Unidad 2");
printf("\n\n Marcelo Reyes Nolasco");
printf("\n\n Practica No.3");
printf("\n\n Programa para hallar el area de un circulo");
printf("\n\n****************************************************************************
***");
printf("\n\nDame el pi: ");
scanf("%f",&pi);
printf("\n\nDame el radio: ");
scanf("%f",&r);
A=pi*r*r;
printf("\n\nEl resultado es: %f",A);
getch ();
}



b) Compilarlo/ corregir si es necesario.

c) Imprimir pantalla del resultado.





INSTITUTO TECNOLOGICO DE SALINA CRUZ.
Ingeniera mecnica.
Algoritmos y Programacin
Practica No. 4
Unidad No. 2
Nombre:
Marcelo Reyes Nolasco
Fecha: 05 de marzo del 2014
Temas involucrados del temario:
Operadores Variables constantes y tipos de datos



a) Teclee el programa dado en clase.

# include <conio.h>
# include <math.h>
# include <stdio.h>
main()
{
int x,res;
printf("\n\n Instituto Tecnologico De Salina Cruz");
printf("\n\n Algoritmos y programacion");
("\n\n Unidad 2");
printf("\n\n Marcelo Reyes Nolasco");
printf("\n\n Practica No.3");
printf("\n\n Programa para hallar la raiz cuadrada");
printf("\n\n****************************************************************************
***");
printf("\n\nDame el numero a calcular la raiz cuadrada: ");
scanf("%i",&x);
res=sqrt(x);
printf("\n\nEl resultado es: %i %c",res,3);
getch ();
}



b) Compilarlo/ corregir si es necesario.

c) Imprimir pantalla del resultado.





INSTITUTO TECNOLOGICO DE SALINA CRUZ.
Ingeniera mecnica.
Algoritmos y Programacin
Practica No. 5
Unidad No. 2
Nombre:
Marcelo Reyes Nolasco
Fecha: 06 de marzo del 2014
Temas involucrados del temario:
Operadores Variables constantes y tipos de datos



a) Teclee el programa dado en clase.

# include <stdio.h>
# include <conio.h>
void main()
{
float x,y,a,b,c,d;
printf("\n\n Instituto Tecnologico De Salina Cruz");
printf("\n\n Algoritmo y Programacion");
printf("\n\n Unidad 2");
printf("\n\n Marcelo Reyes Nolasco");
printf("\n\n Practica No. 5");
printf("\n\n Programa para calcular las expresiones matematicas de a,b,c y d");
printf("\n\n********************************************************************");
printf("\n\nDame el valor de x: ");
scanf("%f",&x);
printf("\n\nDame el valor de y: ");
scanf("%f",&y);
a=x*y+y;
b=(x/y)*x;
c=(x-y)/x;
d=(y-x)*y;
printf("\n\nEl resultado de a es: %0.2f",a);
printf("\n\nEl resultado de b es: %0.2f",b);
printf("\n\nEl resultado de c es: %0.2f",c);
printf("\n\nEl resultado de d es: %0.2f",d);
getch ();
}

b) Compilarlo/ corregir si es necesario.


c) Imprimir pantalla del resultado.



INSTITUTO TECNOLOGICO DE SALINA CRUZ.
Ingeniera mecnica.
Algoritmos y Programacin
Practica No. 5
Unidad No. 2
Nombre:
Marcelo Reyes Nolasco
Fecha: 06 de marzo del 2014
Temas involucrados del temario:
Operadores Variables constantes y tipos de datos



a) Teclee el programa dado en clase.

# include <stdio.h>
# include <conio.h>
void main()
{
float x,y,a,b,c,d;
printf("\n\n Instituto Tecnologico De Salina Cruz");
printf("\n\n Algoritmo y Programacion");
printf("\n\n Unidad 2");
printf("\n\n Marcelo Reyes Nolasco");
printf("\n\n Practica No. 5");
printf("\n\n Programa para calcular las expresiones matematicas de a,b,c y d");
printf("\n\n********************************************************************");
printf("\n\nDame el valor de x: ");
scanf("%f",&x);
printf("\n\nDame el valor de y: ");
scanf("%f",&y);
a=x*y+y;
b=(x/y)*x;
c=(x-y)/x;
d=(y-x)*y;
printf("\n\nEl resultado de a es: %0.2f",a);
printf("\n\nEl resultado de b es: %0.2f",b);
printf("\n\nEl resultado de c es: %0.2f",c);
printf("\n\nEl resultado de d es: %0.2f",d);
getch ();
}

b) Compilarlo/ corregir si es necesario.


c) Imprimir pantalla del resultado.




INSTITUTO TECNOLOGICO DE SALINA CRUZ
ASIGNATURA
ALGORITMO Y PROGRAMACIN
UNIDAD 3
TEMA
SNTESIS ESTRUCTURA DE CONTROL
DOCENTE
ROMN NJERA SUSANA MONICA
ALUMNO
MARCELO REYES NOLASCO
CARRERA
INGENIERA MECNICA
SEMESTRE Y GRUPO
2.2B
INTRODUCCIN
Es la preparacin de ingenieros en un mundo globalizado, exige al ingeniero
el dominio de herramientas bsicas de la programacin, con los
conocimientos sobre la estructura de control.
En este trabajo tiene como objetivo al proporcionar al estudiante informacin
de la materia, especificando estructuras secuenciales, selectivas, repetitiva y
tipos de estructura de control.
Este importante texto, ayudar al estudiante contar con apoyo de informacin
y le sirva como base para el aprendizaje que trae los contenidos para su
desarrollo de ingeniero.
Este texto fue desarrollado con el apoyo de informacin de pginas web, con
el anlisis de esta informacin se lograra este texto.
Para este proceso de aprendizaje, el estudiante podr conocer las
estructuras que hay en el lenguaje de programacin como las secuenciales,
selectivas y repetitivas que se utilizan ya que le ser muy til en su profesin
como ingeniero.
Esperemos que le sirva la informacin del trabajo, y les ayude a su
aprendizaje para obtener ms conocimientos para nuestro desarrollo a
nuestra profesin, el contenido queda abierto para aportaciones y crticas a
todo el pblico.




ESTRUCTURA DE CONTROL
Las estructuras de control permiten controlar el flujo de ejecucin de las instrucciones en
un cdigo. Con estas estructuras, el programador puede determinar el orden y las veces
que se ejecutarn las instrucciones que estn dentro de estas estructuras.
Estructuras Secuenciales
La estructura secuencial es aquella en la que una accin (instruccin) sigue a otra en
secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la
siguiente y as sucesivamente hasta el fin del proceso.
Lectura: Consiste en recibir desde un dispositivo de entrada o de un archivo, un valor.

Asignacin: Consiste, en el paso de valores o resultados a una zona de la memoria.
Dicha zona ser reconocida con el nombre de la variable (identificador) que recibe el
valor. Formas de asignacin:

Simple: Consiste en pasar un valor constate a una variable.

ogla rov
Contador: Consiste en usarla como un verificador del nmero de veces que se realiza
un proceso

Var var +1
o

sum sum + algo
De trabajo: Donde puede recibir el resultado de una operacin matemtica que
involucre muchas variables.

var (a+b)/c

Escritura: Consiste en obtener informacin por medio de un dispositivo de salida como
es la impresora, un panel de control, etc.

ESTRUCTURAS SELECTIVAS (CONDICIONALES)
Se utilizan cuando en el desarrollo de la solucin de un problema se debe de tomar una
decisin para establecer un proceso o un camino alternativo a seguir.
Esta toma de decisin (expresada en el diagrama de flujo con un rombo) se basa en la
evaluacin de una o ms condiciones que sealan alternativas o consecuencias esto es,
el camino (rama) a seguir.
Una toma de decisin se puede realizar en cascada: se toma una decisin (rama a seguir)
y dentro de esa rama se toma otra decisin y as sucesivamente. Esto implica disear un
rbol de decisiones.
Las estructuras algortmicas selectivas que se utilizan para la toma de decisiones lgicas
se clasifican como:
Simple: SI ENTONCES

Doble: SI ENTONCES SI NO

Mltiple: EN CASO DE ENTONCES

















CONTROL REPETITIVO
Corresponde a la ejecucin repetida de una secuencia de sentencias, mientras cumple
una determinada condicin. Poseen una sola entrada y una sola salida.
Las estructuras que repiten una secuencia de sentencias un nmero determinado de
veces se denomina bucle o lazo y se llama interaccin al hecho de repetir la ejecucin de
una secuencia de sentencias.
En el lenguaje C existen tres tipos:
a) Bucle de entrada controlada.

La sentencia while permite evaluar una condicin lgica y ejecuta el cuerpo del bucle si la
condicin lgica es verdad.
Si la condicin lgica de control es falsa no se ejecuta el cuerpo del bucle.
While (condicin lgica) sea verdad
b) Bucle con salida controlada

La sentencia do-while evala una condicin lgica despus de ejecutar el cuerpo del bucle
do, que se ejecutar en secuencia repetitiva hasta que, la condicin lgica tome un valor
de falso.
El cuerpo del bucle se ejecuta por lo menos una vez porque la condicin se evala
despus de la ejecucin del bucle repetitivo.
a) Ciclo for

Es una instruccin para ejecutar un bloque de sentencias un nmero fija de veces.
El ciclo for se diferencia del ciclo while, do while en que las operaciones de control del
ciclo se sitan en un solo sitio: la cabecera del estatuto.
Si se requiere realizar ms de una sentencia se debe utilizar llaves.
Las tres partes del for son opcionales, si no se pone condicin se toma como verdadero.
Si la primera vez la condicin es falsa no se ejecuta ninguna sentencia y termina el ciclo
for.
TIPOS DE ESTRUCTURA DE CONTROL
Algunas estructuras de control en el lenguaje Java
Antecedentes
El trmino "estructuras de control", viene del campo de la ciencia computacional. Cuando
se presentan implementaciones de Java para las estructuras de control, nos referimos a
ellas con la terminologa de la Especificacin del lenguaje Java, que se refiera a ella como
instrucciones.
Ejecucin secuencial
Pero por lo general las instrucciones se ejecutan una despus de la otra, en el orden en
que estn escritas, es decir, en secuencia. Este proceso se conoce como ejecucin
secuencial.
Transferencia de control
En Java, como en otros lenguajes de programacin por excelencia como C y C++, el
programador puede especificar que las siguientes instrucciones a ejecutarse tal vez no
sea la siguiente en secuencia. Esto se conoce como transferencia de control. Hay que
tener en cuenta que la instruccin goto es una palabra reservada pero no se utiliza ni se
recomienda. Un programa bien estructurado no necesita de esta instruccin.
De seleccin
Las estructuras de control de seleccin, ejecutan un bloque de instrucciones u otro, o
saltan a un subprograma o subrutina segn se cumpla o no una condicin.
Estructura de control
Las estructuras de control, denominadas tambin sentencias de control, permiten tomar
decisiones y realizar un proceso repetidas veces. Se trata de estructuras muy importantes,
ya que son las encargadas de controlar el flujo de un programa, segn los requerimientos
del mismo.
Seleccin if simple
Se trata de una estructura de control que permite redirigir un curso de accin segn la
evaluacin de una condicin simple, sea falsa o verdadera.
Si la condicin es verdadera, se ejecuta el bloque de sentencias 1, de lo contrario, se
ejecuta el bloque de sentencias 2.















CONCLUSIONES
En esta investigacin e obtenido mucha informacin sobre la estructura de control en el
lenguaje de programacin y nos ayuda para comprender mejor el lenguaje de
programacin.
Este texto me servir de mucha ayuda para poder entender mejor y utilizar los tipos de
estructuras que hay en lenguaje y poder usarlos adecuadamente.
Como futuro ingeniero mecnico este texto me servir como poder entender el lenguaje
de programacin, sobres las estructuras de control ya que con ellos podremos programar
sin tener dificultades.
A mi punto de vista, la estructura de control nos permite controlar el flujo de ejecucin de
las instrucciones en un cdigo. Con estas estructuras nosotros podemos determinar el
orden y las veces que se ejecutar las instrucciones que estn dentro de estas
estructuras.
La estructura secuencial se podra decir que sigue una a la otra como en una secuencia.
La estructura selectiva se utiliza cuando un algoritmo se tiene dos o ms caminos
alternativos.
Y la estructura repetitiva corresponder a la ejecucin repetida de una secuencia de
sentencias, mientras cumple una determinada condicin. Se repiten una secuencia de
sentencias un nmero determinado de veces y se denomina bucle o lazo y se llama
interaccin al hecho de repetir la ejecucin de una secuencia de sentencias.
Sin nada ms que decir esperamos que este pequeo texto sea de mucha ayuda en su
profesin y que con ello haya podido aclarar sus dudas.




OTRAS FUENTES
Algoritmos y programacin. (2013). Internet. En lnea. Pgina consultada el 18 de
marzo del 2014. Disponible en: http://evidenciasb1.blogspot.mx/2013/05/3-unidad.html.
5 Estructuras de control. (2011). Internet. En lnea. Pgina consultada el 18 de marzo
del 2014. Disponible en:
http://campus.cva.itesm.mx/nazira/Tc1001/Estructuras%20algor%C3%ADtmicas%20select
ivas.pdf.
Estructuras de control en C. (2014). Internet. En lnea. Pgina consultada el 18 de
marzo del 2014. Disponible en: http://www.alegsa.com.ar/Notas/101.php.
Estructuras de control. (2014). Internet. En lnea. Pgina consultada el 18 de marzo del
2014. Disponible en:
http://es.wikipedia.org/wiki/Estructuras_de_control#Tipos_de_estructura_de_control.
















INSTITUTO TECNOLOGICO DE SALINA CRUZ.
Ingeniera mecnica.
Algoritmos y Programacin
Prctica No. 1-A
Unidad No. 3
Nombre:
Marcelo Reyes Nolasco
Fecha: 13 de marzo del 2014
Temas involucrados del temario:
Todos los temas visto en la unidad 2





a) Teclee el programa dado en clase.
# include <stdio.h>
# include <conio.h>
int main()
{
clrscr();
int A,B,C,D;
printf("\n\n Instituto Tecnologico De Salina Cruz");
printf("\n\n Algoritmo y Programacion");
printf("\n\n Unidad 3");
printf("\n\n Marcelo Reyes Nolasco");
printf("\n\n Practica No. 1");
printf("\n\n Practica 1-A");
printf("\n\n***************************************************************");
printf("\n\nIngrese el valor de A: ");
scanf("%d",&A);
printf("\n\nIngrese el valor de B: ");
scanf("%d",&B);
printf("\n\nIngrese el valor de C: ");
scanf("%d",&C);
D=A+B-C+100;
printf("\n %d + %d - %d + 100 = %d", A,B,C,D);
getch();
}





INSTITUTO TECNOLOGICO DE SALINA CRUZ.
Ingeniera mecnica.
Algoritmos y Programacin
Prctica No. 1-B
Unidad No. 3
Nombre:
Marcelo Reyes Nolasco
Fecha: 13 de marzo del 2014
Temas involucrados del temario:
Todos los temas visto en la unidad 2








a) Compilarlo/ corregir si es necesario.

# include <stdio.h>
# include <conio.h>
int main()
{
clrscr();
int a,b,c;
printf("\n\n Instituto Tecnologico De Salina Cruz");
printf("\n\n Algoritmo y Programacion");
printf("\n\n Unidad 3");
printf("\n\n Marcelo Reyes Nolasco");
printf("\n\n Practica No. 1");
printf("\n\n Practica 1-B");
printf("\n\n***************************************************************");
printf("\n\nInserte el valor de a: ");
scanf("%d",&a);
printf("\n\nInserte el valor de b: ");
scanf("%d",&b);
printf("\n\nInserte el valor de c: ");
scanf("%d",&c);
c=(a-b)*(a+b);
printf("\n\n (%d - %d) (%d + %d) = %d", a,b,a,b,c);
getch();
}






INSTITUTO TECNOLOGICO DE SALINA CRUZ.
Ingeniera mecnica.
Algoritmos y Programacin
Prctica No. 1-C
Unidad No. 3
Nombre:
Marcelo Reyes nolasco
Fecha: 13 de marzo del 2014
Temas involucrados del temario:
Todos los temas visto en la unidad 2





a) Compilarlo/ corregir si es necesario.

# include <stdio.h>
# include <conio.h>
void main()
{
clrscr();
float metros,resul,pulgadas;
int resul2,pulgadas2;
printf("\n\n Instituto Tecnologico De Salina Cruz");
printf("\n\n Algoritmo y Programacion");
printf("\n\n Unidad 3");
printf("\n\n Marcelo Reyes nolasco");
printf("\n\n Practica No. 1");
printf("\n\n Practica 1-C");
printf("\n\n***************************************************************");
printf("\n\nDeme el valor en metros: ");
scanf("%f",&metros);
resul=metros*(1/.3048);
resul2=resul;
pulgadas=resul-resul2;
pulgadas=pulgadas*12;
pulgadas2=pulgadas;
printf("\n\nEl resultado es: %d pies %d pulgadas",resul2,pulgadas2);
getch();
}


INSTITUTO TECNOLOGICO DE SALINA CRUZ.
Ingeniera mecnica.
Algoritmos y Programacin
Practica No. 1-D
Unidad No. 3
Nombre:
Marcelo Reyes Nolasco
Fecha: 13 de marzo del 2014
Temas involucrados del temario:
Todos los temas visto en la unidad 2





a) Compilarlo/ corregir si es necesario.

# include <stdio.h>
# include <conio.h>
void main()
{
float C,K,F;
clrscr();
printf("\n\n Instituto Tecnologico De Salina Cruz");
printf("\n\n Algoritmo y Programacion");
printf("\n\n Unidad 3");
printf("\n\n Marcelo Reyes Nolasco");
printf("\n\n Practica No. 1");
printf("\n\n Practica No. 1-D");
printf("\n\n********************************************************************");
printf("\n\nIngrese el valor en centigrados: ");
scanf("%f",&C);
K=C+273.15;
F=(C*(9/5))+(32);
printf("\n\nEl resultado es: %0.2f Kelvin y %f farenheit",K,F);
getch ();
}








INSTITUTO TECNOLOGICO DE SALINA CRUZ.
Ingeniera mecnica.
Algoritmos y Programacin
Prctica No. 1-E
Unidad No. 3
Nombre:
Marcelo Reyes Nolasco
Fecha: 14 de marzo del 2014









a) Teclee el programa dado en clase.

# include <stdio.h>
# include <conio.h>
void main()
{
float n1,n2,n3,media;
clrscr();
printf("\n\n Instituto Tecnologico De Salina Cruz");
printf("\n\n Algoritmo y Programacion");
printf("\n\n Unidad 3");
printf("\n\n Marcelo Reyes Nolasco");
printf("\n\n Practica No. 1");
printf("\n\n Practica No. 1-E");
printf("\n\n********************************************************************");
printf("\n\n *Calcula la media de tres numeros* ");
printf("\n\nIntroduzca el primer numero: ");
scanf("%f",&n1);
printf("\n\nIntroduzca el segundo numero: ");
scanf("%f",&n2);
printf("\n\nIntroduzca el tercer numero: ");
scanf("%f",&n3);
media=(n1+n2+n3)/3;
printf("\n\nLa media es: %.0f",media);
getch ();
}






INSTITUTO TECNOLOGICO DE SALINA CRUZ.
Ingeniera mecnica.
Algoritmos y Programacin
Prctica No. 1-F
Unidad No. 3
Nombre:
Marcelo Reyes Nolasco
Fecha: 14 de marzo del 2014
Temas involucrados del temario:
Todos los temas visto en la unidad 2





a) Teclee el programa dado en clase.

# include <stdio.h>
# include <conio.h>
void main()
{
float salario,aumento,inc;
clrscr();
printf("\n\n Instituto Tecnologico De Salina Cruz");
printf("\n\n Algoritmo y Programacion");
printf("\n\n Unidad 3");
printf("\n\n Marcelo Reyes Nolasco");
printf("\n\n Practica No. 1");
printf("\n\n Practica No. 1-F");
printf("\n\n********************************************************************");
printf("\n\n *Salario con un incremento de 8%* ");
printf("\n\nDeme el salario del empleado: ");
scanf("%f",&salario);
printf("\n\nDeme el incremento: ");
scanf("%f",&inc);
aumento=salario*(1/inc);
printf("\n\nEl salario neto es: %.2f",aumento);
printf("\n\nEl porcentaje de aumento es: %.2f %",inc);
getch ();
}








Ingeniera mecnica.
Algoritmos y Programacin
Prctica No. 1-G
Unidad No. 3
Nombre:
Marcelo Reyes Nolasco
Fecha: 14 de marzo del 2014
Temas involucrados del temario:
Todos los temas visto en la unidad 2








a) Teclee el programa dado en clase.

# include <stdio.h>
# include <conio.h>
void main()
{
int cant5,cant10,cant20,importe;
clrscr();
printf("\n\n Instituto Tecnologico De Salina Cruz");
printf("\n\n Algoritmo y Programacion");
printf("\n\n Unidad 3");
printf("\n\n Marcelo Reyes Nolasco");
printf("\n\n Practica No. 1");
printf("\n\n Practica 1-G");
printf("\n\n********************************************************************");
printf("\n\nIntroduzca cuantas monedas de 5: ");
scanf("%i",&cant5);
printf("\n\nIntroduzca cuantas monedas de 10: ");
scanf("%i",&cant10);
printf("\n\nIntroduzca cuantas monedas de 20: ");
scanf("%i",&cant20);
importe=(cant5*5)+(cant10*10)+(cant20*20);
printf("\n\nEl importe es: %i",importe);
getch ();
}




INSTITUTO TECNOLOGICO DE SALINA CRUZ.
Ingeniera mecnica.
Algoritmos y Programacin
Prctica No. 2-A
Unidad No. 3
Nombre:
Marcelo Reyes Nolasco
Fecha: 24 de marzo del 2014
Temas involucrados del temario:
Control de flujo de programa




a) Teclee el programa dado en clase.

#include <stdio.h>
#include <conio.h>
int main()
{
int x;
int cal1, cal2, cal3, sum;
printf("\n\n Instituto Tecnologico De Salina Cruz");
printf("\n\n Algoritmo y Programacion");
printf("\n\n Unidad 3");
printf("\n\n Marcelo Reyes Nolasco ");
printf("\n\n Practica No. 2-A");
printf("\n\n********************************************************************");
printf("\n\n Escribe un numero sin decimales: ");
scanf("%i",&x);
if (x%2==0)
printf("\n\n Es un numero par");
else printf("\n\nEl numero es impar");
getch();
}













INSTITUTO TECNOLOGICO DE SALINA CRUZ.
Ingeniera mecnica.
Algoritmos y Programacin
Prctica No. 2-B
Unidad No. 3
Nombre:
MARCELO REYES NOLASCO
Fecha: 24 de marzo del 2014
Temas involucrados del temario:
Control de flujo de programa





a) Teclee el programa dado en clase.

#include <stdio.h>
#include <conio.h>
int main()
{
double x,y;
printf("\n\n Instituto Tecnologico De Salina Cruz");
printf("\n\n Algoritmo y Programacion");
printf("\n\n Unidad 3");
printf("\n\n marcelo reyes nolasco");
printf("\n\n Practica No. 2-B");
printf("\n\n********************************************************************");
printf("\n\nEscribe el primer numero: ");
scanf("%lf",&x);
printf("\n\nEs el segundo numero: ");
scanf("%lf",&y);
if(x>y)
printf("\n\nEl numero mayor es:%.2f ",x);
else if(y>x)
printf("\n\nEl numero mayor es:%.2f ",y);
else printf("\n\nLos numeros son inguales");
getch();
}








INSTITUTO TECNOLOGICO DE SALINA CRUZ.
Ingeniera mecnica.
Algoritmos y Programacin
Prctica No. 2-C
Unidad No. 3
Nombre:
Marcelo Reyes Nolasco
Fecha: 24 de marzo del 2014
Temas involucrados del temario:
Control de flujo de programa





a) Teclee el programa dado en clase.

#include <stdio.h>
#include <conio.h>
int main()
{
double x,y,z;
printf("\n\n Instituto Tecnologico De Salina Cruz");
printf("\n\n Algoritmo y Programacion");
printf("\n\n Unidad 3");
printf("\n\ Marcelo Reyes Nolasco ");
printf("\n\n Practica No. 2-C");
printf("\n\n********************************************************************");
printf("\n\nEscribe el primer numero:");
scanf("%lf",&x);
printf("\n\nEscribe el segundo numero:");
scanf("%lf",&y);
printf("\n\nEscribe el el tercer numero:");
scanf("%lf",&z);
if(x>y&&x>z)
{
if(y>z)
printf("\n%lf\n%lf\n%lf",x,y,z);
else printf("\n%lf\n%lf\n%lf",x,z,y);
}
else if (y>x&&y>z)
{
if(x>z)
printf("\n%lf\n%lf\n%lf",y,x,z);
else printf("\n%lf\n%lf\n%lf",y,x,z);
}
else
{
if(z>y)
printf("\n\n%lf\t%lf\t%lf",z,x,y);
else
printf("\n%lf\t%lf\t%lf",z,y,x);
getch();
}

















INSTITUTO TECNOLOGICO DE SALINA CRUZ.
Ingeniera mecnica.
Algoritmos y Programacin
Prctica No. 3-A
Unidad No. 3
Nombre:
Marcelo Reyes Nolasco
Fecha: 26 de marzo del 2014
Temas involucrados del temario:
Control de flujo de programa



a) Teclee el programa dado en clase.

# include <stdio.h>
# include <conio.h>
void main()
{
int num;
num = 1;
printf("\n\n Instituto Tecnologico De Salina Cruz");
printf("\n\n Algoritmo y Programacion");
printf("\n\n Unidad 3");
printf("\n\n Marcelo Reyes Nolasco");
printf("\n\n Practica No. 3-A");
printf("\n\n********************************************************************\n\n");
do {
printf("%d\n", num);
num = num + 1;
} while (num<=10);
printf("\nLa variable num vale: %d\n", num);
getch();
}







INSTITUTO TECNOLOGICO DE SALINA CRUZ.
Ingeniera mecnica.
Algoritmos y Programacin
Prctica No. 3-B
Unidad No. 3
Nombre:
Marcelo Reyes Nolasco
Fecha: 26 de marzo del 2014
Temas involucrados del temario:
Control de flujo de programa



a) Teclee el programa dado en clase.
# include <stdio.h>
# include <conio.h>
int main()
{
float calf=0.0;
float calfsum=0.0;
float prome=0.0;
int cont=0;
printf("\n\n Instituto Tecnologico De Salina Cruz");
printf("\n\n Algoritmo y Programacion");
printf("\n\n Unidad 3");
printf("\n\n Marcelo Reyes Nolasco ");
printf("\n\n Practica No. 3-B");
printf("\n\n********************************************************************\n\n");
do
{
printf("Ingrese sus calificaciones");
printf(" para promediar oprima solamente ENTER ");
scanf("%f", &calf);
cont=(cont+1);
calfsum=(calfsum+calf);
}while(calf!=0); \
prome=(calfsum)/(cont);
printf("\nSu promedio es de %f ",prome);
getch();
}





INSTITUTO TECNOLOGICO DE SALINA CRUZ.
Ingeniera mecnica.
Algoritmos y Programacin
Prctica No. 3-C
Unidad No. 3
Nombre:
Marcelo Reyes Nolasco
Fecha: 26 de marzo del 2014
Temas involucrados del temario:
Control de flujo de programa



a) Teclee el programa dado en clase.

# include <stdio.h>
# include <conio.h>
void main()
{
int i=0;
printf("\n\n Instituto Tecnologico De Salina Cruz");
printf("\n\n Algoritmo y Programacion");
printf("\n\n Unidad 3");
printf("\n\n Marcelo Reyes Nolasco");
printf("\n\n Practica No. 3-C");
printf("\n\n********************************************************************\n\n");
do
{
printf("Soy la variable i, mi valor en esta iteracion es: %d\n",i);
i++;
} while(i<=10);
getch();
}













INSTITUTO TECNOLOGICO DE SALINA CRUZ.
Ingeniera mecnica.
Algoritmos y Programacin
Prctica No. 3-D
Unidad No. 3
Nombre:
Marcelo reyes Nolasco
Fecha: 26 de marzo del 2014
Temas involucrados del temario:
Control de flujo de programa



a) Teclee el programa dado en clase.

# include <stdio.h>
# include <conio.h>
int main()
{
int num=0;
int suma=0;
printf("\n\n Instituto Tecnologico De Salina Cruz");
printf("\n\n Algoritmo y Programacion");
printf("\n\n Unidad 3");
printf("\n\n Marcelo reyes Nolasco ");
printf("\n\n Practica No. 3-D");
printf("\n\n********************************************************************\n\n");
do
{
suma=suma+num;
num++;
}while(num<=15);
printf("Suma= %d\n",suma);
getch();
}












INSTITUTO TECNOLOGICO DE SALINA CRUZ.
Ingeniera mecnica.
Algoritmos y Programacin
Prctica No. 3-E
Unidad No. 3
Nombre:
Marcelo reyes Nolasco
Fecha: 26 de marzo del 2014
Temas involucrados del temario:
Control de flujo de programa





a) Teclee el programa dado en clase.

# include <stdio.h>
# include <conio.h>
int main()
{
int n;
printf("\n\n Instituto Tecnologico De Salina Cruz");
printf("\n\n Algoritmo y Programacion");
printf("\n\n Unidad 3");
printf("\n\n marcelo reyes nolasco");
printf("\n\n Practica No. 3-D");
printf("\n\n********************************************************************\n\n");
printf("Introduce un numero: ");
scanf("%i", &n);
if(n!=2 && n%2==0)
printf("No es primo");
else
{ if(n!=3 & n%3==0)
printf("No es primo");
else
{ if(n!=5 & n%5==0)
printf("No es primo");
else
{ if(n!=7 & n%7==0)
printf("No es primo");
else
{ if(n!=11 & n%11==0)
printf("No es primo");
else
{ printf("Es primo");
getch(); } } } } } }



INSTITUTO TECNOLOGICO DE SALINA CRUZ.
Ingeniera mecnica.
Algoritmos y Programacin
Prctica No. 5-A
Unidad No. 3
Nombre:
Marcelo Reyes Nolasco
Fecha: 31de marzo del 2014
Temas involucrados del temario:
Control de flujo de programa




a) Teclee el programa dado en clase.

#include <stdio.h>
#include <conio.h>
int main(void)
{
int dia;
printf("\n\n Instituto Tecnologico De Salina Cruz");
printf("\n\n Algoritmo y Programacion");
printf("\n\n Unidad 3");
printf("\n\n Marcelo Reyes Nolasco ");
printf("\n\n Practica No. 5-A");
printf("\n\n********************************************************************\n\n");
printf("\nQue dia de la semana es?: ");
scanf("%i",&dia);
switch(dia)
{
case 1:
printf("\nLun,Lunes");
break;
case 2:
printf("\nMar,Martes");
break;
case 3:
printf("\nMier,Miercoles");
break;
case 4:
printf("\nJue,Jueves");
break;
case 5:
printf("\nVier,Viernes");
break;
case 6:
printf("\nSab,Sabado");
break;
case 7:
printf("\nDom,Domingo");
break;
default:
printf("\nNo existe");
}
getch();
}













INSTITUTO TECNOLOGICO DE SALINA CRUZ.
Ingeniera mecnica.
Algoritmos y Programacin
Prctica No. 5-B
Unidad No. 3
Nombre:
Marcelo reyes Nolasco
Fecha: 31 de marzo del 2014
Temas involucrados del temario:
Control de flujo de programa





a) Teclee el programa dado en clase.

#include <stdio.h>
#include <conio.h>
void main()
{
char ch;
printf("\n\n Instituto Tecnologico De Salina Cruz");
printf("\n\n Algoritmo y Programacion");
printf("\n\n Unidad 3");
printf("\n\n Marcelo reyes Nolasco ");
printf("\n\n Practica No. 5-B");
printf("\n\n********************************************************************\n\n");
printf("\nIntrodusca la vocal: ");
ch=getchar();
switch(ch)
{
case 'a':
printf("\nSe ha tecleado la A");
break;
case 'e':
printf("\nTecleo la E");
break;
case 'i':
printf("\nTecleo la I");
break;
case 'o':
printf("\nTecleo la o");
break;
case 'u':
printf("\nTecleo la U");
break;
default:
printf("\nError");
}
getch();
}



INSTITUTO TECNOLOGICO DE SALINA CRUZ.
Ingeniera mecnica.
Algoritmos y Programacin
Prctica No. 5-C
Unidad No. 3
Nombre:
Marcelo reyes Nolasco
Fecha: 31 de marzo del 2014
Temas involucrados del temario:
Control de flujo de programa



a) Teclee el programa dado en clase.

#include <stdio.h>
#include <conio.h>
void main()
{
int c;
float x,y,z;
printf("\n\n Instituto Tecnologico De Salina Cruz");
printf("\n\n Algoritmo y Programacion");
printf("\n\n Unidad 3");
printf("\n\n marcelo reyes Nolasco ");
printf("\n\n Practica No. 5-C");
printf("\n\n********************************************************************\n\n");
printf("\n Menus");
printf("\n\n A=Suma dos numeros");
printf("\n B=Resta dos numeros");
printf("\n C=Multiplica dos numeros");
printf("\n D=Divide dos numeros");
printf("\n\n Escriba la opcion y luego ENTER: ");
c=getchar();
switch(c)
{
case 'A':
printf("\n Selecciona sumar dos numeros");
printf("\n Deme el primer numero a sumar");
scanf("%f",&y);
printf("\n Deme el segundo numero a sumar");
scanf("%f",&z);
x=y+z;
printf("\n La suma de y+z es:%f",x);
break;
case 'B':
printf("\n Selecciona restar dos numeros");
printf("\n Deme el primer numero a restar");
scanf("%f",&y);
printf("\n Deme el segundo numero a restar");
scanf("%f",&z);
x=y-z;
printf("\n La resta de y-z es:%f",x);
break;
case 'C':
printf("\n\n Selecciona multiplicar a dos numeros");
printf("\n\n Deme el primer numero a multiplicar ");
scanf("%f",&y);
printf("\n\n Deme el segundo numero a multiplicar ");
scanf("%f",&z);
x=y*z;
printf("\n La multiplicacion de y*z es:%f",x);
break;
case 'D':
printf("\n Selecciona dividir dos numeros");
printf("\n Deme el primer numero a dividirr");
scanf("%f",&y);
printf("\n Deme el segundo numero a dividir");
scanf("%f",&z);
x=y/z;
printf("\n La division de y/z es:%f",x);
break;
default:
printf("\n Opcion incorrecta");
break;
}
getch();
}

































INSTITUTO TECNOLOGICO DE SALINA CRUZ.
Ingeniera mecnica.
Algoritmos y Programacin
Prctica No. 6-A
Unidad No. 3
Nombre:
Marcelo Reyes Nolasco
Fecha: 03 de abril del 2014
Temas involucrados del temario:
Control de flujo de programa



a) Teclee el programa dado en clase.

void main()
{
clrscr;
int x;
printf("\n\n Instituto Tecnologico De Salina Cruz");
printf("\n\n Algoritmo y Programacion");
printf("\n\n Unidad 3");
printf("\n\n Marcelo Reyes Nolasco ");
printf("\n\n Practica No. 6-A");
printf("\n\n********************************************************************");
for(x=1;x<=10;x=x+1)
{
gotoxy(10,x+15);
printf("%d Hola primera practica con estructura FOR",x);
}
getchar();
}










INSTITUTO TECNOLOGICO DE SALINA CRUZ.
Ingeniera mecnica.
Algoritmos y Programacin
Prctica No. 6-B
Unidad No. 3
Nombre:
Marcelo Reyes Nolasco
Fecha: 03 de abril del 2014
Temas involucrados del temario:
Control de flujo de programa





a) Teclee el programa dado en clase.

# include <stdio.h>
# include <conio.h>
int main()
{
int x=0;
printf("\n\n Instituto Tecnologico De Salina Cruz");
printf("\n\n Algoritmo y Programacion");
printf("\n\n Unidad 3");
printf("\n\n Marcelo Reyes Nolasco");
printf("\n\n Practica No. 6-B");
printf("\n\n********************************************************************");
for(x=0;x<=5;x++)
{
printf("\n%d",x);
}
getch();
}
# include <stdio.h>
# include <conio.h>
int main()
{
int x=0;
printf("\n\n Instituto Tecnologico De Salina Cruz");
printf("\n\n Algoritmo y Programacion");
printf("\n\n Unidad 3");
printf("\n\n Marcelo Reyes Nolasco");
printf("\n\n Practica No. 6-B");
printf("\n\n********************************************************************\n");
for(x=0;x<=500;x++)
{
printf("\t%d",x);
}
getch();
}
# include <stdio.h>
# include <conio.h>
int main()
{
int x=0;
printf("\n\n Instituto Tecnologico De Salina Cruz");
printf("\n\n Algoritmo y Programacion");
printf("\n\n Unidad 3");
printf("\n\n Marcelo Reyes Nolasco");
printf("\n\n Practica No. 6-B");
printf("\n\n********************************************************************\n");
for(x=0;x<=5;x=x+2)
{
printf("\t%d",x);
}
getch();
}






INSTITUTO TECNOLOGICO DE SALINA CRUZ.
Ingeniera mecnica.
Algoritmos y Programacin
Prctica No. 6-C
Unidad No. 3
Nombre:
Marcelo Reyes Nolasco
Fecha: 03 de abril del 2014
Temas involucrados del temario:
Control de flujo de programa



a) Teclee el programa dado en clase.

# include <stdio.h>
# include <conio.h>
int main()
{
int c=0;
printf("\n\n Instituto Tecnologico De Salina Cruz");
printf("\n\n Algoritmo y Programacion");
printf("\n\n Unidad 3");
printf("\n\n Marcelo Reyes Nolasco");
printf("\n\n Practica No. 6-C");
printf("\n\n********************************************************************\n\n");
for(c=0;c<=10;c++)
{
printf("2x%d=%d\n",c,2*c);
}
getch();
}

















INSTITUTO TECNOLOGICO DE SALINA CRUZ
ASIGNATURA
ALGORITMO Y PROGRAMACIN
UNIDAD 4
TEMA
INVESTIGACIN SOBRE LAS FUNCIONES DE C.
DOCENTE
ROMN NJERA SUSANA MONICA
ALUMNO
MARCELO REYES NOLASCO
CARRERA
INGENIERA MECNICA
SEMESTRE Y GRUPO
2.2B




INTRODUCCIN
Es la preparacin de ingenieros en un mundo globalizado, exige al ingeniero
el dominio de herramientas bsicas de la programacin, con los
conocimientos sobre la estructura de control.
En este trabajo tiene como objetivo al proporcionar al estudiante informacin
de la materia, especificando lo que son las funciones en c, como las partes
de una funcin, sus ventajas, etc.
Este importante texto, ayudar al estudiante contar con apoyo de informacin
y le sirva como base para el aprendizaje que trae los contenidos para su
desarrollo de ingeniero.
Este texto fue desarrollado con el apoyo de informacin de pginas web, con
el anlisis de esta informacin se lograra este texto.
Para este proceso de aprendizaje, el estudiante podr conocer lo que son los
argumentos de informacin, transferencia de informacin y sus principales
partes de la funcin que se utilizan ya que le ser muy til en su profesin
como ingeniero.
Esperemos que le sirva la informacin del trabajo, y les ayude a su
aprendizaje para obtener ms conocimientos para nuestro desarrollo a
nuestra profesin, el contenido queda abierto para aportaciones y crticas a
todo el pblico.




FUNCIONES DE C.
DEFINICIN DE FUNCIONES
mdulos, cada uno de los cuales realiza una tarea determinada. Cada
mdulo es un subprograma llamado funcin.

n
conjunto de sentencias que se pueden llamar desde cualquier parte del
programa (incluso varias veces).





Una funcin es una rutina o conjunto de sentencias que realiza una
determinada labor. En C todas las funciones devuelven un valor, que por
defecto es un entero. Las funciones admiten argumentos, que son datos que
le pasan a la sentencias que la llaman.
Cuando un programa comienza a ser largo y complejo no es apropiado tener
todas las instrucciones en un solo bloque, ya que no es fcil entender lo que
hace el programa debido a que se intenta abarcar toda la solucin a la vez.
Adems suelen aparecer secciones de cdigo similares entre s a lo largo de
todo el programa lo que hace que el programa se vuelva an ms difcil de
entender y modificar.
Los lenguajes de alto nivel proporcionan herramientas para solucionar estos
problemas permiten estructurar el programa principal compuesto de
subprogramas (funciones y procedimientos) que resuelven partes del
problema principal. A su vez, cada uno de estos subprogramas puede estar
resuelto por otro conjunto de subprogramas etc... Los procedimientos y las
funciones son los mecanismos de estructuracin que permiten ocultar los
detalles dela solucin de un problema y resolver una parte de dicho problema
en otro lugar del cdigo.
El lenguaje C utiliza bibliotecas de funciones con el fin de realizar unas
algunas operaciones clculos de uso comn. C adems permite que el
programador defina sus propias funciones para determinadas tareas.
Funcin: es un bloque de instrucciones que realiza tareas bien definidas.
Todo programa en C consta de una o ms funciones. La ejecucin de un
programa en C siempre comienza por la funcin. Cuando se ejecuta una
funcin el control pasa al punto donde esta inicia. Una vez finalizada su
ejecucin, se devuelve el control al punto desde el que se hizo la llamada a la
funcin.
Procedimientos: Se llama as, en lenguaje Pascal, a un subprograma que
ejecuta unas ciertas acciones sin que valor alguno de retorno est asociado a
su nombre.
En otras palabras: Un procedimiento es una funcin que NO devuelve
valores.
PARTES DE UNA FUNCIN
PROTOTIPO DE UNA FUNCIN. Tiene la sintaxis:

Tipo nombre (parmetro 1, parmetro 2,...parmetro N ); dnde :
Tipo: es el tipo de valor devuelto por la funcin. Los procedimientos son tipo
void.
Nombre: es el nombre de la funcin
Parmetros: conjunto de argumentos, separados por comas y encerrados
entre parntesis. Los parmetros son opcionales, en caso de que no se
especifiquen, enseguida del nombre de la funcin se escribe un par de
parntesis vacos. El prototipo de la funcin va seguido de ;
DEFINICIN DE LA FUNCIN:

La definicin de la funcin se hace despus de cerrar la llave de main. Est
formado por las siguientes partes:
a) Encabezado de la funcin. Es igual al prototipo pero no termina con ;
b) Cuerpo de la funcin. Entre llaves se declaran las variables locales y luego
se escriben las instrucciones. El cuerpo de la funcin termina con la
sentencia return () que marca el final de la funcin. Slo se puede incluir una
expresin (variable u operacin) en la sentencia return.
LLAMADA A LA FUNCIN.

Es la ejecucin de la Funcin. La funcin se realiza en el momento en que
desde el programa principal se hace referencia a su nombre.
#include<stdio.h>
#include<conio.h>
void cuadro (int,int,int,int,int); //Prototipo
int suma(int , int );
void main()
{ int x1,y1,x2,y2,a,b,c;
clrscr();
printf("Coordenadas de la esquina superior izqui
erda");
scanf("%d,%d",&y1,&x1);
printf("Coordenadas de la esquina inferior derec
ha");
scanf("%d,%d",&y2,&x2);
clrscr();
cuadro (y1,x1,y2,x2,RED); // Llamada a la func
ion
gotoxy(20,10);printf("Primer Numero:");scanf("%d
",&a);
gotoxy(20,11);printf("Segundo Numero:");scanf("%
d",&b);
c=suma(a,b);
clrscr();
cuadro(15,8,35,12,MAGENTA);
gotoxy(20,10);printf("La suma es %d",c);
getch();
}
void cuadro(int coli, int reni, int colf, int renf,
int color)
{ int i;
textcolor(color);
for (i=coli;i<=colf;i++)
{ gotoxy(i,reni); cprintf("%c",219);
gotoxy(i,renf); cprintf("%c",219);
}
for (i=reni;i<=renf;i++)
{ gotoxy(coli,i); cprintf("%c",219);
gotoxy(colf,i); cprintf("%c",219);
}
}
int suma(int n1, int n2)
{ int resp;
resp=n1+n2;
return(resp);
}
main( ){
imprimeEntero(5);
}
void imprimeEntero(int x){
printf(%d\n, x);/* x vale 5 */
}
Parmetro real (llamada)
Parmetro formal (declaracin)
FUNCIONES: VENTAJAS
1.-Facilita el diseo descendente.
2.- Los procedimientos dentro de ellas se pueden ejecutar varias veces.
3.- Facilita la divisin de tareas.
4.- Se pueden probar individualmente
5.- Con funciones apropiadamente diseadas, es posible ignorar como se
realiza una tarea, sabiendo qu es lo que hacen.
VARIABLES LOCALES Y GLOBALES
Variables Locales:
Se declaran dentro de la funcin y slo estn disponibles durante su
ejecucin.
Se crean cuando se entra en ejecucin una funcin y se destruyen cuando
se termina.
Variables globales:
Se declaran fuera de las funciones. Pueden ser utilizadas por todas las
funciones.
Existen durante toda la vida del programa.

ARGUMENTOS DE FUNCIONES
Son variables locales conocidas como parmetros formales y se utilizan
como un medio para entregarle informacin a la funcin.
Los parmetros formales reciben sus valores iniciales desde los parmetros
reales, es decir desde los valores que se les pasan a travs de la llamada.
Ejemplo:
TRANSFERENCIA DE INFORMACIN
Por valor: copia el valor de un argumento de la llamada en el parmetro
formal de la funcin. Por lo tanto, los cambios en los parmetros de la funcin
no afectan a las variables que se usan en la llamada.
Por referencia: se copia la direccin del argumento en el parmetro. Los
cambios hechos a los parmetros afectan a las variables usadas en la
llamada a la funcin.
FUNCIN MAIN DEL PROGRAMA
La funcin main es la encargada de llamar las dems subrutinas del
programa, cuenta con dos argumentos de entrada; el primero es un nmero,
el cual nos indica cuntos argumentos fueron pasados por la lnea de
comando al programa y el segundo son cada uno de los argumentos en un
arreglo de cadenas de caracteres; adems retorna un valor entero que indica
al sistema operativo si la ejecucin se realiz con xito o no.
Ejemplo
#include<stdio.h>
#include<stdlib.h>//libreria que contiene atof
#include<string.h>//para manejar string
int main(int argc, char *argv[]){
if(argc==1){
printf("ingrese -h/--help para obtener ayuda\n");
}else if(argc==2){
if((strcmp(argv[1],"-h")==0) || (strcmp(argv[1],"--help")==0)){
printf("uso: %s a b ...\n",argv[0]);
}else{
printf("Opcin invalidad, ingrese -h/--help para obtener ayuda\n.");
}
}else {
int i=0;
float valor=0;
for(i=1;i<argc;i++){
valor+=atof(argv[i]);
}
printf("la suma es: %f\n",valor);
}
return 0;
}
PROTOTIPOS DE LAS FUNCIONES
Los prototipos de las funciones son aquellas partes de la funciones que me
indican lo esencial de ellas, como lo son los argumentos y el valor de retorno,
pero no indica nada de informacin asociada a como se construye la
implementacin; La mayora de veces, los prototipos de las funciones son
usados al principio del cdigo fuente para indicar a la funcin principal u otras
funciones que necesiten que dichas funciones existan.
Ejemplo
#include<stdio.h>
#include<stdlib.h>
double max(double a, double b); //la creo pero no la construyo
int main(int argc, char *argv[]){
if(argc==3){
double a,b;
a=atof(argv[1]);
b=atof(argv[2]);
printf("el maximo es %lf\n",max(a,b));
}else{
printf("USO: %s a b\n",argv[0]);
}
return 0;
}
double max(double a, double b){
if(a>b){
return a;
}else{
return b;
}}
FUNCIONES RECURSIVAS
Son aquellas funciones que se llaman a s misma dentro de su
implementacin, deben contar con una regla de rompimiento que impida que
dicha funcin se quede en un ciclo infinito.
#include<stdio.h>
int factorial(int numero){
if (numero == 0)
return 1;
else return numero*factorial(numero-1);
}
int main(){
printf("el factorial de 4 es %d\n",factorial(4));
}
FUNCIONES DEFINIDAS POR EL USUARIO.
Las funciones de usuario son, como su nombre indica, las que el propio
usuario declara, de igual manera que declara procedimientos. Las funciones
nacen con el propsito de ser subprogramas que siempre tienen que
devolver algn valor.
Las dos principales diferencias entre procedimientos y funciones son:


programa, y si los necesita, se incluyen los parmetros entre parntesis. Para
invocar una funcin es necesario hacerlo en una expresin.

Las funciones de usuario vienen definidas por un nombre, seguidas de dos
parntesis () entre los que puede haber o no argumentos. Los argumentos
son valores que se le pasan a la funcin cuando se llama.
Un ejemplo de una funcin sin argumentos:
#include <stdio.h>
main ()
{
printf (\nEste mensaje lo muestra la funcin main());
MiFuncion ();
}
/* Definicin de la funcin MiFuncion() */
MiFuncion ()
{
printf (\nEste otro lo muestra MiFuncion());
}
En este ejemplo se utiliza la funcin MiFuncion() para mostrar en pantalla una
frase. Como se ve, MiFuncion() se invoca igual que printf() o scanf(), es decir,
simplemente se escribe el nombre de la funcin y los parntesis. La
definicin de MiFuncion() tiene el mismo aspecto que main(): el nombre de la
funcin con los parntesis y, seguidamente, el cuerpo de la funcin
encerrado entre llaves.
Un ejemplo de una funcin con argumentos. El programa visualiza el
cuadrado de un nmero entero por medio de una funcin que recibe dicho
nmero como argumento.
#include <stdio.h>
main ()
{
int num;
printf (\nTeclee un nmero entero: );
scanf (%d, &num);
cuadrado (num);
}
/* Definicin de la funcin cuadrado() */
cuadrado (int x)
{
printf (\nEl cuadrado de %d es %d\n, x, x * x);
}
Es la declaracin de la funcin cuadrado (). Dentro de los parntesis se pone
la variable que recibir el valor pasado a cuadrado () y de qu tipo es. As, si
se teclea el valor 6, se almacena en num y al hacer la llamada cuadrado
(num), la variable num se copia en la variable x, que es con la que trabaja
internamente la funcin cuadrado ().
Es importante mantener claros dos trminos:
1. El trmino Argumento se refiere a la variable usada al llamar la funcin.
2. El trmino Parmetro Formal se refiere a la variable de una funcin que
recibe el valor de los argumentos.
Tambin es importante tener claro que la copia de variables se hace slo en
una direccin: del argumento al parmetro formal. Cualquier modificacin del
parmetro formal realizado dentro de la funcin no tiene ninguna influencia
en el argumento.
Hay que tener en cuenta es que el tipo de argumento que se utiliza para
llamar a una funcin debe ser el mismo que el del parmetro formal que
recibe el valor. As, no debe llamarse a la funcin cuadrado con un
argumento de tipo float.
Un ejemplo que utiliza una funcin que devuelve un valor. El siguiente
programa lee dos nmeros enteros del teclado y muestra su producto en
pantalla. Para el clculo se usa una funcin que recibe los dos nmeros y
devuelve el producto de ambos.
9
#include <stdio.h>
main ()
{
int a, b, producto;
printf (\nTeclee dos nmeros enteros: );
scanf (%d %d, &a, &b);
producto = multiplica (a, b);
printf (\nEl resultado es %d, producto);
}
/* Definicin de la funcin multiplica() */
multiplica (int x, int y)
{
return (x * y);
}
VALORES DE RETORNO DE FUNCIONES
Una funcin en C puede retornar cualquier tipo de dato definido en el
lenguaje o por el usuario, inclusive si no se quiere retornar nada se puede
poner void para indicar que no se espera ningn valor despus del
procedimiento.
void funcion(){
...
}
double funcion(void){
....
return valor;
}
CONCLUSIONES
En esta investigacin e obtenido mucha informacin sobre las funciones en el
lenguaje de programacin y nos ayuda para comprender mejor el lenguaje de
programacin.
Este texto me servir de mucha ayuda para poder entender mejor y utilizar
los tipos de funciones, las funciones recursivas o las funciones que son
definidas por el usuario que hay en lenguaje y poder usarlos adecuadamente.
Como futuro ingeniero mecnico este texto me servir como poder entender
el lenguaje de programacin, sobres las funciones en C ya que con ellos
podremos programar sin tener dificultades.
El C++ por ser un lenguaje modular y se puede dividir en varios mdulos, ya
que cada uno de ellos puede realizar una tarea determinada. Y pues una
funcin viene siendo un mini programa que se puede utilizar en un programa
Las funciones de usuario son las que el propio usuario declara. Las funciones
nacen para ser subprogramas que siempre tienen que devolver algn valor.
Sin nada ms que decir esperamos que este pequeo texto sea de mucha
ayuda en su profesin y que con ello haya podido aclarar sus dudas.



OTRAS FUENTES
Funciones en el lenguaje C. (2014). Internet. En lnea. Pgina consultada el
3 de mayo del 2014. Disponible en:
http://www.josedomingo.org/web/pluginfile.php/1269/mod_resource/content/0/
curso/Funciones_en_el_Lenguaje_C.pdf
Funciones. (2014). Internet. En lnea. Pgina consultada el 3 de mayo del
2014. Disponible en:
http://www.nebrija.es/~abustind/Informatica/MetodologiaI/funciones.pdf
Creacin definidas por el usuario. (2014). Internet. En lnea. Pgina
consultada el 5 de mayo del 2014. Disponible en:
http://lenguajecmasmas.wordpress.com/2007/10/01/creacion-de-funciones-
definidad-por-el-usuario/
Funciones en lenguaje C. (2014). Internet. No en lnea. Pgina consultada
el 5 de mayo del 2014. Disponible en:
http://www.google.com.mx/url?sa=t&rct=j&q=&esrc=s&source=web&cd=5&ca
d=rja&uact=8&ved=0CEcQFjAE&url=http%3A%2F%2Fwww.inf.udec.cl%2F~jl
opez%2FFUNDPRO%2FLAMINASCurso%2F07_Funciones.ppt&ei=tD9pU-
aXG4af8QG5r4CoCQ&usg=AFQjCNGVcpUvrFClBf3GhaK5acROPoqg0g&bv
m=bv.66111022,d.b2U





ANEXO
15 PREGUNTAS RELACIONADO AL TEMA
1. Cul es la definicin de una funcin en el lenguaje?
R= C++ es un lenguaje modular, y por sta razn, se puede dividir en varios
mdulos, cada uno de los cuales realiza una tarea determinada. Cada
mdulo es un subprograma llamado funcin.
2. Cules son las partes de una funcin?

R= Prototipo de una funcin, definicin de la funcin y llamada a la funcin.
3. Cules son los prototipos de una funcin?

R= Tipo: es el tipo de valor devuelto por la funcin. Los procedimientos son
tipo void.
Nombre: es el nombre de la funcin
Parmetros: conjunto de argumentos, separados por comas y encerrados
entre parntesis
4. Qu es llamada a la funcin?

R= Es la ejecucin de la Funcin. La funcin se realiza en el momento en
que desde el programa principal se hace referencia a su nombre.
5. Defina cuerpo de la funcin?

R= Entre llaves se declaran las variables locales y luego se escriben las
instrucciones. El cuerpo de la funcin termina con la sentencia return () que
marca el final de la funcin.
6. Mencione por lo menos 3 ventajas de las funciones?

R= Facilita el diseo descendente, los procedimientos dentro de ellas se
pueden ejecutar varias veces y facilita la divisin de tareas.
7. Qu son variable locales?

R=
ejecucin.
se termina.
8. Qu son variables globales?

R=
. Pueden ser utilizadas por todas las
funciones.

9. Qu son argumentos de funciones?

R= Son variables locales conocidas como parmetros formales y se utilizan
como un medio para entregarle informacin a la funcin.
Los parmetros formales reciben sus valores iniciales desde los parmetros
reales, es decir desde los valores que se les pasan a travs de la llamada.
10. Cules son la transferencia de informacin?

R= Por valor: copia el valor de un argumento de la llamada en el parmetro
formal de la funcin. Por lo tanto, los cambios en los parmetros de la funcin
no afectan a las variables que se usan en la llamada.
Por referencia: se copia la direccin del argumento en el parmetro. Los
cambios hechos a los parmetros afectan.
11. Qu es la funcin main?

R= La funcin main es la encargada de llamar las dems subrutinas del
programa, cuenta con dos argumentos de entrada; el primero es un nmero,
el cual nos indica cuntos argumentos fueron pasados por la lnea de
comando al programa y el segundo son cada uno de los argumentos en un
arreglo de cadenas de caracteres.
12. Cules son las funciones definidas por el usuario?

R= Las funciones de usuario son, como su nombre indica, las que el propio
usuario declara, de igual manera que declara procedimientos. Las funciones
nacen con el propsito de ser subprogramas que siempre tienen que
devolver algn valor.
13. Qu son funciones recursivas?
R= Son aquellas funciones que se llaman a s misma dentro de su
implementacin, deben contar con una regla de rompimiento que impida que
dicha funcin se quede en un ciclo infinito.
14. Las dos principales diferencias entre procedimientos y funciones son:?
R= Las funciones siempre devuelven un valor al programa que las invoc.
Para llamar a un procedimiento se escribe su nombre en el cuerpo del
programa, y si los necesita, se incluyen los parmetros entre parntesis. Para
invocar una funcin es necesario hacerlo en una expresin.
15. Es importante mantener claros dos trminos en las funciones definidas
por el usuario: ?
El trmino Argumento se refiere a la variable usada al llamar la funcin.
El trmino Parmetro Formal se refiere a la variable de una funcin que
recibe el valor de los argumentos.








INSTITUTO TECNOLOGICO DE SALINA CRUZ.
Ingeniera mecnica.
Algoritmos y Programacin
Prctica No. 1-A
Unidad No. 4
Nombre:
Marcelo Reyes Nolasco
Fecha: 7 de mayo del 2014
Temas involucrados del temario:
Funciones



a) Teclee el programa dado en clase.

#include <stdio.h>
#include <conio.h>
int par(int);
int main()
{
int numero,resultado;
printf ("\n\n Instituto Tecnologico de Salina Cruz");
printf ("\n\n Algoritmos y Programacion");
printf ("\n\n Unidad No. 4");
printf ("\n\n marcelo reyes nolasco");
printf ("\n\n No. de Control: 131020087");
printf ("\n\n Practica 1-A");
printf("Introduzca el numero: \n");
scanf("%i",&numero);
resultado=par(numero);
if(resultado==1)
printf("Es par \n");
else
printf("Es impar \n");
getch ();
}
int par(int numero)
{if(numero%2==0)
return (1);
else
return (0);
}















INSTITUTO TECNOLOGICO DE SALINA CRUZ.
Ingeniera mecnica.
Algoritmos y Programacin
Prctica No. 1-B
Unidad No. 4
Nombre:
Marcelo Reyes Nolasco
Fecha: 7 de mayo del 2014
Temas involucrados del temario:
Funciones

a) Teclee el programa dado en clase.

#include <stdio.h>
#include <conio.h>
float media(float,float);
int main()
{
float n1,n2,resultado;
printf ("\n\n Instituto Tecnologico de Salina Cruz");
printf ("\n\n Algoritmos y Programacion");
printf ("\n\n Unidad No. 4");
printf ("\n\n Marcelo Reyes Nolasco");
printf ("\n\n No. de Control: 131020087");
printf ("\n\n Practica 1-B");
printf ("\n\n**************************************************************** \n\n ");
printf("Introduzca un numero real: \n");
scanf("%f",&n1);
printf("Introduzca otro numero: \n");
scanf("%f",&n2);
resultado=media(n1,n2);
printf("La media es: %.2f \n",resultado);
getch();
}
float media(float n1,float n2)
{
float resultado;
resultado=(n1+n2)/2;
return(resultado);
}




INSTITUTO TECNOLOGICO DE SALINA CRUZ.
Ingeniera mecnica.
Algoritmos y Programacin
Prctica No. 1-C
Unidad No. 4
Nombre:
Marcelo Reyes Nolasco
Fecha: 7 de mayo del 2014
Temas involucrados del temario:
Funciones



a) Teclee el programa dado en clase.

#include <stdio.h>
#include <conio.h>
void saludo(void);
int main()
{
saludo();
getch();
}
void saludo()
{
printf ("\n\n Instituto Tecnologico de Salina Cruz");
printf ("\n\n Algoritmos y Programacion");
printf ("\n\n Unidad No. 4");
printf ("\n\n Marcelo Reyes Nolasco");
printf ("\n\n No. de Control: 131020087");
printf ("\n\n Practica 1-C");
printf ("\n\n**************************************************************** \n\n ");
}






INSTITUTO TECNOLOGICO DE SALINA CRUZ.
Ingeniera mecnica.
Algoritmos y Programacin
Prctica No. 1-D
Unidad No. 4
Nombre:
Marcelo Reyes Nolasco
Fecha: 7 de mayo del 2014
Temas involucrados del temario:
Funciones



a) Teclee el programa dado en clase.

#include <stdio.h>
#include <conio.h>
int pedir ();
int triple(int);
void saludo();
int main()
{
int numero, total;
saludo();
numero=pedir();
total=triple(numero);
printf("\nEl triple de %i es: %i\n", numero, total);
getch();
}
int pedir()
{
int n;
printf("Introduzca un numero entero: ");
scanf("%i", &n);
return(n);
}
int triple(int num)
{
int n;
n=3*num;
return(n);
}
void saludo()
{
printf ("\n\n Instituto Tecnologico de Salina Cruz");
printf ("\n\n Algoritmos y Programacion");
printf ("\n\n Unidad No. 4");
printf ("\n\n Marcelo Reyes Nolasco");
printf ("\n\n No. de Control: 131020087");
printf ("\n\n Practica 1-D");
printf ("\n\n**************************************************************** \n\n ");
}






INSTITUTO TECNOLOGICO DE SALINA CRUZ.
Ingeniera mecnica.
Algoritmos y Programacin
Prctica No. 2
Unidad No. 4
Nombre:
Marcelo Reyes Nolasco
Fecha: 8de mayo del 2014
Temas involucrados del temario:
Funciones


a) Teclee el programa dado en clase.

#include <stdio.h>
#include <conio.h>
#include <string.h>
void saludo();
char ultima(char cadena[11]);
int main()
{
char cadena [11], ultimocaracter;
saludo();
printf("\nIntrodusca una cadena: ");
gets(cadena);
ultimocaracter=ultima(cadena);
if (ultimocaracter=='\0')
printf("\nError: Cadena vacia");
else
printf("\nEl ultimo es: %c",ultimocaracter);
getch();
}
void saludo()
{
printf ("\n\n Instituto Tecnologico de Salina Cruz");
printf ("\n\n Algoritmos y Programacion");
printf ("\n\n Unidad No. 4");
printf ("\n\n Marcelo Reyes Nolasco");
printf ("\n\n No. de Control: 131020087");
printf ("\n\n Practica 2");
printf ("\n\n**************************************************************** \n\n ");
}
char ultima(char cadena[11])
{
int longitud;
char caracter;
longitud=strlen(cadena);
if (longitud==0)
caracter='\0';
else
caracter=cadena
[longitud-1];
return(caracter);
}






DIRECCIN GENERAL DE EDUCACIN SUPERIOR TECNOLGICA
INSTITUTO TECNOLGICO DE SALINA CRUZ
MATERIA
ALGORITMOS Y PROGRAMACION
MAESTRO
ROMAN NAJERA SUSANA MONICA
ALUMNO:
MARCELO REYES NOLASCO
CARRERA
INGENIERA MECNICA
SEMESTRE
2-B2
SALINA CRUZ, OAXACA 2014

INTRODUCCIN
Se pueden utilizar muchos lenguajes para programar una computadora. El
ms bsico es el lenguaje de maquina una coleccin de instrucciones muy
detallada que controla la circuitera interna de la mquina. Este es el dialecto
natural de la mquina. Muy pocos programas se escriben actualmente en
lenguaje de maquina por dos razones importantes: primero, porque el
lenguaje de maquina es muy incomodo para trabajar y segundo porque la
mayora de las maquinas se pide programar en diversos tipos de lenguajes
que son lenguajes de alto nivel, cuyas instrucciones son ms compatibles
con los lenguajes y la forma de pensar humanos como los es el lenguaje c
que adems es de propsito general.
Debido a que los programas diseados en este lenguaje se pueden ejecutar
en cualquier mquina, casi sin modificaciones. Por tanto el uso del lenguaje
de alto nivel ofrece tres ventajas importantes, sencillez, uniformidad y
portabilidad.



QU ES UN ARREGLO?
Un arreglo es una estructura de datos preparada para guardar valores
mltiples. Estos valores sern del mismo tipo (tendrn la misma definicin) y
sern referenciados a travs de un nombre nico. Estos valores se
estructuran en dimensiones.
La forma de distinguir un elemento de otro es por su ubicacin dentro de toda
la estructura. Para indicar esta posicin se utilizan uno o ms ndices, uno
para cada dimensin del arreglo.
A cada posicin dentro del arreglo se la denomina celda, y la cantidad de
celdas est determinada por el tamao de las dimensiones del arreglo.
Definicin de un arreglo
Para definir un arreglo escribimos
Tipo De Dato Arreglo[tamao dim 1][tamao dim 2][tamao dim N];
donde dim indica el tamao en celdas de esa dimensin.
La cantidad de dimensiones del arreglo determina su forma lgica.
Por ejemplo, la definicin de un arreglo para guardar la cantidad de das para
cada mes del ao sera

DIMENSIONES DE UN ARREGLO
En C, C++ y muchos otros lenguajes, el tamao de las estructuras no
coincide con el rango de valores de la dimensin. Por ejemplo, es muy
comn que, al definir...
int datos[3];
... uno imagine

MULTIDIMENSIONALIDAD
Llamamos Vectores a aquellos arreglos de una sola dimensin, y Matrices a
aquellos que tienen dos o ms dimensiones.
Intuitivamente podemos pensar que una matriz es un vector dentro de otro
vector.
Tambin podemos pensar a las matrices como tablas de doble entrada.
Los siguientes son ejemplos de declaraciones de vectores y matrices:
// para llevar la cuenta de la lluvia cada en el ao.
float lluviaPorMes[12];
// para llevar la cuenta de la lluvia cada cada da
// del ao, mes a mes.
float lluviaPorDia[12][31];





POSICIONAMIENTO
Al acto de ubicar una posicin dentro de la estructura se lo denomina
Posicionamiento.
ste puede ser Directo (de ahora en ms PD) o Indirecto (PI).
POSICIONAMIENTO DIRECTO
Usaremos PD cuando los valores para el rango:
Sean valores ordinales (int y char, bsicamente).
Sean consecutivos.
Cuando el dato que tenemos para ubicar lo que necesitamos, no es un
valor guardado en la estructura y se puede usar como ndice.

POSICIONAMIENTO INDIRECTO
Usaremos PI cuando los valores clave...
No sean valores ordinales.
O no sean consecutivos.
El rango posible sea muy distinto al tamao de la dimensin, o mayor.

En todos estos casos el valor que nos sirve para ubicar lo que deseamos es
un dato que debemos encontrar en alguna estructura, sea la misma u otra,
secundaria.
POSICIONAMIENTO
Relacionando estructuras
A veces, el ndice que nos ubica en una estructura nos sirve tambin para
acceder a otra. En este caso, las estructuras estn relacionadas mes a












CONCLUSIONES:
Los arreglos son eficaces aliados a la hora de guardar grupos de informacin.
Llamamos a los arreglos de una dimensin Vectores, y a las de dos o ms
dimensiones Matrices.
Toda la estructura comparte el mismo nombre, y distinguimos una celda de
otra por su posicin. La posicin de cada celda est determinada por su
coordenada, una por cada eje o dimensin.
Para ubicar un dato se utiliza Posicionamiento Directo o Indirecto. Se dice
que usamos Posicionamiento Indirecto siempre que necesitamos hacer una
bsqueda.
Podemos relacionar distintos arreglos para inventar estructuras de datos ms
complejas.






BIBLIOGRFICAS
PGINAS WEB
Algoritmo y programacin.2013.pgina consultada: 05 de junio del 2014.en
lnea. http://algoritmosmecatronica.blogspot.mx/2008/10/arreglos.html.
Algoritmos y lenguajes de programacin. BuenasTareas.com.
Recuperado 05, 2011, de http://www.buenastareas.com/ensayos/Algoritmos-
y-Lenguajes-De-Programacion/2268302.html
Arreglos (programacion). BuenasTareas.com. Recuperado 01, 2011, de
http://www.buenastareas.com/ensayos/Arreglos-Programacion/1442209.html










INSTITUTO TECNOLGICO DE SALINA CRUZ
Materia:
ALGORITMOS Y PROGRAMACIN
Unidad 5
Alumno:
MARCELO REYES NOLASCO
Maestra:
ROMN NJERA SUSANA MNICA
Carrera:
INGENIERA MECNICA
Semestre Y Grupo:
2 (B2)
SALINA CRUZ OAXACA





















NSTITUTO TECNOLGICO DE SALINA CRUZ
MATERIA
ALGORITMOS Y PROGRAMACION
MAESTRO
ROMAN NAJERA SUSANA MONICA
ALUMNO:
MARCELO REYES NOLASCO
CARRERA
INGENIERA MECNICA
SEMESTRE
2-B2
SALINA CRUZ, OAXACA 2014


Introduccin
Como vimos anteriormente, las estructuras de datos son aquellas cuya
ocupacin de memoria puede aumentar o disminuir durante el tiempo de
ejecucin. Mediante los punteros, tema que estudiaremos a continuacin,
podemos crear estructuras de datos dinmicas que tienen capacidad de
variar en tamao y ocupar tanta memoria como realmente requieran. Estas
estructuras son llamadas punteros.








Punteros
Un puntero es una variable que contiene una direccin de memoria, y
utilizando punteros su programa puede realizar muchas tareas que no sera
posible utilizando tipos de datos estndar .En este captulo se estudiarn los
diferentes aspectos de los punteros
Cada vez que se declara una variable C, el compilador establece un rea de
memoria para almacenar el contenido de la variable. Cuando se declara una
variable i n t (entera), por ejemplo, el compilador asignados bytes de
memoria. El espacio para esa variable se sita en una posicin especfica de
la memoria, conocida como direccin de memoria. Cuando se referencia (se
hace uso) al valor de la variable, el compilador de C accede automticamente
a la direccin de memoria donde se almacena el entero. Se puede ganar en
eficacia en el acceso a esta direccin de memoria utilizando un puntero.
Declaracin de punteros
Al igual que cualquier variable, las variables punteros han de ser declaradas
antes de utilizarlas. La declaracin de una variable puntero debe indicar al
compilador el tipo de dato al que apunta el puntero para ello se hace
preceder a su nombre con un asterisco (*), mediante el siguiente formato:
<tipo de dato apuntado> *<identificador de puntero>
Un operador * en una declaracin indica que la variable declarada
almacenar una direccin de un tipo de dato especificado. La variable ptrl
almacenar la direccin de un entero, la variable ptr2 almacenar la direccin
de un dato tipo long, etc.
Siempre que aparezca un asterisco ( * ) en una definicin de una variable,
sta es una variable puntero.
Inicializacin* (iniciacin) de punteros
AI igual que otras variables, C no inicializa los punteros cuando se declaran y
es preciso inicializarlos antes de su uso. La inicializacin de un puntero
proporciona a ese puntero la direccin del dato correspondiente. Despus de
la inicializacin, se puede utilizar el puntero para referenciar los datos
direccionados. Para asignar una direccin de memoria a un puntero se utiliza
el operador de referencia (&). As, por ejemplo, & valor
Significa la direccin de valor. Por consiguiente, el mtodo de inicializacin
(iniciacin), tambin denominado esttico, requiere:
Asignar memoria (estticamente) definiendo una variable y a continuacin
hacer que el puntero apunte al valor de la variable.
int i; / * define una variable i * /
int *p; / * define un puntero a un entero p*/
p = &i; /* asigna la direccin de i a p * /
Asignar un valor a la direccin de memoria.
*p = 50;
Cuando ya se ha definido un puntero, el asterisco delante de la variable
puntero indica el contenido de en de la memoria apuntada por el puntero y
ser del tipo dado. Este tipo de inicializacin es esttica, ya que la asignacin
de memoria utilizada para almacenar el valor es fijo y no puede desaparecer.
Una vez que la variable se define, el compilador establece suficiente memoria
para almacenar un valor del tipo de dato dado. La memoria permanece
reservada para esta variable y no se puede utilizar para otra cosa durante la
ejecucin del programa. En otras palabras, no se puede liberar la memoria
reservada para una variable. El puntero a esa variable se puede cambiar,
pero permanecer la cantidad de memoria reservada.
El operador devuelve la direccin de la variable a la cual se aplica,
Es un error asignar un valor, a un contenido de una variable puntero si
previamente no se ha inicializado con la direccin de una variable, o bien se
le ha asignado dinmicamente memoria. Por ejemplo:
float* px; / * puntero a float * /
*px = 23.5; / * error, px no contiene direccin * /
Indireccin de punteros
Cuando ya se ha definido un puntero, el asterisco delante de la variable
puntero indica el contenido de en de la memoria apuntada por el puntero y
ser del tipo dado. Este tipo de inicializacin es esttica, ya que la asignacin
de memoria utilizada para almacenar el valor es fijo y no puede desaparecer.
Una vez que la variable se define, el compilador establece suficiente memoria
para almacenar un valor del tipo de dato dado.
El operador devuelve la direccin de la variable a la cual se aplica,
Es un error asignar un valor, a un contenido de una variable puntero si
previamente no se ha inicializado con la direccin de una variable, o bien se
le ha asignado dinmicamente memoria. Por ejemplo:
float* px; / * puntero a float * /
*px = 23.5; / * error, px no contiene direccin * /
Punteros y verificacin de tipos
Los punteros se enlazan a tipos de datos especficos, de modo que C
verificar si se asigna la direccin de un tipo de dato al tipo correcto de
puntero. As, por ejemplo, si se define un puntero a float, no se le puede
asignar la direccin de un carcter o un entero. Por ejemplo, este segmento
de cdigo no funcionar:
float *fp;
char c;


fp = &c; / * no es vlido * /

C no permite la asignacin de la direccin de c a f p, ya que f p es una
variable puntero que apunta a datos de tipo real, float.
C requiere que las variables puntero diseccionen realmente variables del
mismo tipo de dato que est ligado a los punteros en sus declaraciones.
Forma de declarar un puntero nulo es asignar un valor de O. Por
ejemplo,
int *ptr = (int * ) O; / * ptr es un puntero nulo * /
Nunca se utiliza un puntero nulo para referenciar un valor. Como antes se ha
comentado, los punteros nulos se utilizan en un test condicional para
determinar si un puntero se ha inicializado.
Punteros a Punteros
Un puntero puede apuntar a otra variable puntero. Este concepto se utiliza
con mucha frecuencia en programas complejos de C. Para declarar un
puntero a un puntero se hace preceder a la variable con dos asteriscos ( * * )
.
En el ejemplo siguiente ptr5 es un puntero a un puntero.
int valor-e = 100;
i n t *ptrl = &valor-e;
int **ptr5 = &ptrl;

Punteros y Arrays
Los arrays y punteros estn fuertemente relacionados en el lenguaje C. Se
pueden direccionar arrays como si fueran punteros y punteros como si fueran
arrays. La posibilidad de almacenar y acceder a punteros y arrays, implica
que se pueden almacenar cadenas de datos en elementos de arrays. Sin
punteros
eso no es posible, ya que no existe el tipo de dato cadena (string) en C. No
existen variables de cadena. nicamente constantes de cadena.
Nombres de arrays como punteros
Un nombre de un array es simplemente un puntero. Supongamos que se
tiene la siguiente declaracin de un array:
int lista[5] = 110, 20, 3 0 , 40, 501;
Por consiguiente, para imprimir (visualizar), almacenar o calcular un elemento
de un array, se puede utilizar notacin de subndices o notacin de punteros.
Dado que un nombre de un array contiene la direccin del primer elemento
del array, se debe in direccionar el puntero para obtener el valor del
elemento.
El nombre de un array es un puntero, contiene la direccin en memoria de
comienzo de la secuencia de elementos que forma el array. Es un puntero
constante ya que no se puede modificar, slo se puede acceder para indexar
a los elementos del array. En el ejemplo se pone de manifiesto operaciones
correctas y errneas con nombres de array.
Punteros de Cadenas
Los punteros se pueden utilizar en lugar de ndices de arrays. Considrese la
siguiente declaracin de un array de caracteres que contiene las veintisis
letras del alfabeto internacional
Punteros versus arrays
El siguiente programa implementa una funcin para contar el nmero de
caracteres de una cadena. Primer programa, la cadena se describe utilizando
un array, y en el segundo, se describe utilizando un puntero.
Aritmtica de punteros
Al contrario que un nombre de array, que es un puntero constante y no se
puede modificar, un puntero es una variable que se puede modificar. Como
consecuencia, se pueden realizar ciertas operaciones aritmticas sobre
punteros.
Punteros constantes
Para crear un puntero constante diferente de un nombre de un array, se debe
utilizar el siguiente formato:
<tipo de dato > *const <nombre puntero> = <direccin de variable >;
Como ejemplo de una definicin de punteros de constantes, considrense las
siguientes sentencias:
int x;
int y;
int *const pl = &x;

pl es un puntero de constantes que apunta a x, por lo que pl es una
constante, pero *pl es una variable. Por consiguiente, se puede cambiar el
valor de *pl , pero no pl .Por ejemplo, la siguiente asignacin es legal, dado
que se cambia el contenido de memoria a donde apunta PI, pero no el
puntero en s.
Punteros a constantes
El formato para definir un puntero a una constante es:
const <tipo de dato elemento> *<nombre puntero> =

<direccin de constante >;
Una definicin de un puntero constante tiene la palabra reservada const
delante del nombre del puntero, mientras que el puntero a una definicin
constante requiere que la palabra reservada const se site antes del tipo de
dato. As, la definicin en el primer caso se puede leer como punteros
constante o de constante, mientras que en el segundo caso la definicin se
lee puntero a tipo constante de dato
La creacin de un puntero a una constante cadena se puede hacer del modo
siguiente:
const char *apellido = "Remirez";

En el prototipo de la siguiente funcin se declara el argumento como puntero
a una constante:
float cargo (const float "v) ;

Punteros constante frente a punteros a constantes
Ya est familiarizado con punteros constantes, como es el caso de un
nombre de un array. Un puntero constante es un puntero que no se puede
cambiar, pero que los datos apuntados por el puntero pueden ser cambiados.
Por otra parte, un puntero a una constante se puede modificar para apuntar a
una constante diferente, pero los datos apuntados por el puntero no se
pueden cambiar.
El ltimo caso a considerar es crear punteros constantes a constantes
utilizando el formato siguiente:
Const <tipo de dato elemento> *const <nombre puntero> =
<direccin de constante >;
Esta definicin se puede leer como <<un tipo constante de dato y un puntero
constante. Un ejemplo
const int x = 25;
const int "const pl = &x;

Que indica: PI es un puntero constante que apunta a la constante entera x.
Cualquier intento de modificar pl o bien *pl producir un error de compilacin.
Regla:
Si sabe que un puntero siempre apuntar a la misma posicin y nunca
necesita ser reubicado
Si sabe que el dato apuntado por el puntero nunca necesitar cambiar, defina
el puntero como (recolocado), defnalo como un puntero constante. un
puntero a una constante.

Punteros como argumentos de funciones
Con frecuencia se desea que una funcin calcule y devuelva ms de un
valor, o bien se desea que una funcin modifique las variables que se pasan
como argumentos. Cuando se pasa una variable a una funcin (paso por
valor) no se puede cambiar el valor de esa variable. Sin embargo, si se pasa
un puntero a una variable a una funcin (paso por direccin) se puede
cambiar el valor de la variable. Cuando una variable es local a una funcin,
se puede hacer la variable visible a otra funcin pasndola como argumento.
Se puede pasar un puntero a una variable local como argumento y cambiarla
variable en la otra funcin.
Punteros a funciones
Hasta este momento se han analizado punteros a datos. Es posible declarar
punteros a cualquier tipo de variables, estructura o array. De igual modo, las
funciones pueden declarar parmetros punteros para permitir que sentencias
pasen las direcciones de los argumentos a esas funciones .Es posible
tambin crear punteros que apunten a funciones. En lugar de direccionar
datos, los punteros de funciones apuntan a cdigo ejecutable. Al igual que los
datos, las funciones se almacenan en memoria y tienen direcciones iniciales.
En C se pueden asignar las direcciones iniciales de funciones a punteros.
Tales
funciones se pueden llamar en un modo indirecto, es decir, mediante un
puntero cuyo valor es igual a la direccin inicial de la funcin en cuestin.
La sintaxis general para la declaracin de un puntero a una funcin es:
Tipo-de-retorno (*PunteroFuncion) (<lista de parmetros>);

Este formato indica al compilador que PunteroFunci es un puntero a una
funcin que devuelve
El tipo Tipo-de-retorno y tiene una lista de parmetros.
Un puntero a una funcin es simplemente un puntero cuyo valor es la
direccin del nombre de la funcin. Dado que el nombre es, en s mismo, un
puntero; un puntero a una funcin es un puntero a un puntero constante.
Inicializacin de un puntero a una funcin
La funcin asignada debe tener el mismo tipo de retorno y lista de
parmetros que el puntero a funcin; en caso contrario, se producir un error
de compilacin. As,
Los punteros a funciones tambin permiten pasar una funcin como un
argumento a otra funcin .Para pasar el nombre de una funcin como un
argumento funcin, se especifica el nombre de la funcin como argumento.
Supongamos que se desea pasar la funcin m i f unc ( ) a la funcin suf unc (
)
Aplicacin de punteros a funcin para ordenacin
Algunas de las funciones de la biblioteca, tal como qsort ( ) o bsearch( ) ,
requieren pasar un argumento que consta de un puntero a una funcin. Se
debe pasar a ambas, qsort ( ) y bsearch ( ) , un puntero de funcin que
apunta
hacia una funcin que se debe definir. Qsort ( ) utiliza el algoritmo de
ordenacin rpida (quicksort) para ordenar un array de cualquier tipo de dato.
Bsearch ( ) utiliza la bsqueda binaria para determinar si un elemento est en
un array. La funcin que debe de proporcionarse es para realizar
comparaciones de elementos de array. En el programa siguiente, la funcin
comparar ( )se pasa a qsort ( y a bsearch ( ) . La funcin comparar ( )
compara entradas del array tabla y devuelve (retorna) un nmero negativo si
argl es menor que arg2, devuelve cero si son iguales, o un nmero positivo si
argl es mayor que arg2 .
Arrays de punteros de funciones
Ciertas aplicaciones requieren disponer de numerosas funciones, basadas en
el cumplimiento de ciertas condiciones. Un mtodo para implementar tal
aplicacin es utilizar una sentencia switch con muchos selectores case. Otra
solucin es utilizar un array de punteros de funcin. Se puede seleccionar
una funcin de la lista y llamarla.
La sintaxis general de un array de punteros de funcin es:
Tipo Retorno(*PunteroFunc[LongArray])( <Lista de parmetros>);

Punteros a estructuras
Un puntero tambin puede apuntar a una estructura. Se puede declarar un
puntero a una estructura tal como se declara un puntero a cualquier otro
objeto y se declara un puntero estructura tal como se declara cualquier otra
variable estructura: especificando un puntero en lugar del nombre de la
variable estructura.
struct persona
{
char nombre [30 I ;


int edad;
int altura;
int peso;
} ;
struct persona empleado = {"Amigo, Pepe", 47, 182, 85);
struct persona *p; / * se crea un puntero de estructura * /
p = &empleado;
Cuando se referencia un miembro de la estructura utilizando el nombre de la
estructura, se especifica la estructura y el nombre del miembro separado por
un punto (.). Para referenciar el nombre de un apersona, utilice empleado.
nombre. Se referencia una estructura utilizando el puntero estructura. Se
utiliza el operador -> para acceder a un miembro de ella.


CONCLUSIONES
Como hemos visto los punteros es necesario para ejecutar un comando e
realizar una programacin ya que son puntos de inicio que da a corregir fallas
y son puntos de claves para hacer funcionar el dicho programa
Esto demuestra gran importancias se puede decir que sin esto punteros el
programa no funciona ya que no hay inicio y no hay un comando que el vea
para ejecutar as lo hemos visto y en podido entender todo eso.











BIBLIOGRAFAS
http://gbenussi.wordpress.com/2012/04/26/punteros-en-cc/
http://html.rincondelvago.com/apuntadores-en-lenguajes-de-
programacion.html


















INSTITUTO TECNOLOGICO DE SALINA CRUZ.
Ingeniera mecnica.
Algoritmos y Programacin
Prctica No. 1,2,3,4,5
Unidad No. 6
Nombre:
Marcelo Reyes Nolasco
Fecha: junio del 2014



Practica 1



Practica 2










Practica 3


Practica 4


Practica 5










DIRECCIN GENERAL DE EDUCACIN SUPERIOR TECNOLGICA
INSTITUTO TECNOLGICO DE SALINA CRUZ
UNIDAD 7: CADENAS
MATERIA
ALGORITMO Y PROGRAMACIN.
MAESTRA:
ROMN NJERA SUSANA MNICA
ALUMNO
MARCELO REYES NOLASCO
CARRERA:
INGENIERA MECNICA
SEMESTRE Y GRUPO
2 (B2)
SALINA CRUZ, OAXACA MAYO 2014

INTRODUCCIN
Las cadenas de caracteres son arreglos unidimensionales usados en C.
Estos permiten generar mensajes en modo texto usando el cdigo ASCII. Sin
embargo, los caracteres a bajo nivel siguen siendo tratados como bytes. El
lenguaje C provee una biblioteca para el manejo de las cadenas cuyas
funciones estn declaradas en el archivo de cabecera string.h string.h
string.h.










CADENAS DE CARACTERES
Una cadena en C es un conjunto de caracteres, o valores de tipo "char",
terminados con el carcter nulo (\0). Internamente se almacenan en
posiciones consecutivas de memoria.
Como se declaran las Cadenas de Caracteres
Las cadenas de caracteres se declaran como vectores de tipo char.

H
O
L
A
\0
0 1 2 3 4
char cadena[100]; //cadena de caracteres
El acceso a los elementos (letras) de una cadena de caracteres es
anlogo al acceso en el caso de vectores de nmeros: cadena[7]='F'; //
hacemos referencia al carcter que ocupa la posicin 8.
COMO ACCEDER A LOS ELEMENTOS DE UNA CADENA
El acceso a los elementos (letras) de una cadena de caracteres es
anlogo al acceso en el caso de vectores de nmeros: cadena[2]=L'; //
hacemos referencia al carcter que ocupa la posicin 3.
COMO IDENTIFICAR EL FIN DE UNA CADENA
Las cadenas de caracteres utilizan un caracter especial (el caracter
nulo, que se escribe '\0') para indicar el final de la cadena.
cadena[0]='H';
cadena[1]='o';
cadena[2]='l';
cadena[3]='a';
cadena[4]='\0';
En cualquier momento se puede conocer la longitud de una cadena
mediante un bucle while que busque el caracter '\0.
COMO ASIGNAR VALORES A UNA CADENA
La manera correcta de asignar una cadena es:
char cadena[5];
cadena [0] = 'H';
cadena [1] = 'O';
cadena [2] = 'L';
cadena [3] = 'A';
cadena [4] = '\000';
O bien:
char cadena[5]=Hola;
FUNCIN PARA LECTURA DE CADENAS
Funcin gets
gets(char *s )
Lee caracteres desde el teclado, incluyendo los espacios hasta que
encuentra un ENTER.
El ENTER es reemplazado por un carcter nulo y el string resultante
es colocado en la direccin indicada por s. Retorna s.
FUNCIN PARA ESCRITURA DE CADENAS
Funcin puts
puts( char *s )
Escribe un string hacia la pantalla. Luego de impreso el string agrega
automticamente un \n. Solo es aplicable a variables del tipo string.
COPIAR CADENAS
char s[20] = "ab";
char s2[20];
strcpy (s2, s);
Permite copiar una cadena a otra.
Un error muy frecuente es intentar copiar con el operador de
asignacin (s2 = s;). Esto no es vlido, pues en C no est permitido
copiar vectores.
char *strncpy(char *destino, char *origen, int n )
Copia n caracteres del string "origen" , NO incluyendo el carcter nulo,
si la cantidad de caracteres copiada es menor que strlen(origen) + 1,
en la direccin apuntada por "destino". n es un nmero entero y
deber ser menor que la memoria reservada y apuntada por destino.
EJEMPLO DE STRNCPY
char strorigen[] = "0123456789" ;
char strdestino[] = "ABCDEFGHIJ" ;
strncpy( strdestino , strorigen , 5 ) ;
Los strings quedaran, luego de la copia:
strdestino[] == 0 , 1 , 2 , 3 , 4 , F , G , H , I , J , \0
Longitud de una cadena
Funcin strlen
int strlen(char *s )
Retorna un entero con la cantidad de caracteres del
string. No toma en cuenta al \0. Por lo que la
memoria real necesaria para albergar al string es
1+strlen(s).


CONCLUSIONES
En programacin, una cadena de caracteres, palabra, ristra de
caracteres o frase (string en ingls) es una secuencia ordenada de
longitud arbitraria (aunque finita) de elementos que pertenecen a un
cierto lenguaje formal o alfabeto anlogas a una frmula o a una
oracin. En general, una cadena de caracteres es una sucesin de
caracteres (letras, nmeros u otros signos o smbolos).
Desde un punto de vista de la programacin, si no se ponen
restricciones al alfabeto, una cadena podr estar formada por
cualquier combinacin finita de todo el juego de caracteres disponibles
(las letras de la 'a' a la 'z' y de la 'A' a la 'Z', los nmeros del '0' al '9', el
espacio en blanco ' ', smbolos diversos '!', '@', '%', etc). En este
mismo mbito (el de la programacin),






BIBLIOGRAFAS
PGINAS WEB
Cadena de caracteres. 2013.pgina consultada: 17 de junio del
2014.en lnea.http://es.wikipedia.org/wiki/Cadena_de_caracteres.
Cadena de caracteres. 2013. pgina consultada: 17 de junio del
2014.en lnea.
http://platea.pntic.mec.es/vgonzale/cyr_0204/cyr_01/control/lengua_C/
cadenas.htm









Sntesis
CADENA LENGUAJE C++
una cadena de caracteres, palabra, ristra de
caracteres o frase (string en ingls) es una secuencia ordenada de
longitud arbitraria (aunque finita) de elementos que pertenecen a un
cierto lenguaje formal o alfabeto anlogas a una frmula o a
una oracin. En general, una cadena de caracteres es una sucesin
de caracteres (letras, nmeros u otros signos o smbolos).
Desde un punto de vista de la programacin, si no se ponen
restricciones al alfabeto, una cadena podr estar formada por
cualquier combinacin finita de todo el juego de caracteres disponibles
(las letras de la 'a' a la 'z' y de la 'A' a la 'Z', los nmeros del '0' al '9', el
espacio en blanco ' ', smbolos diversos '!', '@', '%', etc). En este
mismo mbito (el de la programacin), se utilizan normalmente como
un tipo de dato predefinido, para palabras, frases o cualquier otra
sucesin de caracteres. En este caso, se almacenan en un vector de
datos, o matriz de datos de una sola fila (array en ingls). Las cadenas
se pueden almacenar fsicamente:
Qu es un dato de tipo cadena en C?
De todos los tipos de datos que no son bsicos se dice que son
derivados, ya que, estn basados en alguno que s lo es. Por ejemplo,
los datos de tipo cadena son aquellos que pueden tomar por valor una
secuencia de caracteres.
En lenguaje C, el valor de un dato de tipo cadena se debe representar
entre comillas dobles (").
Ejemplo: El ttulo de un libro y el nombre de su autor, son datos de tipo
cadena.
Ttulo...: "La Odisea" (cadena de 9 caracteres)
Autor....: "Homero" (cadena de 6 caracteres)
Obsrvese que, en la cadena "La Odisea", el carcter espacio en
blanco tambin se cuenta.







INSTITUTO TECNOLOGICO DE SALINA CRUZ.
Ingeniera mecnica.
Algoritmos y Programacin
Practica No. 1.2.3
Unidad No. 7
Nombre:
MARCELO REYES NOLASCO
Fecha: 17 de junio del 2014




























INSTITUTO TECNOLOGICO DE SALINA CRUZ
ASIGNATURA
ALGORITMO Y PROGRAMACIN
UNIDAD 8
SNTESIS
TEMA
ESTRUCTURAS
DOCENTE
ROMN NJERA SUSANA MONICA
ALUMNO
MARCELO REYES NOLASCO
CARRERA
INGENIERA MECNICA
SEMESTRE Y GRUPO
2.2B2
SNTESIS
ESTRUCTURAS
Una estructura es un tipo de dato compuesto que permite almacenar
un conjunto de datos de diferente tipo. Los datos que contiene una
estructura pueden ser de tipo simple (caracteres, nmeros enteros o
de coma flotante etc.) o a su vez de tipo compuesto (vectores,
estructuras, listas, etc.).
A cada uno de los datos o elementos almacenados dentro de una
estructura se les denomina miembros de esa estructura y stos
pertenecern a un tipo de dato determinado.
struct: es una palabra reservada de C que indica que los elementos
que vienen agrupados a continuacin entre llaves componen una
estructura.
nombre_estructura: identifica el tipo de dato que se describe y del
cual se podrn declarar variables. Se especifica entre corchetes para
indicar su opcionalidad.
miembro1, miembro2,...: Son los elementos que componen la
estructura de datos, deben ser precedidos por el tipo_dato al cual
pertenecen.
Recordemos que una estructura define un tipo de dato, no una
variable, lo que significa que no existe reserva de memoria cuando el
compilador est analizando la estructura. Posteriormente habr que
declarar variables del tipo definido por la estructura para poder
almacenar y manipular datos.
La declaracin de variables de un determinado tipo de estructura de
datos se puede realizar de dos modos:
1. Primera: Incluir en la propia definicin de la estructura aquellas
variables que se van a emplear en el programa. Esta declaracin de
variables implica que el mbito en el que stas son reconocidas ser
el mismo que el de la declaracin del tipo de dato estructura. En estos
casos, y si no se van a declarar ms variables de
este tipo de dato en otros lugares del programa, el nombre_estructura
es innecesario, por ello viene entre corchetes.
Ejemplo: estructura de una tarjeta bancaria, utilizando esta primera
forma:
struct {
long_int num_tarjeta;
char tipo_cuenta;
char nombre [80];
float saldo;
} cliente1, cliente2;
2. Segunda: Definir el tipo de dato estructura con un nombre
determinado y declarar posteriormente las variables de ese tipo de
dato. Para ello la estructura se identificar con un nombre de forma
obligatoria.
Ejemplo: estructura de una tarjeta bancaria, utilizando la segunda
forma:
struct {
long_int num_tarjeta;
char tipo_cuenta;
char nombre [80];
float saldo;
}
struct tarjetas cli1, cli2;}






















APORTACIONES SOBRE LA MATERIA DE ALGORITMOS Y
PROGRAMACIN
M.C. Susana Mnica Romn Njera
Antes de comenzar mi aportacin sobre la materia, quiero agradecer a
la docente que imparti bien la materia, gracias por tener paciencia as
nosotros, muchas gracias. Buena dinmica de la maestra. Ojala que
se pueda modificar el temario para as mismo poder abarcar todas las
unidades.
Comenzare hablar de la primera unidad de la materia que se llama
introduccin a la computacin, Si hablamos de Computadoras es
importante conocer su evolucin hasta nuestros das. Las primeras
Computadoras Personales (PC) eran dispositivos electrnicos del
tamao de un saln de clases, no eran tan rpidas como las actuales y
eran muy complejas de manejar.
En la segunda unidad nos OPERADORES, VARIABLES,
CONSTANTES, TIPOS DE DATOS Y EXPRESIONES como juega un
papel muy importante en el mundo de la programacin. Sera bueno
extender ms el tema y tener ms hora para la unidad.
La 3 unidad hablamos Control de flujo de programa en esta unidad nos
qued claro cmo est bien estructura, y como lleva una secuencia
para llevar acabo
la programacin, como llevamos a la prctica los trabajos con el
programa borland c++ algo nuevo para m pero est bien que lleven a
la prctica.
4 unidad llamado funciones bsicos nos metimos ms afondo de lo
que es la programacin como pude ver que para realizar cualquier
ejecucin debe de llevar 3 partes muy importan inicio, contenido, fin.
Y pues de las unidades 5, 6,7,8 por causa del tiempo no pudimos
extender muy bien estas unidades.
Y pues agradezco al docente por impartir la materia excelente su
forma de trabajar y tiene una dinmica muy bien estructurado.

GRACIAS

Das könnte Ihnen auch gefallen