<?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>script archivos - Frexus</title>
	<atom:link href="https://www.frexus.dev/tag/script/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.frexus.dev/tag/script/</link>
	<description>Generando Valor Agreado</description>
	<lastBuildDate>Tue, 21 May 2024 00:09:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://www.frexus.dev/wp-content/uploads/2024/03/cropped-Captura-de-Pantalla-2022-12-26-a-las-15.52.42-32x32.png</url>
	<title>script archivos - Frexus</title>
	<link>https://www.frexus.dev/tag/script/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">215529362</site>	<item>
		<title>Convertir números a letras</title>
		<link>https://www.frexus.dev/post/convertir-numeros-a-letras/</link>
					<comments>https://www.frexus.dev/post/convertir-numeros-a-letras/#respond</comments>
		
		<dc:creator><![CDATA[Alfredo de Jesús Gutiérrez]]></dc:creator>
		<pubDate>Mon, 25 Sep 2023 18:37:00 +0000</pubDate>
				<category><![CDATA[post]]></category>
		<category><![CDATA[numeros a letras]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[script]]></category>
		<guid isPermaLink="false">https://www.frexus.dev/?p=2667</guid>

					<description><![CDATA[<p>Convertir números a letras, suele ser un ejercicio muy peculiar en el tema de la programación, el detalle esta en los primeros 19 números de la numeración ya que a partir del 20 hasta el infinito no es más que la conjugación de estos. A continuación se describe la función que se desarrollo: Código fuente Explicando la función Primero hay que tener en cuenta que la se creo tres grupos de arreglos donde se encuentren los que no son compuestos, las decenas y centenas; el resto de los números son el resultado de la composición o mezcla de estos tres arreglos. Los arreglos son: Cuando se recibe una cantidad la función la procesa, identificando todos los números menores a 20 (los que se encuentran en el primer arreglo). Si esta condición se cumple ( if ($number &#60; 20) ) se valida que la cantidad que se envía no sea igual a cero, de ser así se envía el contenido que tiene el arreglo en la posición de la cantidad dada; así al recibir la cantidad 11, 10, 1 o cualquiera que sea menor a veinte escribirá once, diez, uno o lo que contenga la casilla en esa posición. Luego se usa la condición $numero &#60; 100 para descomponer las decenas y si el número llega a ser menor de 20 se concatena con el llamado a la función usando la recursividad para los unidades y así componer la descripción de la cantidad. Para el caso de las centenas se sigue la misma regla solo que ahora la condición es para cuando $numero &#60; 1000, se tiene el caso de que las cantidades sea 101, 201, que debe escribir un y no uno, para ello se agrego en la posición cero del arreglo numerosHastaDiecinueve, la notación un, que también se utilizará cuando se este en el rango de los millones, se escribirá un millón. Sin esta variante se escribiría uno millón o ciento uno mil. Ejecución del script Se puede apreciar en la imagen 1, el resultado que se tiene al ejecutar el script en el rango de los millones. Mientras en el vídeo 1, se observa como el script puede ser modificado para convertir diferentes tipos de cantidades. Este script permite convertir números a letras hasta el orden de los millones, faltaría agregar las correspondientes líneas para billones, trillones y demás. Si se utilizar en algún sistema de presupuestos o facturación solo hay que cambiar en el contenido uno del array numerosHastaDiesinueve por un, y posteriormente concatenarlo con las palabras &#8220;Pesos M.N.&#8221;. Versión en ingles Código fuente disponible en el github</p>
<p>La entrada <a href="https://www.frexus.dev/post/convertir-numeros-a-letras/">Convertir números a letras</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img fetchpriority="high" decoding="async" width="1880" height="1058" src="https://www.frexus.dev/wp-content/uploads/2023/09/pexels-photo-977931.jpeg" alt="convertir números a letras black typewriter" class="wp-image-2671" style="width:579px;height:auto" srcset="https://www.frexus.dev/wp-content/uploads/2023/09/pexels-photo-977931.jpeg 1880w, https://www.frexus.dev/wp-content/uploads/2023/09/pexels-photo-977931-300x169.jpeg 300w, https://www.frexus.dev/wp-content/uploads/2023/09/pexels-photo-977931-1024x576.jpeg 1024w, https://www.frexus.dev/wp-content/uploads/2023/09/pexels-photo-977931-768x432.jpeg 768w, https://www.frexus.dev/wp-content/uploads/2023/09/pexels-photo-977931-1536x864.jpeg 1536w, https://www.frexus.dev/wp-content/uploads/2023/09/pexels-photo-977931-1140x642.jpeg 1140w" sizes="(max-width: 1880px) 100vw, 1880px" /><figcaption class="wp-element-caption">Photo by Dominika Roseclay on <a href="https://www.pexels.com/photo/black-typewriter-977931/">Pexels.com</a></figcaption></figure>
</div>


<p>Convertir números a letras,  suele ser un ejercicio muy peculiar en el tema de la programación, el detalle esta en los primeros 19 números de la numeración ya que a partir del 20 hasta el infinito no es  más que la conjugación de estos. A continuación se describe la función que se desarrollo:</p>



<h3 class="wp-block-heading">Código fuente</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-php" data-lang="PHP"><code>function convertirNumeroALetras($numero) {
    # arreglo con los nombres de los números del 0 al 19
    $numerosHastaDiecinueve = array(
        0 =&gt; &#39;un&#39;, 1 =&gt; &#39;uno&#39;, 2 =&gt; &#39;dos&#39;, 3 =&gt; &#39;tres&#39;, 4 =&gt; &#39;cuatro&#39;, 5 =&gt; &#39;cinco&#39;,
        6 =&gt; &#39;seis&#39;, 7 =&gt; &#39;siete&#39;, 8 =&gt; &#39;ocho&#39;, 9 =&gt; &#39;nueve&#39;, 10 =&gt; &#39;diez&#39;, 11 =&gt; &#39;once&#39;,
        12 =&gt; &#39;doce&#39;, 13 =&gt; &#39;trece&#39;, 14 =&gt; &#39;catorce&#39;, 15 =&gt; &#39;quince&#39;, 16 =&gt; &#39;dieciséis&#39;,
        17 =&gt; &#39;diecisiete&#39;, 18 =&gt; &#39;dieciocho&#39;, 19 =&gt; &#39;diecinueve&#39;
    );

    # arreglo con los nombres de las decenas
    $decenas = array(
        20 =&gt; &#39;veinte&#39;, 30 =&gt; &#39;treinta&#39;, 40 =&gt; &#39;cuarenta&#39;, 50 =&gt; &#39;cincuenta&#39;,
        60 =&gt; &#39;sesenta&#39;, 70 =&gt; &#39;setenta&#39;, 80 =&gt; &#39;ochenta&#39;, 90 =&gt; &#39;noventa&#39;
    );

    # arreglo con los nombres de las centenas
    $centenas_letras = array(
        100 =&gt; &#39;cien&#39;, 200=&gt; &#39;docientos&#39;, 300=&gt;&#39;trecientos&#39;, 400=&gt;&#39;cuatrocientos&#39;, 500=&gt;&#39;quinientos&#39;,
        600=&gt;&#39;seicientos&#39;, 700=&gt;&#39;setecientos&#39;, 800=&gt;&#39;ochocientos&#39;, 900=&gt;&#39;novecientos&#39;, 1000 =&gt; &#39;mil&#39;
    );


    if ($numero &lt; 20) {
        # Si el número es menor que 20, se busca en el array de números hasta diecinueve
        if($numero == 00){
            #break;
        }else{
            return $numerosHastaDiecinueve[$numero];
        }
    }elseif ($numero &lt; 100 ) {
        # Si el número es menor que 100, se descompone en decenas y unidades
        $decena = floor($numero / 10) * 10;
        $unidad = $numero % 10;
        $letra = $decenas[$decena];
        if ($unidad &gt; 0) {
            $letra .= &#39; y &#39; . $numerosHastaDiecinueve[$unidad];
        }
        return $letra;
    } elseif ($numero &lt; 1000) {
        # Si el número es menor que 1000, se descompone en centenas, decenas y unidades
        $centena = floor($numero / 100);
        $resto = $numero % 100;
        $centena = floor($numero / 100)*100;
        $decena = $numero - $centena;
        $letra = ($numero &lt; 200 && $numero &gt; 100) ? $centenas_letras[$centena].&#39;to &#39;.convertirNumeroALetras($decena) : $centenas_letras[$centena].&#39; &#39;.convertirNumeroALetras($decena);
        return $letra;
    } else {
        # Si el número es mayor o igual a 1000, se descompone en miles, centenas, decenas y unidades
        $millar = floor($numero / 1000);
        $resto = $numero % 1000;
        $letra = $millar == 1 ? $centenas_letras[1000] : convertirNumeroALetras($millar) . &#39; mil&#39;;
        # si el número es mayor de 100 y menor a los 102, ciento un mil ... y no ciento uno mil...
        if( ($millar &gt;100 && $millar &lt;102)){
            $letra = $centenas_letras[$millar-1].&#39;to &#39;.$numerosHastaDiecinueve[0].&#39; mil &#39;;
        }
        # validaciones para los 201, 301, 401, ... 901 los docientos ... un mil 
        if(($millar &gt; 200 && $millar &lt; 202) || ($millar &gt; 300 && $millar &lt; 302) || ($millar &gt; 400 && $millar &lt; 402) || ($millar &gt; 500 && $millar &lt; 502) || ($millar &gt; 600 && $millar &lt; 602) || ($millar &gt; 700 && $millar &lt; 702) || ($millar &gt; 800 && $millar &lt; 802) || ($millar &gt; 900 && $millar &lt; 902)){
            $letra = $centenas_letras[$millar-1].&#39; &#39;.$numerosHastaDiecinueve[0].&#39; mil &#39;;
        }
        if ($resto &gt; 0) {
            $letra .= &#39; &#39; . convertirNumeroALetras($resto);
        }
       # si el número es menor o igual a 1&#39;000,000, se descompone en los millares, miles, centenas, decenas y unidades.
        if ($numero == 1000000){
            $letra =  $numerosHastaDiecinueve[0].&#39; millón&#39;;
        }elseif ($numero &gt; 1000000){
            $millon = floor($numero / 1000000);
            $centimas = $numero - (1000000*$millon);
            if ($millon == 1){
                $letra = $numerosHastaDiecinueve[0].&#39; millón &#39;.convertirNumeroALetras($centimas);
            }else{
                $letra = convertirNumeroALetras($millon).&#39; millones &#39;.convertirNumeroALetras($centimas);
                #$letra = $centimas;
            }
        }
        return $letra;
    } 
}</code></pre></div>



<h3 class="wp-block-heading">Explicando la función</h3>



<p>Primero hay que tener en cuenta que la  se creo tres grupos de arreglos donde se encuentren los que no son compuestos, las decenas y centenas; el resto de los números son el resultado de la composición o mezcla de estos tres arreglos. Los arreglos son:</p>



<ul class="wp-block-list">
<li><strong>numerosHastaDiecinueve</strong>: Este arreglo contiene todos los números desde el uno hasta el 19, también cuenta con una posición donde esta la palabra &#8220;<strong>un</strong>&#8221; este es usado para referirse a las cantidades del millón, es decir, no suele escribirse <strong>uno millón</strong>, sino <strong>un millón</strong>.</li>



<li><strong>decenas</strong>: Este arreglo contiene todas las descripciones que se pueda tener en el orden de las decenas.</li>



<li><strong>centenas_letras</strong>: Este arreglo contiene las descripciones que se puede tener en el orden de las centenas.</li>
</ul>



<p>Cuando se recibe una cantidad la función la procesa, identificando todos los números menores a 20 (los que se encuentran en el primer arreglo). Si esta condición se cumple ( <code>if ($number &lt; 20)</code> ) se valida que la cantidad que se envía no sea igual a cero, de ser así se envía el contenido que tiene el arreglo en la posición de la cantidad dada; así al recibir la cantidad 11, 10, 1 o cualquiera que sea menor a veinte escribirá once, diez, uno o lo que contenga la casilla en esa posición. </p>



<p>Luego se usa la condición <code>$numero &lt; 100</code> para descomponer las decenas y si el número llega a ser menor de 20 se concatena con el llamado a la función usando la recursividad para los unidades y así componer la descripción de la cantidad.</p>



<p>Para el caso de las centenas se sigue la misma regla solo que ahora la condición es para cuando <code>$numero &lt; 1000</code>,  se tiene el caso de que las cantidades sea 101, 201, que debe escribir un y no uno, para ello se agrego en la posición cero del arreglo <strong>numerosHastaDiecinueve</strong>, la notación un, que también se utilizará cuando se este en el rango de los millones, se escribirá un millón. Sin esta variante se escribiría uno millón o ciento uno mil.</p>



<h3 class="wp-block-heading">Ejecución del script</h3>



<figure class="wp-block-embed is-type-rich is-provider-tumblr wp-block-embed-tumblr"><div class="wp-block-embed__wrapper">
<div class="tumblr-post" data-href="https://embed.tumblr.com/embed/post/t:d0KmrxJkElKB8EsGh2qW4w/748577693187129344/v2" data-did="ef9e1bb251c3b993895a116e6b6c7d0d05bf414b"  ><a href="https://www.tumblr.com/ajgutierr3z/748577693187129344/convirtiendo-n%C3%BAmeros-a-letras">https://www.tumblr.com/ajgutierr3z/748577693187129344/convirtiendo-n%C3%BAmeros-a-letras</a></div><script async src="https://assets.tumblr.com/post.js?_v=38df9a6ca7436e6ca1b851b0543b9f51"></script>
</div><figcaption class="wp-element-caption">Imagen 1. Conversión de números a letras. Fuente: tumblr.com</figcaption></figure>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="Convertir Números a letras" width="960" height="720" src="https://www.youtube.com/embed/kRDpKJnR_sY?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div><figcaption class="wp-element-caption">Vídeo 1. Se muestra la ejecución del script. Fuente: youtube.com</figcaption></figure>



<p>Se puede apreciar en la imagen 1, el resultado que se tiene al ejecutar el script en el rango de los millones. Mientras en el vídeo 1, se observa como el script puede ser modificado para convertir diferentes tipos de cantidades.</p>



<p>Este script permite convertir números a letras hasta el orden de los millones, faltaría agregar las correspondientes líneas para billones, trillones y demás. Si se utilizar en algún sistema de presupuestos o facturación solo hay que cambiar en el contenido <strong>uno</strong> del array <strong>numerosHastaDiesinueve</strong> por <strong>un</strong>, y posteriormente concatenarlo con las palabras &#8220;Pesos M.N.&#8221;.</p>



<p><strong>Versión en <a href="https://medium.com/@ajgutierrez/convert-numbers-to-letters-dd7dc8b433fc" target="_blank" rel="noreferrer noopener">ingles</a></strong> </p>



<p><strong>Código fuente disponible en</strong> el <a href="https://github.com/ajgutierr3z/Numeros_Letras" target="_blank" rel="noreferrer noopener">github</a></p>
<p>La entrada <a href="https://www.frexus.dev/post/convertir-numeros-a-letras/">Convertir números a letras</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.frexus.dev/post/convertir-numeros-a-letras/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2667</post-id>	</item>
		<item>
		<title>Estructura de control en Python</title>
		<link>https://www.frexus.dev/articulo/estructura-de-control-en-python/</link>
					<comments>https://www.frexus.dev/articulo/estructura-de-control-en-python/#respond</comments>
		
		<dc:creator><![CDATA[Alfredo de Jesús Gutiérrez]]></dc:creator>
		<pubDate>Sat, 19 Sep 2020 19:16:33 +0000</pubDate>
				<category><![CDATA[articulo]]></category>
		<category><![CDATA[Algoritmos]]></category>
		<category><![CDATA[diagrama de flujo]]></category>
		<category><![CDATA[pseudocódigo]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[script]]></category>
		<guid isPermaLink="false">http://www.ajgutierrez.me/?p=187</guid>

					<description><![CDATA[<p>Después de leer el articulo Estructuras de control, se mostrará ahora como hacer uso de ellas en un lenguaje de programación, el lenguaje elegido ha sido python. Sin mas preámbulos procederemos a los ejemplos. Estructura de control si (condición) entonces. para hacer uso de esta estructura se resolverá el siguiente ejercicio: Generar un script en pyhon que permita saber ¿cuál es el numero mayor de dos números solicitados al usuario? Algoritmo Pseudocódigo Diagrama de flujo Script en python Nombre: Mayor de dos númerosint a,b.Inicio1. Solicitar al usuario dos números. 2. Esos dos números asignarlo a las variables a y b.3. Si a es mayor que b entonces ir al paso cuatro.4. Imprimir que a es el mayor.Fin Nombre: Mayor de dos númerosint a, b.Inicio1. Introduce un valor para a y b.2. si (a&#60;b) entonces: ir al paso 3.3. Imprimir a +" es mayor"Fin a = input("introduce un numero entero: ")b=input("introduce un numero entero: ")if (a&#62;b): print(str(a)+" Es mayor") Tabla 1. Ejemplificando el uso de la estructura si (condición) entonces. Fuente: propia. Como se puede observar en la tabla 1.1, la evolución o construcción del script python que permite solicitarle dos números al usuario y que éste pueda distinguir cual es el mayor de ambos. Ahora es momento de realizar una prueba de escritorio, para saber mas al respecto pulsa aqui. variable a variable b (a&#62;b) resultado 7 4 verdadero 7 es mayor 17 19 falso 19 es mayor 0 0 falso son iguales Tabla 1.2 Prueba de escritorio del ejercicio mayor de dos números. Fuente: propia De acuerdo con la tabla 1.2, el script, algoritmo, seudocódigo y diagrama de flujo de la tabla 1.1, solo resuelve la primera variante, es decir, cuando el valor de a es mayor, pero cuando el valor de la variable a, es menor al de la variable b o son iguales, es script no sabe que hacer (bueno, no se le ha dado indicaciones de que debe de hacer). Quizas sea momento de usar la segunda estructura de control descrita aquí. Si (condición) entonces: instrucciones de lo contrario: instrucciones Algoritmo Pseudocódigo Diagrama de flujo Script python Nombre: Mayor de dos númerosint a,bInicio1. Solicitar dos números al usuario.2. Los números solicitados en el paso 1. asignarlos a la variable a y b.3. Si a es mayor que b entonces ir al paso 4, de lo contrario ir al paso 5.4. Imprimir a+ "es el mayor"5. Imprimir b+" es el mayor"Fin Nombre Mayor de dos números.Int. a,bInicio1. Introduce valor de a y b.2. Si (a&#62;b) entonces ir al paso 3 de lo contrario ir al paso 4.3. Imprimir (a+" es el mayor")4. Imprimir (b+" es el mayor")Fin a=input("Intruduce un valor entero: ")b=input("Introduce un valor entero: ")if(a&#62;b): print(str(a)+" es el mayor")else: print(str(b)+" es el mayor" Tabla 1.3. Usando la estructura de control si entonces de lo contrario. Cómo se puede observar en la tabla 1.3 con la estructura de control si condición entonces de lo contrario, se cumple la primera y segunda fila de la tabla 1.2 de la prueba de escritorio. Instrucción según sea el caso o Switch case: En python el uso de la sentencia &#8220;según sea el caso o Switch case&#8221; se considera un sintético de la estructura if, claro que el uso de la instrucción case permite que una evaluación sea mas rápido que el uso del if (clubdetecnologia, 2017). Sin embargo se hace uso de definiciones y diccionarios para simular el switch case. A continuación se mostrará un ejemplo del uso de esta estructura. Diagrama de flujo Script en python Pseudocódigo Algoritmo def DiasLetras(numero): switch={ 1: 'Lunes'; 2: 'Martes'; 3: 'Miercoles'; 4: 'Jueves'; 5: 'Viernes' } print switch.get(numero,'Valor invalido') i=input("Introduce un número: ")DiasLetras(i) Nombre: Dado un número mostrar el nombre del díaint d1. Introduce un valor entero y asignarlo a la variable d.2. según (d):2.1 case (1):Imprimir &#8216;Lunes&#8217;2.2 case (2):Imprimir &#8216;Martes&#8217;terminar2.3 case (3):Imprimir &#8216;Miercoles&#8217;terminar2.4 case(4):Imprimir &#8216;Jueves&#8217;terminar2.5 case (5):Imprimir &#8216;Viernes&#8217;terminarFin Nombre: Dado un número mostrar el nombre del día.int d1. Introduce un valor entero.2. Asignar el valor del paso 1 a la variable d.3. según el valor de d, elija el caso:3.1 caso 1: imprimir &#8216;Lunes&#8217;terminar3.2 caso 2:imprimir &#8216;Martes&#8217;terminar3.3 caso 3:imprimir &#8216;Miercoles&#8217;terminar3.4 caso 4:imprimir &#8216;Jueves&#8217;terminar3.5 caso 5:imprimir &#8216;Viernes&#8217;terminarFin Tabla 1.3. Según sea el caso o el uso del switch Como se puede observar en la tabla 1.3, se muestra la forma en que python se puede hacer uso de esta estructura. Lo que se hace es declarar una función (para el caso de la tabla la función se llama DiasLetras), dentro de ella se crea un diccionario o un arreglo asociativo, permitiendo evaluar el valor del parámetro o argumento. Observe que el indentado es muy importante (la sangría), todo lo que tenga sangria indicará que se debe de ejecutar cada vez que se mande a llamar a la función. El nombre del diccionario fue llamado switch. Se debe de notar que se usa el signo igual (=) para darle los valores al diccionario y posteriormente las llaves van a indicar que es lo que contiene el diccionario, cada asociación debe de ir separado por un punto y coma. y sin ella hasta que se coloque el último valor a evaluar. Posteriormente hay que solicitarle un valor al usuario, y después de obtener ese dato hay que pasar ese parámetro a la función que se creo, eso se hace escribiendo el nombre de la función y entre paréntesis el valor o la variable, el interprete busca la función y muestra el valor al que equivale el número que se le pidió al usuario. En caso de que el valor no este dentro de la función se imprimirá el texto &#8216;El valor es incorrecto&#8217;, en la pantalla indicando al usuario que no se supo que hacer con tal dato.</p>
<p>La entrada <a href="https://www.frexus.dev/articulo/estructura-de-control-en-python/">Estructura de control en Python</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Después de leer el articulo <a href="http://www.frexus.dev/articulo/estructuras-de-control-en-la-programacion/" target="_blank" rel="noreferrer noopener">Estructuras de control</a>, se mostrará ahora como hacer uso de ellas en un lenguaje de programación, el lenguaje elegido ha sido python. Sin mas preámbulos procederemos a los ejemplos.</p>



<p><strong>Estructura de control si (condición) entonces.</strong></p>



<p> para hacer uso de esta estructura se resolverá el siguiente ejercicio: Generar un script en pyhon que permita saber ¿cuál es el numero mayor de dos números solicitados al usuario?</p>



<figure class="wp-block-table"><table><tbody><tr><td><strong>Algoritmo</strong></td><td><strong>Pseudocódigo</strong></td><td><strong>Diagrama de flujo</strong></td><td><strong>Script en python</strong></td></tr><tr><td><code>Nombre: Mayor de dos números<br>int a,b.<br>Inicio<br>1. Solicitar al usuario dos números. <br>2. Esos dos números asignarlo a las variables a y b.<br>3. Si a es mayor que b entonces ir al paso cuatro.<br>4. Imprimir que a es el mayor.<br>Fin</code></td><td><code>Nombre: Mayor de dos números<br>int a, b.<br>Inicio<br>1. Introduce un valor para a y b.<br>2. si (a&lt;b) entonces: ir al paso 3.<br>3. Imprimir a +" es mayor"<br>Fin</code></td><td><a href="https://www.frexus.dev/wp-content/uploads/2020/09/4631b-mayor.png" target="_blank" rel="noreferrer noopener"><img decoding="async" width="150" height="148" class="wp-image-188" style="width:150px;" src="https://www.frexus.dev/wp-content/uploads/2020/09/4631b-mayor.png" alt="Diagrama de flujo mayor de dos números" srcset="https://www.frexus.dev/wp-content/uploads/2020/09/4631b-mayor.png 501w, https://www.frexus.dev/wp-content/uploads/2020/09/4631b-mayor-300x296.png 300w" sizes="(max-width: 150px) 100vw, 150px" /></a></td><td><code>a = input("introduce un numero entero: ")<br>b=input("introduce un numero entero: ")<br>if (a&gt;b):<br>     print(str(a)+" Es mayor")</code></td></tr></tbody></table><figcaption class="wp-element-caption">Tabla 1. Ejemplificando el uso de la estructura si (condición) entonces. Fuente: propia.</figcaption></figure>



<p>Como se puede observar en la tabla 1.1, la evolución o construcción del script python que permite solicitarle dos números al usuario y que éste pueda distinguir cual es el mayor de ambos. Ahora es momento de realizar una prueba de escritorio, para saber mas al respecto pulsa <strong>aqui</strong>.</p>



<figure class="wp-block-table"><table><tbody><tr><td><strong>variable a</strong></td><td><strong>variable b</strong></td><td><strong>(a&gt;b)</strong></td><td><strong>resultado</strong></td></tr><tr><td>7</td><td>4</td><td>verdadero</td><td>7 es mayor</td></tr><tr><td>17</td><td>19</td><td>falso</td><td>19 es mayor</td></tr><tr><td>0</td><td>0</td><td>falso</td><td>son iguales</td></tr></tbody></table><figcaption class="wp-element-caption">Tabla 1.2 Prueba de escritorio del ejercicio mayor de dos números. Fuente: propia</figcaption></figure>



<p>De acuerdo con la tabla 1.2, el script, algoritmo, seudocódigo y diagrama de flujo de la tabla 1.1, solo resuelve la primera variante, es decir, cuando el valor de a es mayor, pero cuando el valor de la variable a, es menor al de la variable b o son iguales, es script no sabe que hacer (bueno, no se le ha dado indicaciones de que debe de hacer).</p>



<p>Quizas sea momento de usar la segunda estructura de control descrita <a href="http://www.frexus.dev/articulo/estructuras-de-control-en-la-programacion/" target="_blank" rel="noreferrer noopener">aquí</a>.</p>



<p><strong>Si (condición) entonces: instrucciones de lo contrario: instrucciones</strong></p>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow">
<figure class="wp-block-table"><table><tbody><tr><td>Algoritmo</td><td>Pseudocódigo</td><td>Diagrama de flujo</td><td>Script python</td></tr><tr><td><code>Nombre: Mayor de dos números<br>int a,b<br>Inicio<br>1. Solicitar dos números al usuario.<br>2. Los números solicitados en el paso 1. asignarlos a la variable a y b.<br>3. Si a es mayor que b entonces ir al paso 4, de lo contrario ir al paso 5.<br>4. Imprimir a+ "es el mayor"<br>5. Imprimir b+" es el mayor"<br>Fin</code></td><td><code>Nombre Mayor de dos números.<br>Int. a,b<br>Inicio<br>1. Introduce valor de a y b.<br>2. Si (a&gt;b) entonces ir al paso 3 de lo contrario ir al paso 4.<br>3. Imprimir (a+" es el mayor")<br>4. Imprimir (b+" es el mayor")<br>Fin</code></td><td><a href="https://www.frexus.dev/wp-content/uploads/2020/09/0a7dc-mayor2.png" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="150" height="132" class="wp-image-189" style="width:150px;" src="https://www.frexus.dev/wp-content/uploads/2020/09/0a7dc-mayor2.png" alt="Mayor de dos números estructura si entonces de lo contrario" srcset="https://www.frexus.dev/wp-content/uploads/2020/09/0a7dc-mayor2.png 530w, https://www.frexus.dev/wp-content/uploads/2020/09/0a7dc-mayor2-300x264.png 300w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a></td><td><code>a=input("Intruduce un valor entero: ")<br>b=input("Introduce un valor entero: ")<br>if(a&gt;b):<br>    print(str(a)+" es el mayor")<br>else: <br>     print(str(b)+" es el mayor"</code></td></tr></tbody></table><figcaption class="wp-element-caption">Tabla 1.3. Usando la estructura de control si entonces de lo contrario.</figcaption></figure>
</div></div>



<p>Cómo se puede observar en la tabla 1.3 con la estructura de control si condición entonces de lo contrario, se cumple la primera y segunda fila de la tabla 1.2 de la prueba de escritorio. </p>



<p><strong>Instrucción según sea el caso o Switch case</strong>:</p>



<p>En python el uso de la sentencia &#8220;según sea el caso o Switch case&#8221; se considera un sintético de la estructura if, claro que el uso de la instrucción case permite que una evaluación sea mas rápido que el uso del if (clubdetecnologia, 2017). Sin embargo se hace uso de definiciones y diccionarios para simular el switch case.  A continuación se mostrará un ejemplo del uso de esta estructura. </p>



<figure class="wp-block-table"><table><tbody><tr><td>Diagrama de flujo</td><td>Script en python</td><td>Pseudocódigo</td><td>Algoritmo</td></tr><tr><td><a href="https://www.frexus.dev/wp-content/uploads/2020/09/b70f4-switch.png" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="150" height="274" class="wp-image-202" style="width:150px;" src="https://www.frexus.dev/wp-content/uploads/2020/09/b70f4-switch.png" alt="Switch case" srcset="https://www.frexus.dev/wp-content/uploads/2020/09/b70f4-switch.png 375w, https://www.frexus.dev/wp-content/uploads/2020/09/b70f4-switch-164x300.png 164w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a></td><td><code>def DiasLetras(numero):<br>    switch={</code><br>            <code>   1: 'Lunes';<br>        2: 'Martes';<br>        3: 'Miercoles';<br>        4: 'Jueves';<br>        5: 'Viernes'<br>           }</code><br><code>    print switch.get(numero,'Valor invalido')</code><br><br><code>i=input("Introduce un número: ")</code><br><code>DiasLetras(i)</code></td><td>Nombre: Dado un número mostrar el nombre del día<br>int d<br>1. Introduce un valor entero y asignarlo a la variable d.<br>2. según (d):<br>2.1  case (1):<br>Imprimir &#8216;Lunes&#8217;<br>2.2 case (2):<br>Imprimir &#8216;Martes&#8217;<br>terminar<br>2.3 case (3):<br>Imprimir &#8216;Miercoles&#8217;<br>terminar<br>2.4 case(4):<br>Imprimir &#8216;Jueves&#8217;<br>terminar<br>2.5 case (5):<br>Imprimir &#8216;Viernes&#8217;<br>terminar<br>Fin</td><td>Nombre: Dado un número mostrar el nombre del día.<br>int d<br>1. Introduce un valor entero.<br>2. Asignar el valor del paso 1 a la variable d.<br>3. según el valor de d, elija el caso:<br>3.1 caso 1: <br>imprimir &#8216;Lunes&#8217;<br>terminar<br>3.2 caso 2:<br>imprimir &#8216;Martes&#8217;<br>terminar<br>3.3 caso 3:<br>imprimir &#8216;Miercoles&#8217;<br>terminar<br>3.4 caso 4:<br>imprimir &#8216;Jueves&#8217;<br>terminar<br>3.5 caso 5:<br>imprimir &#8216;Viernes&#8217;<br>terminar<br>Fin</td></tr></tbody></table><figcaption class="wp-element-caption">Tabla 1.3. Según sea el caso o el uso del switch</figcaption></figure>



<p>Como se puede observar en la tabla 1.3, se muestra la forma en que python se puede hacer uso de esta estructura. Lo que se hace es declarar una función (para el caso de la tabla la función se llama DiasLetras), dentro de ella se crea un diccionario o un arreglo asociativo, permitiendo evaluar el valor del parámetro o argumento. Observe que el indentado es muy importante (la sangría), todo lo que tenga sangria indicará que se debe de ejecutar cada vez que se mande a llamar a la función. El nombre del diccionario fue llamado switch.</p>



<p>Se debe de notar que se usa el signo igual (=) para darle los valores al diccionario y posteriormente las llaves van a indicar que es lo que contiene el diccionario, cada asociación debe de ir separado por un punto y coma. y sin ella hasta que se coloque el último valor a evaluar.</p>



<p>Posteriormente hay que solicitarle un valor al usuario, y después de obtener ese dato hay que pasar ese parámetro a la función que se creo, eso se hace escribiendo el nombre de la función y entre paréntesis el valor o la variable, el interprete busca la función y muestra el valor al que equivale el número que se le pidió al usuario.</p>



<p>En caso de que el valor no este dentro de la función se imprimirá el texto &#8216;El valor es incorrecto&#8217;, en la pantalla indicando al usuario que no se supo que hacer con tal dato.</p>
<p>La entrada <a href="https://www.frexus.dev/articulo/estructura-de-control-en-python/">Estructura de control en Python</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.frexus.dev/articulo/estructura-de-control-en-python/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">187</post-id>	</item>
	</channel>
</rss>
