<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>AppleNeXt &#187; C-Objective</title>
	<atom:link href="http://www.applenext.com/tag/c-objective/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.applenext.com</link>
	<description>Ayuda iPad, Ayuda Mac, Ayuda iPhone, Resuelve tus Dudas, Noticias Apple...</description>
	<lastBuildDate>Thu, 26 Jan 2012 14:03:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Programar en Mac: Nuevo Xcode 4</title>
		<link>http://www.applenext.com/2010/06/programar-en-mac-nuevo-xcode-4/</link>
		<comments>http://www.applenext.com/2010/06/programar-en-mac-nuevo-xcode-4/#comments</comments>
		<pubDate>Sun, 20 Jun 2010 13:19:56 +0000</pubDate>
		<dc:creator>enostrum</dc:creator>
				<category><![CDATA[Programar en Mac]]></category>
		<category><![CDATA[Apps]]></category>
		<category><![CDATA[C-Objective]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[iPod]]></category>
		<category><![CDATA[iTunes]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[programar]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Xcode]]></category>

		<guid isPermaLink="false">http://www.applenext.com/?p=2446</guid>
		<description><![CDATA[Al acabar la WWDC, Apple entregó a los desarrolladores que asistieron una versión de prueba de su nuevo IDE (Entorno de Desarrollo Integrado), Xcode 4. Con Xcode 4 puedes desarrollar aplicaciones para iPhone, iPad, iPod Touch y para cualquier Mac todavía más rápida y fácilmente. También puedes crear Widgets de Dashboard o crear WebApps, mientras [...]]]></description>
			<content:encoded><![CDATA[<img width="526" height="200" src="http://www.applenext.com/wp-content/themes/bigfeature/library/timthumb/timthumb.php?src=/wp-content/uploads/2010/06/applenext-programar-en-mac.png&amp;w=526&amp;h=200&amp;zc=0" alt="Programar en Mac: Nuevo Xcode 4" /><p style="text-align: justify;">Al acabar la <strong>WWDC</strong>, Apple entregó a los desarrolladores que asistieron una <strong>versión de prueba</strong> de su nuevo IDE (Entorno de Desarrollo Integrado), <strong>Xcode 4.</strong></p>
<p style="text-align: justify;">Con Xcode 4 puedes desarrollar aplicaciones para <strong>iPhone</strong>, <strong>iPad</strong>, <strong>iPod Touch</strong> y para cualquier <strong>Mac</strong> todavía más rápida y fácilmente.</p>
<p style="text-align: justify;">También puedes crear <strong>Widgets</strong> de Dashboard o crear <strong>WebApps</strong>, mientras analizas el funcionamiento de tus aplicaciones.<span id="more-2446"></span></p>
<p style="text-align: justify;"><strong>Xcode 4 </strong>tiene una <strong>nueva interfaz</strong> de usuario y el flujo de trabajo ha sido rediseñado, además incluye <strong>mejoras y nuevos componentes</strong> para compilar, depurar (debug) y encontrar errores y problema comunes. El resultado es un programa más rápido, sencillo y productivo para los desarrolladores.</p>
<p style="text-align: justify;">La <strong>mayor novedad</strong> es el uso de una <strong>ventana única</strong> y la integración de Interface Builder en Xcode. Hereda algunos elementos de iTunes como la pantalla similar a LCD de la parte superior que proporciona diferente información según cada momento.</p>
<p style="text-align: justify;"><a href="http://www.applenext.com/wp-content/uploads/2010/06/xcode4.001.jpg"><img class="size-medium wp-image-2447 alignnone" title="xcode4.001" src="http://www.applenext.com/wp-content/uploads/2010/06/xcode4.001-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p style="text-align: justify;">Ahora <strong>Interface Builder</strong> está incluido en Xcode por lo que la manee de programar aplicaciones será más rápida pero ligeramente diferente (<strong>actualizaremos los tutoriales</strong> que tenemos preparados para publicarlos directamente en <strong>Xcode 4</strong>).</p>
<p style="text-align: justify;">Nuevos asistentes y vistas duales permiten <strong>trabajar simultáneamente</strong> en el código y la interfaz de una aplicación.</p>
<p style="text-align: justify;"><a href="http://www.applenext.com/wp-content/uploads/2010/06/xcode4.002.jpg"><img class="alignnone size-medium wp-image-2450" title="xcode4.002" src="http://www.applenext.com/wp-content/uploads/2010/06/xcode4.002-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p style="text-align: justify;">Las mejoras en la depuración del código incluyen <strong>Fixit</strong> (una especia de corrector ortográfico para funciones, clases, variables, etc.) o versiones mejoradas de otras como <strong>Análisis Estático</strong> que es capaz de predecir errores y &#8220;leak&#8221; de memoria <strong>antes</strong> de ejecutar la aplicación. Además incluye un utilidad para <strong>comparar archivos</strong> a lo largo del tiempo con una interfaz parecida a Time Machine.</p>
<p style="text-align: justify;"><a href="http://www.applenext.com/wp-content/uploads/2010/06/xcode4.003.jpg"><img class="alignnone size-medium wp-image-2451" title="xcode4.003" src="http://www.applenext.com/wp-content/uploads/2010/06/xcode4.003-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p style="text-align: justify;">También incluirá una <strong>nueva versión de Instruments</strong>, la utilidad con la que podrás analizar el funcionamiento de tus aplicaciones y cada pequeño detalle de estas. Un <strong>nuevo compilador LLVM</strong> mucho más rápido y eficaz tendrá presencia en Xcode 4, capaz de compilar y ejecutar código de Mac un 25% más rápido y código de iOS un 60%.</p>
<p style="text-align: justify;">Todavía <strong>no hay una fecha de salida concreta</strong> para Xcode 4 pero los que la han probado coinciden es su <strong>estabilidad</strong> y en lo <strong>rápido</strong> y <strong>cómodo</strong> que es.</p>
<p style="text-align: justify;">Esperemos que pronto Apple decida lanzar la versión final, y que todos vayamos aprendiendo a hacer <strong>aplicaciones para iPhone</strong> 4 con esta nueva versión.</p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.applenext.com%2F2010%2F06%2Fprogramar-en-mac-nuevo-xcode-4%2F&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></content:encoded>
			<wfw:commentRss>http://www.applenext.com/2010/06/programar-en-mac-nuevo-xcode-4/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Programar en Mac 03: Las funciones (y III)</title>
		<link>http://www.applenext.com/2010/05/programar-en-mac-03-las-funciones-y-iii/</link>
		<comments>http://www.applenext.com/2010/05/programar-en-mac-03-las-funciones-y-iii/#comments</comments>
		<pubDate>Sun, 23 May 2010 20:21:09 +0000</pubDate>
		<dc:creator>Alejo Miranda</dc:creator>
				<category><![CDATA[Programar en Mac]]></category>
		<category><![CDATA[C-Objective]]></category>
		<category><![CDATA[programar]]></category>
		<category><![CDATA[SDK]]></category>
		<category><![CDATA[Xcode]]></category>

		<guid isPermaLink="false">http://www.applenext.com/?p=2148</guid>
		<description><![CDATA[Haciendo que todo funcione Como puedes ver en el último ejemplo de la 2ª parte [10], tenemos la función principal “main()” [10.1] y otra función que definimos nosotros mismos [10.13].  Si tuviéramos que compilar ese código, el compilador aún encontraría obstáculos. En la línea [10.8] podría demandar no conocer ninguna función llamada circleArea(). ¿Por qué? [...]]]></description>
			<content:encoded><![CDATA[<img width="526" height="200" src="http://www.applenext.com/wp-content/themes/bigfeature/library/timthumb/timthumb.php?src=/wp-content/uploads/2010/05/Programar-en-Mac03C.jpg&amp;w=526&amp;h=200&amp;zc=0" alt="Programar en Mac 03: Las funciones (y III)" /><h3 style="text-align: justify;"><strong><span style="color: #993366;">Haciendo que todo funcione</span></strong></h3>
<p style="text-align: justify;"><strong><span style="color: #993366;"> </span></strong></p>
<p style="text-align: justify;">Como puedes ver en el último ejemplo de la 2ª parte [10], tenemos la función principal “main()” [10.1] y otra función que definimos nosotros mismos [10.13].  Si tuviéramos que compilar ese código, el compilador aún encontraría obstáculos. En la línea [10.8] podría demandar no conocer ninguna función llamada circleArea(). ¿Por qué? Aparentemente, el compilador comienza leyendo la función principal y de repente encuentra algo que no conoce. No buscará nada más y te mostrará este mensaje de alerta. Para satisfacer al compilador, simplemente añade la declaración de una función antes de la línea que contiene “int main()” [11.1]. No pasaría nada por que se tratara de la misma línea, salvo que ésta terminará con el signo de punto y coma. Ahora el compilador no se sorprenderá cuando encuentre la llamada a la función.<span id="more-2148"></span></p>
<p style="text-align: justify;">
<pre>// [11]
float circleArea(float theRadius);    // Declaración de la función
 
int main()
{
// El código de la función main() iría aquí...
}</pre>
<p style="text-align: justify;">nota: El resto del programa no se muestra.</p>
<p style="text-align: justify;">Pronto compilaremos este programa en la realidad. Primero un par de impares y finales.</p>
<p style="text-align: justify;">
<p style="text-align: justify;">Cuando escribimos un programa, puede aconsejarse tener en cuenta la posibilidad de reutilizar el código en el futuro. Nuestro programa podría tener una función llamada “rectangleArea()” como se muestra a continuación [12.1] y esa función podría ser llamada en nuestra función principal “main()”. Esto es útil tanto si el código que ponemos en una función es tan sólo utilizado una vez. La función “main()” será más sencilla de leer” Si tienes que resolver los bugs del código, será más fácil localizar dónde podrían encontrarse dentro de tu programa. Podrías saber que los bugs están en una determinada función. En lugar de tener que moverte a través de una enorme secuencia de órdenes, simplemente tendrás que chequear las líneas de la función, que son más fáciles de encontrar, gracias a la apertura y cierre de las llaves { }.</p>
<p style="text-align: justify;">
<pre>// [12]
float rectangleArea(float length, float width)
{
return (length * width)
}
<span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; line-height: 19px; white-space: normal; font-size: 13px;"> </span></pre>
<p style="text-align: justify;">Como puedes ver en un caso sencillo como éste, es posible tener una única orden [12.3] tanto para el cálculo como para la devolución del resultado. Utilicé la variable superflua “theArea” en [10.15] sólo para mostrarte cómo declarar la variable en una función.</p>
<p style="text-align: justify;">Mientras que las funciones que definamos por nosotros mismos en este capítulo son algo triviales, es importante darse cuenta que nosotros podemos modificar una función sin afectar en el código que la llama mientras no cambiemos la declaración de la función (por ejemplo, en la primera línea).</p>
<p style="text-align: justify;">Por ejemplo, puedes cambiar los nombres de las variables de una función y la función todavía funcionará (y esto tampoco afectará al resto del programa). Algún otro podría escribir la función y podrías usarla sin saber qué es lo que va dentro de la función.. Todo lo que necesitas saber es cómo usarla. Y esto quiere decir conocer:</p>
<ul style="text-align: justify;">
<li>El nombre de la función</li>
<li>El número, orden y tipco de los argumentos (arguments) de la función</li>
<li>Lo que la función devuelve (el valor del área de la superficie del rectángulo) y el tipo de resultado.</li>
</ul>
<p style="text-align: justify;">En el ejemplo [12], estas respuestas son, respectivamente:</p>
<ul style="text-align: justify;">
<li>rectangleArea</li>
<li>Dos argumentos: ambos decimales (floats) en el que el primero representa la longitud y el segundo la anchura.</li>
<li>La función devuelve algo, y el resultado es de tipo decimal (como puede percibirse desde la primera palabra del código [12.1]).</li>
</ul>
<p style="text-align: justify;">
<h3><strong><span style="color: #993366;">Variables Blindadas (shielded variables)</span></strong></h3>
<p style="text-align: justify;"><strong> </strong></p>
<p style="text-align: justify;">El código de dentro de una función está blindado respecto al programa principal y a las demás funciones.</p>
<p style="text-align: justify;">Lo que esto significa es que el valor de una variable dentro de una función, por defecto no está afectada por otra variable o por otra función, incluso aunque tenga el mismo nombre. Esta es una de las características principales del Objective-C. En el capítulo 5, veremos de nuevo este comportamiento, pero antes, vamos a comenzar a utilizar el Xcode y hacer que funcione nuestro programa [10].</p>
<div style="text-align: justify;"><span style="font-family: Helvetica, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: small;"><br />
</span></div>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.applenext.com%2F2010%2F05%2Fprogramar-en-mac-03-las-funciones-y-iii%2F&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></content:encoded>
			<wfw:commentRss>http://www.applenext.com/2010/05/programar-en-mac-03-las-funciones-y-iii/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Programar en Mac 03: Las funciones (II)</title>
		<link>http://www.applenext.com/2010/05/programar-en-mac-03-las-funciones-ii/</link>
		<comments>http://www.applenext.com/2010/05/programar-en-mac-03-las-funciones-ii/#comments</comments>
		<pubDate>Sun, 23 May 2010 20:05:09 +0000</pubDate>
		<dc:creator>Alejo Miranda</dc:creator>
				<category><![CDATA[Programar en Mac]]></category>
		<category><![CDATA[C-Objective]]></category>
		<category><![CDATA[programar]]></category>
		<category><![CDATA[SDK]]></category>
		<category><![CDATA[Xcode]]></category>

		<guid isPermaLink="false">http://www.applenext.com/?p=2142</guid>
		<description><![CDATA[Argumentos (Arguments) Vamos a añadir un par de nombres de variable del tipo decimal [4.4] e iniciaremos la variable circleRadius, por ejemplo le daremos un valor [4.4], en el que la función circleArea() será &#8220;llamada&#8221;. Como puedes ver, el nombre de la variable circleRadius ha sido puesta entre los signos de paréntesis. Esto es un [...]]]></description>
			<content:encoded><![CDATA[<img width="526" height="200" src="http://www.applenext.com/wp-content/themes/bigfeature/library/timthumb/timthumb.php?src=/wp-content/uploads/2010/05/Programar-en-Mac03B.jpg&amp;w=526&amp;h=200&amp;zc=0" alt="Programar en Mac 03: Las funciones (II)" /><h3 style="text-align: justify;"><span style="color: #993366;">Argumentos (Arguments)</span></h3>
<p style="text-align: justify;">Vamos a añadir un par de nombres de variable del tipo decimal [4.4] e iniciaremos la variable circleRadius, por ejemplo le daremos un valor [4.4], en el que la función circleArea() será &#8220;llamada&#8221;. Como puedes ver, el nombre de la variable circleRadius ha sido puesta entre los signos de paréntesis. Esto es un “argument” de la función “circleArea()”. Cuando la función “circleArea()” ha hecho su trabajo de cálculo, deberá devolver un resultado. Vamos a modificar la función de [3] para reflejar esto [5]:<span id="more-2142"></span></p>
<p style="text-align: justify;">
<p style="text-align: justify;">Nota: sólo la función “circleArea()” será mostrada:</p>
<p style="text-align: justify;">
<pre>// [5]
circleArea(float theRadius) // [5.1]
{
float theArea;
theArea = 3.1416 * theRadius *theRadius; // pi por radio al cuadrado, π · r2
return thArea;
}</pre>
<p style="text-align: justify;">En [5.1] definimos que para la función circleArea() será necesario introducir un valor decimal&#8230; Cuando se recibe, este valor es almacenado en la variable llamada theRadius. Usamos una segunda variable a la que llamaremos theArea para almacenar el resultado del cálculo de la línea [5.4], por lo que deberemos declararla [5.3] del mismo modo que las declarábamos en la función “main()” [4.4]. Te darás cuenta que la declaración de la variable theRadius está realizada en paréntesis [5.1]. La línea [5.5] devuelve el resultado de la parte del programa desde la que la función ha sido llamada. como resultado, en la línea [4.11] la variable circleSurfaceArea está puesta en este valor.</p>
<p style="text-align: justify;">
<p style="text-align: justify;">La función del ejemplo [5] está completa, salvo por una cosa: No hemos especificad el tipo de datos que la función deberá devolver. El compilador requiere que lo hagamos así que no tenemos más opción que obedecer e indicar que el tipo es decimal [6.1].</p>
<p style="text-align: justify;">
<pre>// [6]
float circleArea(float theRadius) // [6.1]
{
float theArea;
theArea = 3.1416 * theRadius * theRadius;
return theArea;
}</pre>
<p style="text-align: justify;">Como indica la primera palabra de la línea [6.1], el dato que devuelve esta función (por ejemplo, el valor de la variable theArea) es del tipo decimal. Como programador, deberás asegurarte que la variable circleSurfaceArea en la función “main()” [4.8] es de esemismo tipo de dato de manera que el compilador no motivos para quejarse en este punto.</p>
<p style="text-align: justify;">No todas las funciones requieren un “argument”. Aún así, aunque no haya uno, el paréntesis será necesario incluso cuando deba estar vacío.</p>
<p style="text-align: justify;">
<pre>// [7]
int throwDice()
{
int noOfEyes;
// Código para generar un valor aleatorio del 1 al 6
return noOfEyes;
}</pre>
<p style="text-align: justify;">
<h3 style="text-align: justify;"><span style="color: #993366;">Devolviendo valores</span></h3>
<p style="text-align: justify;">
<p style="text-align: justify;">No todas las funciones devuelven un valor. Si una función no devuelve un valor, será del tipo “void” (vacío). La línea de código de la devolución del valor será, por tanto, opcional. Pero si la utilizas, la palabra “return” no deberá ir seguida de ningún valor o nombre de variable.</p>
<p style="text-align: justify;">
<pre>// [8]
void beepXTimes(int x);
{
// Código para hacer beep x veces.
}</pre>
<p style="text-align: justify;">Si una función tiene más de una orden, como en la función picureSurfaceArea() que aparece a continuación, las órdenes deberán estar separadas por una coma:</p>
<p style="text-align: justify;">
<pre>// [9]
float pictureSurfaceArea(float theWidth, float theHeight)
{
// Código para calcular el área de la superficie
}</pre>
<p style="text-align: justify;">
<p style="text-align: justify;">La función “main()” debería, por conveniencia, devolver un número entero, y sí: también posee una orden de devolución (return). Podría devolver 0 (cero, [10.9]) para indicar que la función se ha ejecutado sin problemas. Como la función “main()” devuelve un entero, deberemos escribir “int” antes de “main()” [10.1]. Vamos a poner todo el código que tenemos en una lista:</p>
<p style="text-align: justify;">
<pre>// [10]
int main()
{
float pictureWidth, pictureHeight, pictureSurfaceArea,
circleRadius, circleSurfaceArea;
pictureWidth = 8;
pictureHeight = 4.5;
circleRadius = 5.0;
pictureSurfaceArea = pictureWidth * pictureHeight;
return 0;   // [10.9]
}
float circleArea(float theRadius)   // [10.12]
{
float theArea;
theArea = 3.1416 * theRadius * theRadius;
return theArea;
}</pre>
<p style="text-align: justify;">
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.applenext.com%2F2010%2F05%2Fprogramar-en-mac-03-las-funciones-ii%2F&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></content:encoded>
			<wfw:commentRss>http://www.applenext.com/2010/05/programar-en-mac-03-las-funciones-ii/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Programar en Mac 03: Las funciones (I)</title>
		<link>http://www.applenext.com/2010/05/programar-en-mac-03-las-funciones-i/</link>
		<comments>http://www.applenext.com/2010/05/programar-en-mac-03-las-funciones-i/#comments</comments>
		<pubDate>Mon, 03 May 2010 18:29:25 +0000</pubDate>
		<dc:creator>Alejo Miranda</dc:creator>
				<category><![CDATA[Programar en Mac]]></category>
		<category><![CDATA[C-Objective]]></category>
		<category><![CDATA[programar]]></category>
		<category><![CDATA[SDK]]></category>
		<category><![CDATA[Xcode]]></category>

		<guid isPermaLink="false">http://www.applenext.com/?p=1879</guid>
		<description><![CDATA[Continuamos con nuestro tutorial sobre Programar en Mac. Ahí va la primera parte del Capítulo 3. Las Funciones El código más grande que hemos visto tenía como mucho sólo cinco líneas. Aunque todavía quede mucho para llegar a programas con cientos de líneas, la naturaleza del lenguaje Objective-C hace que tengamos que tratar  ya cómo [...]]]></description>
			<content:encoded><![CDATA[<img width="526" height="200" src="http://www.applenext.com/wp-content/themes/bigfeature/library/timthumb/timthumb.php?src=/wp-content/uploads/2010/05/Programar-en-Mac03A.jpg&amp;w=526&amp;h=200&amp;zc=0" alt="Programar en Mac 03: Las funciones (I)" /><p style="text-align: justify; ">Continuamos con nuestro tutorial sobre Programar en Mac. Ahí va la primera parte del Capítulo 3.</p>
<p style="text-align: justify; ">
<h3 style="text-align: justify; "><span style="color: #993366;">Las Funciones</span></h3>
<p style="text-align: justify; ">El código más grande que hemos visto tenía como mucho sólo cinco líneas. Aunque todavía quede mucho para llegar a programas con cientos de líneas, la naturaleza del lenguaje Objective-C hace que tengamos que tratar  ya cómo están organizados los programas.<span id="more-1879"></span></p>
<p style="text-align: justify; ">Si los programas van a consistir en una larga y continua sucesión de órdenes de código, deberá entonces ser complicado localizar y solucionar los &#8216;bugs&#8217; (como ya hemos dicho, son los errores del código). Además, como es lógico, una misma línea de código podrá aparecer en diferentes lugares; y si hay un bug en ese fragmento de código deberás comprobar el mismo bug en todos esos lugares. ¡Una pesadilla porque es muy fácil que nos olvidemos de uno (o dos)! Así que la gente ha tenido que pensar <strong>una manera de organizar el código haciéndolo más sencillo para la localización y resolución de bugs</strong>.</p>
<p style="text-align: justify; ">
<p style="text-align: justify; ">La solución a este problema es <strong>un grupo de órdenes agrupadas dependiendo de su función</strong>. Por ejemplo, tu puedes tener un conjunto de líneas de código que te permitan calcular la superficie del área de un círculo. Una vez que lo has chequeado, ese conjunto de órdenes funcionaran correctamente y tú nunca tendrás que volver a ese código para ver si existen bugs en él.</p>
<p style="text-align: justify; "><strong>El conjunto de órdenes, llamado una “función”, tiene un nombre y podrás llamar a ese conjunto de órdenes por su nombre para ejecutar su código</strong>. Esto de usar funciones es absolutamente <span style="text-decoration: underline;">fundamental</span> porque <span style="text-decoration: underline;">siempre hay al menos una función en un programa</span>: la <strong>función “main()”</strong>. Esta función “main()” es lo que buscará el compilador, y de esta manera sabrá en qué lugar deberá comenzar la ejecución del código.</p>
<p style="text-align: justify; ">
<h3><strong><span style="color: #993366;">La función “main()”</span></strong></h3>
<p style="text-align: justify; ">Vamos a echar un vistazo a la función “main()” con más detalle [1]:</p>
<pre>// [1]
main()
{
// Cuerpo de la función main(). Pon el código aquí
}</pre>
<p style="text-align: justify; ">
<p style="text-align: justify; ">En la línea [1.1] se muestra el <strong>nombre de la función</strong>, por ejemplo “main”, seguida por los signos de abrir y cerrar paréntesis. Mientras “main” es una palabra reservada en el lenguaje de programación, y “main()” es <span style="text-decoration: underline;">necesaria</span> para estar presente, <strong>cuando definas tus propias funciones podrás llamarlas de la manera que más te apetezca</strong>. Los paréntesis están allí por una buena razón pero no lo trataremos hasta un poco más tarde en este mismo capítulo.</p>
<p style="text-align: justify; ">En las líneas siguientes [1.2, 1.4] hay signos de llaves. <strong>Deberás poner tu código entre esos signos { }</strong>. Cualquier cosa entre los signos de llaves se conocerá como cuerpo (body) de la función. Vamos a tomar algo de código de los primeros capítulos y colocarlo a continuación [2]:</p>
<p style="text-align: justify; ">
<pre>// [2]
main()
{
// Vamos a declarar las variables
float anchoDeImagen, alturaDeImagen, areaSuperficieDeImagen;
// Iniciamos las variables (otorgamos a cada variable un valor)
anchoDeImagen = 8.0;
alturaDeImagen = 4.5;
// Y ahora vamos a realizar el cálculo
areaSuperficieDeImagen = anchoDeImagen * alturaDeImagen;
}</pre>
<p style="text-align: justify; ">
<h3><span style="color: #993366;">Nuestra primera función</span></h3>
<p style="text-align: justify; ">Si vamos a continuar añadiendo código a la función main(), podríamos acabar con la dificultad de hacer un “debug” (recordemos anteriores capítulos). Vamos a escribir otro programa, ahora con algo de estructura. <strong>Aparte de la función obligatoria main(), vamos a crear la función areaDelCirculo() [3]</strong>:</p>
<p style="text-align: justify; ">
<pre>// [3]
main()
{
float anchoDeImagen, alturaDeImagen, areaSuperficieDeImagen;
anchoDeImagen = 8.0;
alturaDeImagen = 4.5;
areaSuperficieDeImagen = anchoDeImagen * alturaDeImagen;
}</pre>
<pre>areaDelCirculo() //[3.9]
{

}</pre>
<p style="text-align: justify; ">
<p style="text-align: justify; ">Esa es una manera sencilla, pero nuestra función personal que comienza con una línea [3.9] no hace nada por ahora. Date cuenta que las especificaciones de la función están fuera del “body” de la función “main()”. En otras palabras, las funciones no están “anidadas”.</p>
<p style="text-align: justify; ">
<p style="text-align: justify; "><strong>Nuestra nueva función “areaDelCirculo()” debe ser llamada desde la función “main()”</strong>. Vamos a ver cómo se hace eso [4]:</p>
<p style="text-align: justify; ">
<pre>// [4]
main()
{
float anchoDeImagen, alturaDeImagen, areaSuperficieDeImagen,
radioDelCirculo, areaSuperficieDelCirculo; // [4.4]
anchoDeImagen = 8.0;
alturaDeImagen = 4.5;
radioDelCirculo = 5.0; // [4.7]
areaSuperficieDeImagen = anchoDeImagen * alturaDeImagen;

// ¡Y aquí es donde llamamos a nuestra función!

areaSuperficieDelCirculo = areaDelCirculo(radioDelCirculo); // [4.11]

}</pre>
<p style="text-align: justify; ">
<p style="text-align: justify; "><span style="text-decoration: underline;">Nota</span>: el resto del programa no está mostrado (ver [3]).</p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.applenext.com%2F2010%2F05%2Fprogramar-en-mac-03-las-funciones-i%2F&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></content:encoded>
			<wfw:commentRss>http://www.applenext.com/2010/05/programar-en-mac-03-las-funciones-i/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>La WWDC empieza el 7 de Junio</title>
		<link>http://www.applenext.com/2010/04/la-wwdc-empieza-el-7-de-junio/</link>
		<comments>http://www.applenext.com/2010/04/la-wwdc-empieza-el-7-de-junio/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 15:13:36 +0000</pubDate>
		<dc:creator>enostrum</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Aplicaciones]]></category>
		<category><![CDATA[C-Objective]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[programar]]></category>
		<category><![CDATA[SDK]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.applenext.com/?p=1819</guid>
		<description><![CDATA[Ya tenemos fecha para otra Keynote, y esta vez la cosa promete y mucho. El día 7 de Junio de 2010 dará comienzo la WorldWide Developers Conference, algo así como la Conferencia Mundial de desarrolladores de Apple (si estás siguiendo nuestro tutorial para Programar en Mac puedes considerarte uno de ellos). Se da por hecho [...]]]></description>
			<content:encoded><![CDATA[<img width="526" height="200" src="http://www.applenext.com/wp-content/themes/bigfeature/library/timthumb/timthumb.php?src=/wp-content/uploads/2010/04/screen-shot-2010-04-28-at-6.51.02-am.jpg&amp;w=526&amp;h=200&amp;zc=0" alt="La WWDC empieza el 7 de Junio" /><p style="text-align: justify; ">Ya tenemos fecha para <strong><a href="http://www.applenext.com/2010/01/se-confirma-el-evento-del-dia-27/" target="_blank">otra Keynote</a></strong>, y esta vez la cosa promete y mucho.</p>
<p style="text-align: justify; ">El día <strong>7 de Junio</strong> de 2010 dará comienzo la <strong>WorldWide Developers Conference</strong>, algo así como la Conferencia Mundial de desarrolladores de Apple (si estás siguiendo nuestro <a href="http://www.applenext.com/category/programar-en-mac/" target="_blank">tutorial para Programar en Mac</a> puedes considerarte uno de ellos).</p>
<p style="text-align: justify; ">Se da por hecho que el nuevo <strong><a href="http://www.applenext.com/2010/04/novedades-del-iphone-os-4/" target="_blank">iPhone 4</a></strong><a href="http://www.applenext.com/2010/04/novedades-del-iphone-os-4/" target="_blank"> </a>será presentado por el tito <a href="http://www.applenext.com/2010/04/steve-jobs-portada-de-time-por-septima-vez/" target="_blank">Jobs</a> el día 7.<span id="more-1819"></span></p>
<h2>Qué es una WWDC</h2>
<p>No sólo es la presentación principal, es un evento que (como una Macworld) <strong>dura una semana</strong> y está destinado a las personas que dedican su vida y tiempo para hacer programas para nosotros.</p>
<p>Hay <strong>talleres</strong>, <strong>charlas</strong>, <strong>laboratorios</strong>, <strong>clases</strong> guiadas y un montón de <strong>actividades</strong> dirigidas a profesionales (y no tanto) que desarrollan aplicaciones para Mac, iPhone y cualquier producto de Apple.</p>
<p>De vez en cuando se presentan <strong>nuevos Macs</strong> (como los Mac Pro o servidores Xserve, productos más destinados a profesionales) y últimamente, el <strong>iPhone</strong> tiene su hueco en estas fechas (el iPhone 3G y el iPhone 3Gs se presentaron en la keynote principal).</p>
<p><a href="http://www.applenext.com/wp-content/uploads/2010/04/wwdc10_experience_wwdcicon20100416.png"><img class="alignnone size-full wp-image-1824" title="wwdc10_experience_wwdcicon20100416" src="http://www.applenext.com/wp-content/uploads/2010/04/wwdc10_experience_wwdcicon20100416.png" alt="wwdc10_experience_wwdcicon20100416" width="220" height="233" /></a></p>
<h2>WWDC 2010</h2>
<p>Este año se va a tratar los <strong>siguientes temas</strong> con especial interés, aparte del <strong>iPhone 4 </strong>y sus nuevas APIs que es la principal novedad:</p>
<ul>
<li><strong>Application Frameworks</strong>: Introducción de Notificaciones Local y Push; Prueba de Apps; Fundamentos base; Novedades en los cimientos de iPhone OS 4; Trucos y recetas avanzadas en Cocoa®; Diseño de APIs para Cocoa y Cocoa Touch®; Reconocimiento de gestos avanzado; Integración de publicidad con iAd; Construcción de una experiencia de usuario personalizada basada en servidor; Uso de Core Location en iPhone OS 4; e Integración de Calendario con Event Kit.</li>
<li><strong>Internet y Web</strong>: Difusión de Audio y Video usando estándares web; Cómo extraer el máximo partido de las herramientas de desarrollo integradas en Safari®; Uso de almacenamiento de datos local con HTML5; Añadir detección táctil y gestual a páginas web con iPhone OS; y Creación de infográficos con tecnologías web estándar.</li>
<li><strong>Graficos y Media</strong>: OpenGL ES, ajuste y optimización; OpenGL ES, sombras y rendering avanzado; OpenGL ES, fundamentos para iPhone OS; OpenGL para Mac OS X; Diseño y desarrollo de juegos para iPhone OS; Introducción a Game Center; Configuración de juegos en Game Center; Game Center, técnicas; Core Animation en la práctica; Descubrir las bases de AV Foundation; Edición de contenido con AV Foundation; y Avances en HTTP Live Streaming.</li>
<li><strong>Herramientas de Desarrollo</strong>: Visión general de las herramientas de desarrollo; Diseño de apps con Interface Builder; Cómo trabajar de manera efectiva con Objective-C® en iPhone OS; Dominar Core Data; Técnicas avanzadas de Objective-C y Garbage Collection; Análisis avanzado de rendimiento con Instruments; Dominar Xcode para desarrollar para iPhone; y Adopción de multitarea en iPhone OS.</li>
<li><strong>Core OS</strong>: Network Apps para iPhone OS; Core OS Networking; Creación de apps seguras; Desarrollo de apps que trabajen con accesorios en iPhone OS; I/O Kit Device Drivers para Mac OS X; y Simplificación de las comunicaciones en red usando Bonjour®.</li>
</ul>
<p><a href="http://www.applenext.com/wp-content/uploads/2010/04/overlay-1.jpg"><img class="alignnone size-full wp-image-1826" title="overlay-1" src="http://www.applenext.com/wp-content/uploads/2010/04/overlay-1.jpg" alt="overlay-1" width="526" height="329" /></a></p>
<p>Como apunte, un pase para la WWDC de este año <strong>cuesta 1599$,</strong> así que os lo contaremos desde aquí, jeje. Esto por supuesto incluye, la comida, acceso a todos los talleres y charlas, conciertos en el Yerba Buena Center, etc.</p>
<p>Definitivamente, el año 2010 es <strong>un gran año</strong> para nuestros amigos de la manzana.</p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.applenext.com%2F2010%2F04%2Fla-wwdc-empieza-el-7-de-junio%2F&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></content:encoded>
			<wfw:commentRss>http://www.applenext.com/2010/04/la-wwdc-empieza-el-7-de-junio/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Programar en Mac 02: Los comentarios</title>
		<link>http://www.applenext.com/2010/04/programar-en-mac-02-los-comentarios/</link>
		<comments>http://www.applenext.com/2010/04/programar-en-mac-02-los-comentarios/#comments</comments>
		<pubDate>Sun, 25 Apr 2010 23:14:22 +0000</pubDate>
		<dc:creator>Alejo Miranda</dc:creator>
				<category><![CDATA[Programar en Mac]]></category>
		<category><![CDATA[C-Objective]]></category>
		<category><![CDATA[programar]]></category>
		<category><![CDATA[SDK]]></category>
		<category><![CDATA[Xcode]]></category>

		<guid isPermaLink="false">http://www.applenext.com/?p=1787</guid>
		<description><![CDATA[Vamos con el capítulo 02 de Programar en Mac. Cómo sabéis estamos haciendo un repaso a C al mismo tiempo que hacemos los PDF orientados exclusivamente a Cocoa. Comentarios&#8230; Con el uso de nombres sensibles de variables (que vimos en el capítulo anterior), podemos hacer nuestro código más inteligible y entendible [1]. // [1] float [...]]]></description>
			<content:encoded><![CDATA[<img width="526" height="199" src="http://www.applenext.com/wp-content/themes/bigfeature/library/timthumb/timthumb.php?src=/wp-content/uploads/2010/04/ProgramarenMac02.jpg&amp;w=526&amp;zc=0" alt="Programar en Mac 02: Los comentarios" /><p style="text-align: justify;">Vamos con el capítulo 02 de Programar en Mac. Cómo sabéis estamos haciendo un repaso a C al mismo tiempo que hacemos los PDF orientados exclusivamente a Cocoa.</p>
<p style="text-align: justify;">
<h3><span style="color: #993366;">Comentarios&#8230;</span></h3>
<p style="text-align: justify;">Con el uso de nombres sensibles de variables (que vimos en el capítulo anterior), podemos hacer nuestro código más inteligible y entendible [1].<span id="more-1787"></span></p>
<p style="text-align: justify;">
<pre style="text-align: justify;">// [1]</pre>
<pre style="text-align: justify;">float pictureWidth, pictureHeight, pictureSurfaceArea;</pre>
<pre style="text-align: justify;">pictureWidth = 8.0;</pre>
<pre style="text-align: justify;">pictureHeight = 4.5;</pre>
<pre style="text-align: justify;">pictureSurfaceArea = pictureWidth * pictureHeight;</pre>
<pre style="text-align: justify;"></pre>
<p>Nuestro código sólo contiene por ahora unas pocas líneas de código pero <strong>los programas más sencillos fácilmente pueden alcanzar cientos o miles de líneas de código</strong>. Cuando vuelves a revisar el código  después de algunas semanas o meses puede ser complicado recordar la razón por la que programar cada cosa. Esta es la razón por la que aparecen los <strong>comentarios</strong>.</p>
<p><strong>Los comentarios te ayudarán a entender rápidamente la razón de ser de una determinada parte de tu código y por qué está en cada lugar</strong>. Algunos programadores suelen ir más allá y comienzan cada código con un comentario que les ayuden a organizar su pensamiento y les permitan codificar personalmente desde un rincón.</p>
<p>Te <strong>recomendamos que dediques un tiempo a comentar tu código</strong>. Te aseguramos que así compensarás en el futuro el tiempo que gastes hoy con los comentarios. Además, si compartes tu código con alguien más, tus comentarios podrán ayudarles a adaptar lo que necesiten con mayor velocidad.</p>
<h3 style="text-align: justify;">Crear un comentario</h3>
<p>Para crear un comentario, comienza el comentario con dos barras inclinadas.</p>
<pre style="text-align: justify;">// Esto es un comentario</pre>
<p style="text-align: justify;">
<p style="text-align: justify;">En Xcode los comentarios se muestran en verde. Si un comentario es muy largo y requiere múltiples líneas, deberás escribirlas entre /* y */.</p>
<p style="text-align: justify;">
<pre style="text-align: justify;">/* Esto es un comentario</pre>
<pre style="text-align: justify;">que se extiende a dos líneas /*</pre>
<pre style="text-align: justify;"></pre>
<p style="text-align: justify;">
<p style="text-align: justify;">
<h3 style="text-align: justify;">Outcommenting</h3>
<p style="text-align: justify;">Pronto trataremos cómo resolver los bugs de un programa y las grandes facilidades que Xcode da para ello. Una manera de resolver los bugs, el método pasado de moda, es el llamado outcommenting. Colocando parte de tu código entre /* y */ podemos temporalmente deshabilitar esa parte del texto (algo así como convertir en comentario lo que era código) para ver si el resto del código funciona como esperamos. Esto nos permite dar caza al bug. Si la parte convertida en comentario es, por ejemplo, un valor de una determinada variable, podrás incluir una líea temporalmente donde estaba la variable o un valor que encaje para probar el resultado de tu código.</p>
<p style="text-align: justify;">
<p style="text-align: justify;">
<h3 style="text-align: justify;"></h3>
<h3 style="text-align: justify;">¿Por qué comentarios?</h3>
<p style="text-align: justify;">La importancia de los comentarios no puede ser exagerada. Se usa normalmente para añadir <strong>una explicación en lenguaje asequible sobre lo que va en una serie de líneasde código</strong>. Esto es porque no tienes porque deducir qué es cada código y puedes ver inmediatamente si el problema que estás experimentando está en esa parte del código. También puedes utilizar códigos para expresar cosas que son complicadas o imposibles de deducir del propio código. Por ejemplo, si programas una función matemática usando un modelo específico descrito con detalle en alguna parte de un libro, podrás poner la referencia bibliográfica en un comentario asociado al código del que hablamos.</p>
<p style="text-align: justify;">
<p style="text-align: justify;">Algunas veces <strong>es útil escribir varios comentarios antes de escribir el código</strong> de programación. Esto puede ayudarte a estructurar tus pensamientos y el resultado de la programación será más sencillo.</p>
<p style="text-align: justify;">
<p style="text-align: justify;">Los ejemplos de código en este manual no contienen tantos comentarios como nos gustaría normalmente al escribir un código, porque están acompañados todos ellos de los textos de explicación.</p>
<p style="text-align: justify;">
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.applenext.com%2F2010%2F04%2Fprogramar-en-mac-02-los-comentarios%2F&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></content:encoded>
			<wfw:commentRss>http://www.applenext.com/2010/04/programar-en-mac-02-los-comentarios/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Programar en Mac: Hemos hecho un PDF para ti</title>
		<link>http://www.applenext.com/2010/03/programar-en-mac-hemos-hecho-un-pdf-para-ti/</link>
		<comments>http://www.applenext.com/2010/03/programar-en-mac-hemos-hecho-un-pdf-para-ti/#comments</comments>
		<pubDate>Mon, 29 Mar 2010 02:14:46 +0000</pubDate>
		<dc:creator>Alejo Miranda</dc:creator>
				<category><![CDATA[Programar en Mac]]></category>
		<category><![CDATA[AppleNeXt]]></category>
		<category><![CDATA[C-Objective]]></category>
		<category><![CDATA[programar]]></category>
		<category><![CDATA[SDK]]></category>
		<category><![CDATA[Xcode]]></category>

		<guid isPermaLink="false">http://www.applenext.com/?p=1442</guid>
		<description><![CDATA[En AppleNeXt.com, hemos preparado un PDF con lo básico para empezar a Programar en Mac y iPhone/iPad. Visto el éxito que están teniendo nuestros primeros tutoriales, hemos decidido que todo os lo vamos a ir contando de forma aún más sencilla. Por ahora, este PDF incorpora los primeros pasos introductorios para empezar con la programación. [...]]]></description>
			<content:encoded><![CDATA[<img width="526" height="200" src="http://www.applenext.com/wp-content/themes/bigfeature/library/timthumb/timthumb.php?src=/wp-content/uploads/2010/03/DescargarTutorial.jpg&amp;w=526&amp;h=200&amp;zc=0" alt="Programar en Mac: Hemos hecho un PDF para ti" /><p style="text-align: justify; ">En <a target="_blank" href="http://AppleNeXt.com">AppleNeXt.com</a>, hemos preparado un PDF con lo básico para empezar a Programar en Mac y iPhone/iPad.</p>
<p style="text-align: justify; ">Visto el éxito que están teniendo nuestros primeros tutoriales, hemos decidido que todo os lo vamos a ir contando de forma aún más sencilla. Por ahora, este PDF incorpora los primeros pasos introductorios para empezar con la programación. Además, esta semana continuaremos con la lección 02 y en pocos días os pasaremos otro PDF con los primeros pasos en Cocoa.</p>
<p style="text-align: justify; ">Pulsa <em>leer más</em> para descargar el primer PDF: Guía para Programar en Mac<span id="more-1442"></span><a href="http://www.applenext.com/pdf/AppleNext.com Programar_en_Mac.pdf"></a></p>
<p style="text-align: center;"><a href="http://www.applenext.com/pdf/AppleNext.com Programar_en_Mac.pdf"><img class="size-full wp-image-1443 aligncenter" title="Download | Descargar" src="http://www.applenext.com/wp-content/uploads/2010/03/pdfDownload.jpg" alt="Download | Descargar" width="70" height="49" /></a><br />
Programar en Mac &#8211; Introducción [2.7 MB]</p>
<p style="text-align: justify; ">
<p style="text-align: justify; ">Todo Gratis. Todo en español. Todo para Mac <img src='http://www.applenext.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Claro, todo en <a target="_blank" href="http://AppleNeXt.com">AppleNeXt.com</a></p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.applenext.com%2F2010%2F03%2Fprogramar-en-mac-hemos-hecho-un-pdf-para-ti%2F&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></content:encoded>
			<wfw:commentRss>http://www.applenext.com/2010/03/programar-en-mac-hemos-hecho-un-pdf-para-ti/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Programar en Mac 01: Un programa es una serie de instrucciones (y III)</title>
		<link>http://www.applenext.com/2010/03/programar-en-mac-01-un-programa-es-una-serie-de-instrucciones-y-iii/</link>
		<comments>http://www.applenext.com/2010/03/programar-en-mac-01-un-programa-es-una-serie-de-instrucciones-y-iii/#comments</comments>
		<pubDate>Wed, 24 Mar 2010 14:19:58 +0000</pubDate>
		<dc:creator>Alejo Miranda</dc:creator>
				<category><![CDATA[Programar en Mac]]></category>
		<category><![CDATA[C-Objective]]></category>
		<category><![CDATA[programar]]></category>
		<category><![CDATA[SDK]]></category>
		<category><![CDATA[Xcode]]></category>

		<guid isPermaLink="false">http://www.applenext.com/?p=1262</guid>
		<description><![CDATA[Finalizamos la Lección 01 de Programar en Mac: Operaciones Matemáticas En los ejemplos anteriores hemos realizado una operación de multiplicación. Utiliza los siguientes símbolos oficialmente conocidos como “operadores” para realizar tus operaciones matemáticas: + para suma - para la resta / para la división * para la multiplicación Utilizando los operadores podremos realizar un enorme [...]]]></description>
			<content:encoded><![CDATA[<img width="526" height="200" src="http://www.applenext.com/wp-content/themes/bigfeature/library/timthumb/timthumb.php?src=/wp-content/uploads/2010/03/Programar-en-Mac01C.jpg&amp;w=526&amp;h=200&amp;zc=0" alt="Programar en Mac 01: Un programa es una serie de instrucciones (y III)" /><p>Finalizamos la Lección 01 de Programar en Mac:<span id="more-1262"></span></p>
<h2 style="font-size: 1.5em;"><span style="color: #993366;">Operaciones Matemáticas</span></h2>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">En los ejemplos anteriores hemos realizado una operación de multiplicación. Utiliza los siguientes símbolos oficialmente conocidos como “operadores” para realizar tus operaciones matemáticas:</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<ul>
<li style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">+ para suma</li>
<li style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">- para la resta</li>
<li style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">/ para la división</li>
<li style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">* para la multiplicación</li>
</ul>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">Utilizando los operadores podremos realizar un enorme número de cálculos. Si echas un vistazo al código que realizan los programadores profesionales, te darás cuenta de un par de peculiaridades. Probablemente por que son algo perezosos:</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">En lugar de escribir x = x + 1; los programadores suelen utilizar algo como [9] o [10]:</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">// [9]</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">x++;</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">// [10]</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">++x;</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">En ambos casos, significa: incrementar x con otra. En algunas ciscunstancias es importante si las ++ está antes o delante del nombre de la variable. Véanse los siguienes ejemplos [11] y [12]:</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">// [11]</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">x = 10;</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">y = 2 * (x++);</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">// [12]</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">x = 10;</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">y = 2 * (++x);</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">En el ejemplo [11] cuando todo se expresa y se realiza, y es igual a 20 y x es igual a 11. Sin embargo, en [12.2] x se incrementa un número antes de la multiplicación por 2. Por lo tanto en el final, x = 11 e y = 22. El código del ejemplo [12] es equivalente al ejemplo [13].</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">// [13]</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">x = 10</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">x++;</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">y = 2 * x;</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">Por lo tanto el programador ha juntado dos códigos en uno. Personalmente, creo que eso hace que el programa sea mucho más difícil de leer. El código está bien formulado pero podría haber un “bug” al acecho.</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<h2 style="font-size: 1.5em;"><span style="color: #993366;">Paréntesis</span></h2>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">Sería algo anticuado para ti si volvieras a tener que pasar la secundaria, pero los paréntesis pueden ser usados para determinar el orden en que las operaciones deben ser realizadas. Por orden, * y / tienen preferencias sobre + y -. Por lo tanto 2 * 3 + 4 es igual a 10. Usando el paréntesis, puedes forzar a que la suma se realice primero: 2 * (3 + 4) = 14.</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<h2 style="font-size: 1.5em;"><span style="color: #993366;">Division</span></h2>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">El operador “división” requere una atenció especial porque supone na pequeña diferencia si es utilizada con enteros o con decimales. Mira los siguientes ejemplos:</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">// [14]</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">inx x = 5, y = 12, ratio;</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">ratio = y / x;</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">// [15]</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">float x = 5, y = 12, ratio;</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">ratio = y / x;</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">En el primer caso [14] el resultado es 2. Sólo en el segundo caso [15] el resultado es el que probablemente esperamos: 2,4.</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">Variables de dos opciones (Booleans):</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">Un “boolean” es una variable lógica de “verdadero” o “falso”. 1 y 0 son los estándares de “verdadero” o “falso” y son usadas de manera intercambiable y pueden ser consideradas de manera equivalente:</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">Verdadero (True) 1</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">Falso (False) 0</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">Se usan habitualmente para evaluar cómo realizar una acción dependiendo de la variable  dicotómica (o boolean) de una determinada variable o función.</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<h2 style="font-size: 1.5em;"><span style="color: #993366;">Módulos</span></h2>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">Un operador con el que probablemente no estás tan familiarizado es % (modulus). No funciona como probablemente te esperas: el operador “modulus” no es un cálculo de porcentajes. El resultado del operador % es el resto de la división de enteros del primer operando entre el segundo (si el valor del segundo es cero el comportamiento de % es indefinido).</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">// [16]</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">int x = 13, y = 5, remainder;</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">remainder = x % y;</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">Ahora el resultado de este “remainder” es igual a 3 porque x es igual a 2 * y + 3. El resto de la división es 3.</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">Aquí hay otros tantos ejemplos de modulus:</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">21 % 7 es igual a 0</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">22 % 7 es igual a 1</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">23 % 7 es igual a 2</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">24 % 7 es igual a 3</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">27 % 7 es igual a 6</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">30 % 2 es igual a 0</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">31 % 2 es igual a 1</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">32 % 2 es igual a 0</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">33 % 2 es igual a 1</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">34 % 2 es igual a 0</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">50 % 9 es igual a 5</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">60 % 29 es igual a 2</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">Puede usarse de múltiples maneras posibles, pero date cuenta de que sólo funciona con números enteros.</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">Un uso común para el “modulus” es determinar si un número entero es “par” o “impar”. Si es par entonces el modulus de dos será igual a 0. Y en el caso contrario, debe equivaler a otro valor. Por ejemplo:</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">// [17]</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">int anInt;</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">// Un código que establece un código para anInt</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">if ((anInt % 2) = 0)</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">{</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">NSLog(@”anInt is even”);</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">}</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">else</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">{</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">NSLog(@”anInt” is odd”);</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">}</p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.applenext.com%2F2010%2F03%2Fprogramar-en-mac-01-un-programa-es-una-serie-de-instrucciones-y-iii%2F&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></content:encoded>
			<wfw:commentRss>http://www.applenext.com/2010/03/programar-en-mac-01-un-programa-es-una-serie-de-instrucciones-y-iii/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Programar en Mac 01: Un programa es una serie de instrucciones (II)</title>
		<link>http://www.applenext.com/2010/03/programar-en-mac-01-un-programa-es-una-serie-de-instrucciones-ii/</link>
		<comments>http://www.applenext.com/2010/03/programar-en-mac-01-un-programa-es-una-serie-de-instrucciones-ii/#comments</comments>
		<pubDate>Tue, 23 Mar 2010 13:23:56 +0000</pubDate>
		<dc:creator>Alejo Miranda</dc:creator>
				<category><![CDATA[Programar en Mac]]></category>
		<category><![CDATA[C-Objective]]></category>
		<category><![CDATA[programar]]></category>
		<category><![CDATA[SDK]]></category>
		<category><![CDATA[Xcode]]></category>

		<guid isPermaLink="false">http://www.applenext.com/?p=1256</guid>
		<description><![CDATA[Seguimos con la Lección 01 de Programar en Mac: Enteros (integers) y decimales (floats) Ahora, echa un vistazo al ejemplo [5] y en particular a las dos primeras líneas: // [5] pictureWidth = 8; pictureHeight = 4.5; pictureSurfaceArea = pictureWidth * pictureHeight; Los números en general se pueden clasificar en dos categorías: números enteros y [...]]]></description>
			<content:encoded><![CDATA[<img width="526" height="200" src="http://www.applenext.com/wp-content/themes/bigfeature/library/timthumb/timthumb.php?src=/wp-content/uploads/2010/03/Programar-en-Mac01B.jpg&amp;w=526&amp;h=200&amp;zc=0" alt="Programar en Mac 01: Un programa es una serie de instrucciones (II)" /><p>Seguimos con la Lección 01 de Programar en Mac:</p>
<h2 style="font-size: 1.5em;"><span style="color: #993366;">Enteros (integers) y decimales (floats)</span></h2>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">Ahora, echa un vistazo al ejemplo [5] y en particular a las dos primeras líneas:</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">// [5]</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">pictureWidth = 8;</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">pictureHeight = 4.5;</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">pictureSurfaceArea = pictureWidth * pictureHeight;<span id="more-1256"></span></p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">Los números en general se pueden clasificar en dos categorías: números enteros y con decimales (números racionales). Aquí puedes ver un ejemplo de ambos casos respectivamente. Los enteros se usan para contar o enumerar, como cuando tenemos que repetir una serie de instrucciones un número determinado de veces (ver capítulo 7).</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">El código del ejemplo [5] no funcionaría. El problema está en que el compilador quiere que le digas en adelante que tipo de nombre de variables vas a utilizar en tu programa y a qué tipo de dato se refieren. Por ejemplo, números enteros o números con decimales. Esto en lenguaje friki se denomina “declarar la variable”.</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">// [6]</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">int pictureWidth;</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">float pictureHeight, pictureSurfaceArea;</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">pictureWidth = 8;</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">pictureHeight = 4.5;</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">pictureSurfaceArea = pictureWidth * pictureHeight;</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">En la línea [6.1] “int” indica que la variable pictureWidth es un número entero (integer). En la línea siguiente, estamos declarando dos variables separándolas con una coma. Más específicamente, la línea [6.2] dice que ambas variables son del tipo decimal, por ejemplo, los números que contienen son decimales. En este caso es un poco tonto que pictureWidth es de un tipo diferente que las otras dos variables. Pero lo que puedes ver es que si multiplicas un “int” por un “float” el resultado es un “float”, que es la razón por la que debes declarar la variable pictureSurfaceArea como un “float”.</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">¿Por qué el compilador quiere que le digas si una variable representa un número entero o decimal? Bien, un programa necesitará parte de la memoria del ordenador. El compilador reserva memoria (bytes) para cada variable que encuentra. Cada diferente tipo de datos (en este caso “int” y “float”) requiere diferentes cantidades de memoria y una diferente representación, y por este motivo el compilador necesitará reservar la cantidad adecuaa de memoria y la representación más oportuna.</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">¿Qué ocurre si estamos trabajando con números grandes o una gran precisión decimal? ¿Servirá la cantidad de memoria que haya reservado el compilador? Exacto. Hay dos respuestas para esto: en primer lugar, tanto “int” como “float” contienen contadores que pueden almacenar números muy grandes (o de una gran precisión decimal). En muchos sistemas éstos son “long long” y “double”, respectivamente. Y esto nos lleva a la segunda respuesta: como programador, será tarea tuya estar al tanto de los problemas. En cualquier caso, no se trata de un problema que deba ser discutido en el primer capítulo de un manual de introducción.</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">En cualquier caso, tanto los números enteros como los decimales pueden ser negativos, como por ejemplo la cuenta de un banco. Si sbes con certeza que el valor de una variable nunca será negativa, puedes acotar el rango de la variables para que el compilador ajuste la memoria disponible.</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">// [7]</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">unsigned int chocolateBarsInStock;</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">No hay posibilidad de que en este caso pueda ser un número negativo. El “unsigned int” representa a todos los números mayores o iguales a cero.</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<h2 style="font-size: 1.5em;"><span style="color: #993366;">Declarando una variable</span></h2>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">Es posible declarar una variable y asignarla un valor en un solo código [8].</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">// [8]</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">int x = 10;</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">float y = 3.5, z = 4.2;</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<h2 style="font-size: 1.5em;"><span style="color: #993366;">Tipos de datos</span></h2>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">Como acabamos de ver, los daros almacenados en una variable pueden ser de determinados tipos, como por ejemplo “int” o “float”.</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">En Objective-C, los tipos simples como los que acabamos de ver son conocidos como datos escalares. Aquí hay una lista de los tipos de datos escalares más comunes que están disponibles en Objective-C:</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">void: Vacío (nada)</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">int: Número entero (&#8230;, -1, 0, 1, 2, &#8230;)</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">unsigned: Número entero positivo / Naturales (0, 1, 2, &#8230;)</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">float: Número decimal / Racionales</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">double: Número decimal con doble precisión</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">char: Caracteres / letras (hola)</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; margin: 0px;">BOOL: variables de dos opciones: 1, 0; Verdadero, Falso; Sí, No.</p>
<p style="text-align: justify; font: normal normal normal 12px/normal Helvetica; min-height: 14px; margin: 0px;"><span style="font-size: small;"><span style="font-size: small;"><span><br />
</span></span></span></p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.applenext.com%2F2010%2F03%2Fprogramar-en-mac-01-un-programa-es-una-serie-de-instrucciones-ii%2F&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></content:encoded>
			<wfw:commentRss>http://www.applenext.com/2010/03/programar-en-mac-01-un-programa-es-una-serie-de-instrucciones-ii/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Programar en Mac 01: Un programa es una serie de instrucciones</title>
		<link>http://www.applenext.com/2010/03/programar-en-mac-01-un-programa-es-una-serie-de-instrucciones/</link>
		<comments>http://www.applenext.com/2010/03/programar-en-mac-01-un-programa-es-una-serie-de-instrucciones/#comments</comments>
		<pubDate>Mon, 22 Mar 2010 15:37:19 +0000</pubDate>
		<dc:creator>Alejo Miranda</dc:creator>
				<category><![CDATA[Programar en Mac]]></category>
		<category><![CDATA[C-Objective]]></category>
		<category><![CDATA[programar]]></category>
		<category><![CDATA[SDK]]></category>
		<category><![CDATA[Xcode]]></category>

		<guid isPermaLink="false">http://www.applenext.com/?p=1251</guid>
		<description><![CDATA[Introducción Si aprendes a conducir un coche, debes aprender a manejar determinadas cosas como si fueran una sola. Debes saber cómo funciona tanto el embrague, como el acelerador o el pedal del freno. Para programar también necesitarás almacenar muchas cosas en tu mente o tu programa se vendrá abajo. Mientras que en el caso de [...]]]></description>
			<content:encoded><![CDATA[<img width="526" height="200" src="http://www.applenext.com/wp-content/themes/bigfeature/library/timthumb/timthumb.php?src=/wp-content/uploads/2010/03/Programar-en-Mac01A.jpg&amp;w=526&amp;h=200&amp;zc=0" alt="Programar en Mac 01: Un programa es una serie de instrucciones" /><h2><span style="color: #993366;">Introducción</span></h2>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica; min-height: 14.0px;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;">Si aprendes a conducir un coche, debes aprender a manejar determinadas cosas como si fueran una sola. Debes saber cómo funciona tanto el embrague, como el acelerador o el pedal del freno. Para programar también necesitarás almacenar muchas cosas en tu mente o tu programa se vendrá abajo. Mientras que en el caso de un coche ya conoces cómo es el interior del vehículo antes de aprender a conducirlo, en el caso de la programación careces de esa ventaja antes de aprender a usar el Xcode. Para no abrumarte, dejaremos el tema de la programación como tal para más tarde; primero, te vamos a familiarizar con algunas cuestiones del código C-Objective, comenzando con algunos cálculos sencillos que ya conoces muy bien.<span id="more-1251"></span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica; min-height: 14.0px;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;">En Primaria, debes hacer cálculos rellenando los huecos:</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica; min-height: 14.0px;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;">2 + 6 = …</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;">… = 3 * 4</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;">(el asterisco * es el el símbolo estándar para representar la multiplicación en los teclados informáticos).</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica; min-height: 14.0px;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica; min-height: 14.0px;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;">En Secundaria, los puntos suspensivos pasaron de moda y las variables son llamadas “x” e “y” (y aparece una nueva palabra maravillosa, “álgebra”). Mirando atrás, puedes sacar tus propias conclusiones sobre por qué a la gente le intimidaba tanto este pequeño cambio de &#8230; por x.</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica; min-height: 14.0px;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica; min-height: 14.0px;">
<h2><span style="color: #993366;">Variables</span></h2>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica; min-height: 14.0px;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;">El lenguaje C-Objective también usa variables. Las variables no son más que nombres convenientes en cada caso para referirse a una dato específico, como un número. He aquí un ejemplo de código en C-Objective: una línea de código donde a una variable se le otorga un determinado valor:</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;">// [1]</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;">x = 4;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica; min-height: 14.0px;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica; min-height: 14.0px;">
<h2><span style="color: #993366;">El punto y coma</span></h2>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica; min-height: 14.0px;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;">A la variable denominada “x” se le ha otorgado el valor 4. Te habrás dado cuenta que hay un signo de punto y coma al final del código. Esto es así porque el punto y coma es necesario siempre al final de cualquier código. ¿Por qué? Bien, quizá el fragmento de código del ejemplo [1] pueda parecerte algo fácil y sin embargo un ordenador no sabría qué hacer con él. Es necesario utilizar un determinado programa especial, llamado “compilador” para convertir el texto que has tecleado en un lenguaje de “unos y ceros” que el Mac entenderá. Es muy complicado para un compilador leer el texto que cualquiera de nosotros puede haber escrito. Por tanto, tendrás que darle algunas pistas para que nos entienda, como por ejemplo el lugar donde termina cada código. Pues eso mismo es lo que hacemos cuando utilizamos el punto y coma.</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica; min-height: 14.0px;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;">Si te olvidas de un punto y coma en el texto, el código no podrá ser compilado, es decir, no se podrá convertir en un programa que el Mac pueda ejecutar. No te preocupes mucho por esto, porque el compilador te avisará y protestará en caso de no poder compilar tu código. Como veremos en futuros capítulos, te ayudará a encontrar dónde está el error y solucionarlo.</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica; min-height: 14.0px;"><span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: x-large;"><span style="line-height: 19px;"><strong><span style="font-family: Helvetica, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: small;"><span style="font-weight: normal; line-height: normal;"><br />
</span></span></strong></span></span></p>
<h2><span style="color: #993366;">Dando nombres a las variables</span></h2>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica; min-height: 14.0px;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;">Mientras que los nombres de las variables por sí mismos no significan nada para el compilador, utilizar nombres descriptivos en las variables puede hacer que nos resulte mucho más sencillo leer el programa y, por tanto, mucho más fácil de entender. Lo cual supone una ventaja en caso de tener que localizar y corregir un error en tu código.</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica; min-height: 14.0px;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;">Los errores en los programas se denominan tradicionalmente “bugs”. Encontrarlos y corregirlos es una operación habitual denominada “debugging”.</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica; min-height: 14.0px;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;">Por tanto, en el código real evitaremos utilizar nombres de variables no-descriptivos como x. Por ejemplo el nombre para el ancho de una imagen podría ser denominada pictureWidth [2]</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica; min-height: 14.0px;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;">// [2]</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;">pictureWidth = 8;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica; min-height: 14.0px;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica; min-height: 14.0px;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;">Si olvidar un punto y coma puede resultar un gran error para un compilador, podrás suponer que la programación es algo en lo que importan mucho los detalles. Uno de esos detalles es el de prestar atención al hecho de que el código será siempre diferenciará entre mayúsculas y minúsculas, por lo tanto, importará si utilizas mayúsculas o no. La variable pictureWidth no es la misma que pictureWIDTH o PictureWidth. De acuerdo con las reglas generales convenidas, nombraremos las variables fusionando palabras: la primera en minúscula y las demás comenzando en mayúscula, tal como hemos visto en el ejemplo anterior. A este estilo de nomenclatura se le llama generalmente camelCase. Siguiendo este esquema, reduciremos las opciones de caer en errores de programación por el uso de mayúsculas o minúsculas.</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica; min-height: 14.0px;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;">Por favor, date cuenta que el nombre de una variable consiste en una sola palabra (o un todo).</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica; min-height: 14.0px;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;">Mientras que tienes total libertad para elegir el nombre de las variables, hay algunas normas sobre el nombre de las variables con las que te tendrás que conformar. La primera regla que deberás obedecer es la de que los nombres no podrán ser una de las palabras reservadas del lenguaje Objective-C (por ejemplo una palabra con un significado especial en este lenguaje). Componiendo una palabra a partir de la unión de otras dos, estarás siempre cumpliendo esta norma, como hemos visto con pictureWidth. Para que las variables sean inteligibles, el uso de mayúsculas en los nombres es muy recomendable. Si sigues este esquema, tus programas tendrán menos bugs.</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica; min-height: 14.0px;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;">Si quieres seguir aprendiendo un par de reglas, continua leyendo este párrafo. Además de letras, el uso de dígitos está permitido, pero un nombre de variable jamás podrá comenzar con un dígito. También estará permitido el uso del “guión bajo” o “_”. He aquí algunos ejemplos de variables:</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica; min-height: 14.0px;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;"><span style="text-decoration: underline;"><span style="color: #993366;">Nombres aceptados</span></span>:</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;">door8k</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;">do8or</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;">do_or</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica; min-height: 14.0px;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;"><span style="text-decoration: underline;"><span style="color: #993366;">Nombres no aceptados</span></span>:</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;">door 8 (porque contiene un espacio)</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;">8door (porque empieza por un dígito)</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica; min-height: 14.0px;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;"><span style="color: #993366;"><span style="text-decoration: underline;">No recomendados</span></span>:</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;">Door8 (porque comienza con mayúscula)</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica; min-height: 14.0px;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica; min-height: 14.0px;">
<h2><span style="color: #993366;">El uso de variables para cálculo</span></h2>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica; min-height: 14.0px;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;">Ahora que sabemos cómo dar un valor a una variable, podremos realizar cálculos. Vamos a ver el código para calcular la superficie de una imagen. He aquí el código [3] que lo hace:</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica; min-height: 14.0px;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;">// [3]</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;">pictureWidth=8;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;">pictureHeight=6;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;">pictureSurfaceArea=pictureWidth*pictureHeight;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica; min-height: 14.0px;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;">Sorprendentemente el compilador no es sensible a los espacios (salvo para los nombres de variables, etc). Así que para hacer el código más fácil a los ojos, podremos usar algunos espacios:</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica; min-height: 14.0px;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;">// [4]</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;">pictureWidth = 8;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;">pictureHeight = 6;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;">pictureSurfaceArea = pictureWidth * pictureHeight;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica; min-height: 14.0px;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica; min-height: 14.0px;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica; min-height: 14.0px;"><span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; color: #993366; font-size: x-large;"><span style="line-height: 19px;"><strong><span style="font-family: Helvetica, 'Times New Roman', 'Bitstream Charter', Times, serif; color: #000000; font-size: small;"><span style="font-weight: normal; line-height: normal;">[CONTINÚA...parte 2]</span></span></strong></span></span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica; min-height: 14.0px;">
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.applenext.com%2F2010%2F03%2Fprogramar-en-mac-01-un-programa-es-una-serie-de-instrucciones%2F&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></content:encoded>
			<wfw:commentRss>http://www.applenext.com/2010/03/programar-en-mac-01-un-programa-es-una-serie-de-instrucciones/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>DevForums: foros oficiales de Apple para Programadores</title>
		<link>http://www.applenext.com/2010/03/devforums-foros-oficiales-de-apple-para-programadores/</link>
		<comments>http://www.applenext.com/2010/03/devforums-foros-oficiales-de-apple-para-programadores/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 10:04:37 +0000</pubDate>
		<dc:creator>Alejo Miranda</dc:creator>
				<category><![CDATA[Programar en Mac]]></category>
		<category><![CDATA[Ayuda iPhone]]></category>
		<category><![CDATA[Ayuda Mac]]></category>
		<category><![CDATA[C-Objective]]></category>
		<category><![CDATA[Foros]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[programar]]></category>
		<category><![CDATA[SDK]]></category>
		<category><![CDATA[Xcode]]></category>

		<guid isPermaLink="false">http://www.applenext.com/?p=1191</guid>
		<description><![CDATA[Como lo oyes, en la Apple Developer Connection (ADC, que ya explicamos hace tiempo) existen unos foros oficiales proporcionados por Apple para la discusión, debate y ayuda de otros programadores. Es realmente una muy buena noticia para los que empiezan con esto porque siempre será más útil la ayuda y la experiencia de alguien a [...]]]></description>
			<content:encoded><![CDATA[<img width="526" height="200" src="http://www.applenext.com/wp-content/themes/bigfeature/library/timthumb/timthumb.php?src=/wp-content/uploads/2010/03/DevForums.jpg&amp;w=526&amp;h=200&amp;zc=0" alt="DevForums: foros oficiales de Apple para Programadores" /><p style="text-align: justify;">Como lo oyes, en la <strong>Apple Developer Connection</strong> (<a href="http://www.applenext.com/2010/02/programacion-en-mac-¿que-es-la-apple-developer-connection/" target="_blank"><strong>ADC</strong></a>, que ya explicamos hace tiempo) existen unos foros oficiales proporcionados por Apple para la discusión, debate y ayuda de otros programadores. Es realmente una muy buena noticia para los que empiezan con esto porque siempre será más útil la ayuda y la experiencia de alguien a la hora de dar los primeros pasos en la programación para Mac.<span id="more-1191"></span></p>
<p style="text-align: justify;">Los foros están en el siguiente enlace: <a target="_blank" href="http://developer.apple.com/devforums/">http://developer.apple.com/devforums/</a>.</p>
<p style="text-align: justify;">Cuando entres en la web, te darás cuenta que los foros, como en toda la sección de programación de la web de Apple, está <strong>en inglés</strong> (creo que en Chino y Japonés también hay algunas cosas), lo cual supone un handicap para algunos de los hispanohablantes que dan sus primeros pasos puesto que auque muchos nos manejemos en inglés siempre es más sencillo comenzar con la programación y participar en foros en nuestro idioma.</p>
<p style="text-align: justify;">Al margen de esto, hay una cuestión importante: los foros están <strong>disponibles para los que accedan a un programa de programación de Apple: los Developer</strong><strong> Programs</strong> que también explicábamos hace pocos días. No basta con tener una cuenta de Apple, sino que habrá que apuntarse a estos programas. Son bastante interesantes y realmente, si lo pensamos, tampoco son tan caros. Pero es cierto que comenzar a programar es, por ahora, un hobbie, y 99 € quizá son demasiados para un hobbie.</p>
<p style="text-align: justify;">De todos modos, para quienes os animéis a apuntaros a un programa de programación de la web de Apple, podréis acceder a estos <strong>DevForums</strong>, podréis descargar el <strong>SDK del iPad</strong> para investigar sobre cómo será el nuevo aparatito de Apple antes que nadie, podréis acceder a invitaciones para seminarios y eventos de Apple e incluso para las famosas keynote (especialmente la <strong>WWDC&#8217;10</strong> orientada especialmente a los desarrolladores y en la que previsiblemente <strong>se presentará el nuevo iPhone v4.0</strong>)</p>
<p style="text-align: justify;">
<div id="attachment_1192" class="wp-caption alignnone" style="width: 536px"><img class="size-full wp-image-1192" title="DevForums" src="http://www.applenext.com/wp-content/uploads/2010/03/Captura-de-pantalla-2010-03-12-a-las-10.52.14.png" alt="Muestra de los DevForums de Apple para los desarrolladores" width="526" height="348" /><p class="wp-caption-text">Muestra de los DevForums de Apple para los desarrolladores</p></div>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.applenext.com%2F2010%2F03%2Fdevforums-foros-oficiales-de-apple-para-programadores%2F&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></content:encoded>
			<wfw:commentRss>http://www.applenext.com/2010/03/devforums-foros-oficiales-de-apple-para-programadores/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Programar en Mac: el iPhone/iPad SDK</title>
		<link>http://www.applenext.com/2010/03/programar-en-mac-el-iphoneipad-sdk/</link>
		<comments>http://www.applenext.com/2010/03/programar-en-mac-el-iphoneipad-sdk/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 03:09:38 +0000</pubDate>
		<dc:creator>Alejo Miranda</dc:creator>
				<category><![CDATA[AppleNeXt]]></category>
		<category><![CDATA[Programar en Mac]]></category>
		<category><![CDATA[Aplicaciones]]></category>
		<category><![CDATA[AppStore]]></category>
		<category><![CDATA[Ayuda iPhone]]></category>
		<category><![CDATA[C-Objective]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[program]]></category>
		<category><![CDATA[SDK]]></category>
		<category><![CDATA[Xcode]]></category>

		<guid isPermaLink="false">http://www.applenext.com/?p=1111</guid>
		<description><![CDATA[Antes de continuar con el tutorial de programación en Mac (usando Cocoa), vamos a hablar de las herramientas necesarias para dicha programación: Xcode y el iPhone SDK. Vamos a echar un vistazo a estas aplicaciones tan importantes para programar en Mac: Xcode es la herramienta principal de &#8220;Developer Tools&#8221; (que como dijimos en el anterior [...]]]></description>
			<content:encoded><![CDATA[<img width="526" height="200" src="http://www.applenext.com/wp-content/themes/bigfeature/library/timthumb/timthumb.php?src=/wp-content/uploads/2010/03/iphone_sdk_shift.jpg&amp;w=526&amp;h=200&amp;zc=0" alt="Programar en Mac: el iPhone/iPad SDK" /><p style="text-align: justify;">Antes de continuar con el tutorial de programación en Mac (usando Cocoa), vamos a hablar de las herramientas necesarias para dicha programación: <strong>Xcode</strong> y el <strong>iPhone SDK</strong>.</p>
<p style="text-align: justify;">Vamos a echar un vistazo a estas aplicaciones tan importantes para programar en Mac:<span id="more-1111"></span></p>
<p style="text-align: justify;">
<div id="attachment_1115" class="wp-caption alignnone" style="width: 487px"><img class="size-full wp-image-1115" title="Herramientas SDK" src="http://www.applenext.com/wp-content/uploads/2010/03/Captura-de-pantalla-2010-03-02-a-las-03.07.07.png" alt="La presentación de las herramientas del iPhone SDK" width="477" height="186" /><p class="wp-caption-text">La presentación de las herramientas del iPhone SDK</p></div>
<p style="text-align: justify;"><strong>Xcode</strong> es la herramienta principal de &#8220;Developer Tools&#8221; (que como dijimos en el anterior post «<a href="http://www.applenext.com/2010/02/programacion-en-mac-%c2%bfque-es-la-apple-developer-connection/">¿Qué es la “Apple Developer Connection”?</a>» se trata del pack de herramientas para programadores que se entregaba en las primeras versiones de Mac OS X). Para programar en Mac es la aplicación más importante que deberemos aprender a utilizar en todo caso: tanto para desarrollar software para Mac, para iPhone/iPad/iPodTouch, como para Safari. <strong>En todos los casos hace falta el Xcode</strong>.</p>
<p style="text-align: justify;">
<p style="text-align: justify;">
<div id="attachment_1116" class="wp-caption alignnone" style="width: 485px"><img class="size-full wp-image-1116" title="Instruments" src="http://www.applenext.com/wp-content/uploads/2010/03/Captura-de-pantalla-2010-03-02-a-las-03.09.08.png" alt="Instruments" width="475" height="188" /><p class="wp-caption-text">Instruments</p></div>
<p style="text-align: justify;">Pero esta vez nos vamos a centrar en otra herramienta: el <strong>iPhone SDK</strong> (que vale igual para el iPod Touch y a partir de la reciente versión 3.2 beta para el iPad).</p>
<p style="text-align: justify;">El iPhone SDK es el <strong>Kit de Desarrollo de Software del iPhone</strong>, es decir, el paquete de herramientas necesarias para la creación de Apps y utilidades para el iPhone y el iPad. Si quieres ver el vídeo completo de la presentación del iPhone SDK pulsa <a target="_blank" href="http://events.apple.com.edgesuite.net/rtp20e92/event/index.html?internal=fj2l3s9dm" target="_blank">aquí</a>.</p>
<p style="text-align: justify;">
<div id="attachment_1117" class="wp-caption alignnone" style="width: 487px"><img class="size-full wp-image-1117" title="Scott Forstall SDK" src="http://www.applenext.com/wp-content/uploads/2010/03/Captura-de-pantalla-2010-03-02-a-las-03.07.48.png" alt="Scott Forstall presenta el iPhone SDK" width="477" height="186" /><p class="wp-caption-text">Scott Forstall presenta el iPhone SDK</p></div>
<p style="text-align: justify;">El SDK está formado por 4 programas: <strong>Xcode</strong>, Interface Builder, Instruments y iPhone Simulator. El primero de ellos, como ya hemos hablado, es el programa necesario para programar en C-Objectives de acuerdo con Cocoa. El <strong>Interface Builder</strong> es una herramienta que se utiliza para diseñar el interfaz gráfico de usuario. <strong>Instruments</strong> además de un conjunto de instrumentos necesarios proporciona una linea de tiempo para los datos. Por último el <strong>iPhone Simulator</strong> es, como su nombre evidencia, un simulador para probar las aplicaciones de la forma más rápida y sencilla.</p>
<p style="text-align: justify;">El SDK, gracia a estas herramientas, permitirá a alguien que sepa manejarse con <strong>C-Objective</strong> (incluso a quien programe en C y C++) <strong>desarrollar cualquier aplicación</strong> específicamente para el iPhone y el iPod Touch.</p>
<p style="text-align: justify;">Las herramientas son las mismas que las que <strong><a target="_blank" style="color: #465b69; text-decoration: none; font-size: 14px; padding: 0px; margin: 0px;" title="Apple" href="http://clk.tradedoubler.com/click?p(37883)a(1332683)g(16294920)url(http://store.apple.com/es/go/home)">Apple</a></strong> usó en su día para crear las aplicaciones para el iPhone, y que permiten un acceso total al hardware. Para el sonido, se inluye <strong>Core Audio</strong> y <strong>Open AL</strong>, para vídeo, <strong>Video Playback</strong> con soporte para el codec h.264, <strong>Core Animation</strong>, <strong>Quarz</strong> y <strong>Open GL ES</strong> para la aceleración gráfica 3D vía hardware, que mejora el rendimiento optimizando el consumo de batería. Por último, también incluye <strong>Core Location</strong>, para las aplicaciones de posicionamiento geográfico.</p>
<div id="attachment_1118" class="wp-caption alignnone" style="width: 485px"><img class="size-full wp-image-1118" title="iPhone SDK Presentation" src="http://www.applenext.com/wp-content/uploads/2010/03/Captura-de-pantalla-2010-03-02-a-las-03.08.341.png" alt="Otro momento de la presentación el 6 de marzo de 2008" width="475" height="188" /><p class="wp-caption-text">Otro momento de la presentación el 6 de marzo de 2008</p></div>
<p style="text-align: justify;">Después del desarrollo de aplicaciones (las aplicaciones del iPhone, iPod Touch e iPad son denominadas &#8220;Apps&#8221;, para diferenciarlas de las &#8220;Aplicaciones&#8221; que es como conocemos al software para el Mac), <strong>Apple las introducirá en el mercado a través de la AppStore</strong>, en la que están clasificadas por materias.</p>
<p style="text-align: justify;">Para satisfacer la necesidad de cada desarrollador para cobrar su obra creada y al mismo tiempo la exigencia de Apple de cobrar la puesta a disposición en el AppStore y el desarrollo del SDK, los <strong>programadores podrán poner el precio que deseen a sus Apps</strong>. Mientras, <strong>Apple se lleva un 30% en concepto de distribución y alojamiento</strong>. En caso de que el desarrollador decida colgar la aplicación sin que ésta tenga ningun coste, Apple no se lleva nada en ningún caso, pero la aloja y la distribuye como si se tratase de una aplicación de pago.</p>
<p style="text-align: justify;">La <strong>ADC</strong> (Apple Developer Connection) proporciona dos modalidades de programas para los desarrolladores. Ambos programas pondrán a su disposición un elenco de aplicaciones, heramientas, tutoriales, guías y ayudas para el desarrollo y la distribución de las diferentes Apps creadas. Estos dos programas son el <strong>Standard por 99 $ </strong>al año y el <strong>Programa de Empresas por 299 $</strong> anuales.</p>
<p style="text-align: justify;">
<div id="attachment_1120" class="wp-caption alignnone" style="width: 319px"><img class="size-full wp-image-1120" title="iPhone Developer Programs" src="http://www.applenext.com/wp-content/uploads/2010/03/Captura-de-pantalla-2010-03-02-a-las-03.39.36.png" alt="Programas de Desarrollo" width="309" height="217" /><p class="wp-caption-text">Programas de Desarrollo</p></div>
<p style="text-align: justify;">
<p style="text-align: justify;">Para ambos programas será necesario utilizar ordenadores <strong>Mac con procesador Intel</strong> y al menos el Mac OS X <strong>Leopard</strong>. En el caso de la versión 3.2 beta (la preparada para el desarrollo de Apps para el iPad) será imprescindible Snow Leopard.</p>
<p style="text-align: justify;">
<div id="attachment_1121" class="wp-caption alignnone" style="width: 593px"><img class="size-full wp-image-1121 " title="Modos de Programas" src="http://www.applenext.com/wp-content/uploads/2010/03/Captura-de-pantalla-2010-03-02-a-las-03.39.22.png" alt="Características de cada programa para desarrolladores del iPhone" width="583" height="266" /><p class="wp-caption-text">Características de cada programa para desarrolladores del iPhone</p></div>
<p style="text-align: justify;">
<p style="text-align: justify;">
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.applenext.com%2F2010%2F03%2Fprogramar-en-mac-el-iphoneipad-sdk%2F&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></content:encoded>
			<wfw:commentRss>http://www.applenext.com/2010/03/programar-en-mac-el-iphoneipad-sdk/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Programar en Mac: Introducción</title>
		<link>http://www.applenext.com/2010/03/programar-en-mac-introduccion/</link>
		<comments>http://www.applenext.com/2010/03/programar-en-mac-introduccion/#comments</comments>
		<pubDate>Mon, 01 Mar 2010 01:58:42 +0000</pubDate>
		<dc:creator>Alejo Miranda</dc:creator>
				<category><![CDATA[Programar en Mac]]></category>
		<category><![CDATA[C-Objective]]></category>
		<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[Lenguaje C]]></category>
		<category><![CDATA[programar]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Xcode]]></category>

		<guid isPermaLink="false">http://www.applenext.com/?p=1096</guid>
		<description><![CDATA[Hace unas semanas que el equipo de AppleNeXt.com estamos traduciendo al español con un lenguaje asequible un tutorial sobre la programación en Mac para los que se quieran adentrar en los secretos del desarrollo de software para Mac, iPhone, Safari e iPad. Inicialmente no es algo muy complicado, como veréis. Pero a medida que vayamos [...]]]></description>
			<content:encoded><![CDATA[<img width="526" height="200" src="http://www.applenext.com/wp-content/themes/bigfeature/library/timthumb/timthumb.php?src=/wp-content/uploads/2010/03/Captura-de-pantalla-2010-03-01-a-las-03.52.04.png&amp;w=526&amp;h=200&amp;zc=0" alt="Programar en Mac: Introducción" /><p style="text-align: justify; font: normal normal normal 14px/normal Helvetica; margin: 0px;"><span style="color: #000000;">Hace unas semanas que el equipo de <a target="_blank" href="http://AppleNeXt.com">AppleNeXt.com</a> estamos traduciendo al español con un lenguaje asequible un tutorial sobre la programación en Mac para los que se quieran adentrar en los secretos del desarrollo de software para Mac, iPhone, Safari e iPad.</span></p>
<p style="text-align: justify; font: normal normal normal 14px/normal Helvetica; margin: 0px;">
<p style="text-align: justify; font: normal normal normal 14px/normal Helvetica; margin: 0px;">Inicialmente no es algo muy complicado, como veréis. Pero a medida que vayamos avanzando la cosa adquiere un nivel mayor. Pero no os asustéis, todo es empezar y poco a poco iremos sumando más capítulos a este tutorial. ¿Preparados para convertiros en programadores de Mac? Adelante.<span id="more-1096"></span></p>
<div id="attachment_1097" class="wp-caption alignnone" style="width: 510px"><img class="size-full wp-image-1097" title="cocoa-beans" src="http://www.applenext.com/wp-content/uploads/2010/03/cocoa-beans.jpg" alt="Cocoa quiere decir Cacao en inglés" width="500" height="278" /><p class="wp-caption-text">Cocoa quiere decir Cacao en inglés</p></div>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 14.0px Helvetica; color: #004e67;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 14.0px Helvetica; color: #004e67;"><span style="letter-spacing: 0.0px;"><strong>Programar en Mac con Cocoa utilizando Objective-C</strong></span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 14.0px Helvetica; color: #004e67; min-height: 17.0px;"><span style="letter-spacing: 0.0px;"><strong> </strong></span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;"><span style="letter-spacing: 0.0px;">Hoy día existen multitud de aplicaciones y software que ofrecen soluciones creativas y sencillas para cualquier situación que podamos encontrar. Muchas de estas aplicaciones se han desarrollado para Mac, para iPhone / iPod Touch o simplemente para el iPod classic y nano.</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica; min-height: 14.0px;"><span style="letter-spacing: 0.0px;"> </span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;"><span style="letter-spacing: 0.0px;">Con este tutorial pretendemos involucrarte con sencillez en los conceptos fundamentales de la programación en Mac utilizando Xcode y Objective-C.</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica; min-height: 14.0px;"><span style="letter-spacing: 0.0px;"> </span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;"><span style="letter-spacing: 0.0px;">Este tutorial no está destinado a profesionales experimentados.</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica; min-height: 14.0px;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica; min-height: 14.0px;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica; min-height: 14.0px;">
<div id="attachment_1098" class="wp-caption alignnone" style="width: 396px"><img class="size-full wp-image-1098" title="000085-addcontroller1" src="http://www.applenext.com/wp-content/uploads/2010/03/000085-addcontroller1.png" alt="Comencemos a usar Cocoa" width="386" height="427" /><p class="wp-caption-text">Comencemos a usar Cocoa</p></div>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica; min-height: 14.0px;"><span style="letter-spacing: 0.0px;"> </span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 14.0px Helvetica; color: #004e67;"><span style="letter-spacing: 0.0px;"><strong>Introducción</strong></span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica; min-height: 14.0px;"><span style="letter-spacing: 0.0px;"> </span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;"><span style="letter-spacing: 0.0px;">Apple te proporciona totalmente gratis absolutamente todas las herramientas necesarias para crear grandes aplicaciones utilizando Cocoa. Este conjunto de herramientas, conocido bajo el nombre de Xcode, viene de serie con Mac OS X y además te lo puedes descargar de la sección de desarrollo de la página web de Apple.</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica; min-height: 14.0px;"><span style="letter-spacing: 0.0px;"> </span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;"><span style="letter-spacing: 0.0px;">Además existen buenos libros de programación en Mac pero la mayoría de ellos dan por hecho que tienes experiencia en programación. Este tutorial no. Nosotros te vamos a enseñar lo más básico de la programación y en particular la programación con Objective-C utilizando Xcode. Después de 5 capítulos serás capaz de crear un programa básico sin interfaz gráfico de usuario (GUI). Más tarde, tras algunos capítulo más, ya conocerás como crear programas sencillos con interfaz de usuario. Y cuando hayas concluido este tutorial estarás preparado para abordar otros libros más complejos sobre la programación basada en C. Deberás estudiar esos libros también porque hay mucho por aprender, aunque por ahora no debes preocuparte porque este tutorial te resultará bastante fácil.</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica; min-height: 14.0px;"><span style="letter-spacing: 0.0px;"> </span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;"><span style="letter-spacing: 0.0px;"><strong>Cómo usar este tutorial</strong>.</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica; min-height: 14.0px;"><span style="letter-spacing: 0.0px;"> </span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;"><span style="letter-spacing: 0.0px;">Como verás, algunos párrafos se mostrarán dentro de una pequeña caja. Te sugerimos que leas cada capítulo al menos dos veces. La primera, evitando los textos de las cajas, y la segunda vez que leas los capítulos, deberás leer el contenido de las cajas. Deberás practicar lo que hayas aprendido, y así podrás aprender también los detalles más interesantes, que quizá pasaron desapercibidas en la primera lectura. Si utilizas el tutorial de esta manera, podrás equilibrar la curva de aprendizaje del desarrollo de aplicaciones.</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica; min-height: 14.0px;"><span style="letter-spacing: 0.0px;"> </span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;"><span style="letter-spacing: 0.0px;">Este tutorial contiene docenas de ejemplos, que consisten en una o más líneas de código de programación. Para asegurarte de asociar la explicación con los ejemplos apropiados, cada ejemplo está etiquetado con un numero colocado entre corchetes, como este [1]. La mayoría de los ejemplos tienen más de dos o más líneas de código. A veces, se utilizará un segundo número para referirse a una línea del código en concreto. Por ejemplo, [1.1] se refiere a la primera línea del ejemplo [1]. En los recortes de código más extensos pondremos la referencia tras una línea de código:</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica; min-height: 14.0px;"><span style="letter-spacing: 0.0px;"> </span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;"><span style="letter-spacing: 0.0px;">//[1]</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;"><span style="letter-spacing: 0.0px;">volume = baseArea * height;    // [1.1]</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica; min-height: 14.0px;"><span style="letter-spacing: 0.0px;"> </span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;"><span style="letter-spacing: 0.0px;">Programar no es un trabajo sencillo. Por tu parte, requerirá cierta perseverancia y deberás tratar de realizar por ti mismo todas las cuestiones que se planteen en este tutorial. No puedes aprender como tocar el piano o conducir un coche únicamente leyendo un manual; lo mismo ocurre para aprender a programar. Este tutorial está en formato digital, así que no tendrás ninguna excusa para ir probando el Xcode mientras lo sigues. Por lo tanto, a partir del capítulo 5 te sugeriremos que leas cada uno al menos 3 veces. En la última lectura deberías tratar de realizar los ejemplos con Xcode y después realizar algunas modificaciones en el código para ver qué ocurre.</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;"><span style="letter-spacing: 0.0px;"><img class="alignnone size-full wp-image-1099" title="Xcode Shortcuts" src="http://www.applenext.com/wp-content/uploads/2010/03/Captura-de-pantalla-2010-03-01-a-las-03.51.13.png" alt="Xcode Shortcuts" width="526" height="200" /></span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px Helvetica;"><span style="letter-spacing: 0.0px;">Vía | <a target="_blank" href="http://www.cocoalab.com/" target="_blank">www.cocoalab.com</a></span></p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.applenext.com%2F2010%2F03%2Fprogramar-en-mac-introduccion%2F&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></content:encoded>
			<wfw:commentRss>http://www.applenext.com/2010/03/programar-en-mac-introduccion/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
	</channel>
</rss>

