<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Alison Orellana Rios</title>
    <description>The latest articles on DEV Community by Alison Orellana Rios (@allyor).</description>
    <link>https://dev.to/allyor</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3751646%2Ff805787d-25d2-40b1-b474-ebb1faa71600.png</url>
      <title>DEV Community: Alison Orellana Rios</title>
      <link>https://dev.to/allyor</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/allyor"/>
    <language>en</language>
    <item>
      <title>FND y FNC paso a paso: formas normales en lógica proposicional</title>
      <dc:creator>Alison Orellana Rios</dc:creator>
      <pubDate>Fri, 13 Nov 2026 16:06:17 +0000</pubDate>
      <link>https://dev.to/allyor/fnd-y-fnc-paso-a-paso-formas-normales-en-logica-proposicional-a43</link>
      <guid>https://dev.to/allyor/fnd-y-fnc-paso-a-paso-formas-normales-en-logica-proposicional-a43</guid>
      <description>&lt;p&gt;Si llevas Lógica en primer año de informática o sistemas, tarde o temprano te piden "llevar una fórmula a FND" o "a FNC". Es uno de los temas que más dudas genera, y casi siempre por lo mismo: se mezclan las reglas de una forma con las de la otra.&lt;/p&gt;

&lt;p&gt;En este artículo vas a ver qué es cada forma, dos métodos para obtenerlas y los errores más comunes. Al final hay tres ejercicios con respuesta.&lt;/p&gt;

&lt;p&gt;Notación: &lt;code&gt;¬&lt;/code&gt; es negación, &lt;code&gt;∧&lt;/code&gt; es "y", &lt;code&gt;∨&lt;/code&gt; es "o", &lt;code&gt;→&lt;/code&gt; es el condicional y &lt;code&gt;↔&lt;/code&gt; el bicondicional. V es verdadero y F es falso.&lt;/p&gt;

&lt;h2&gt;
  
  
  Qué son la FND y la FNC
&lt;/h2&gt;

&lt;p&gt;Primero, un &lt;strong&gt;literal&lt;/strong&gt; es una variable o su negación: &lt;code&gt;p&lt;/code&gt;, &lt;code&gt;¬p&lt;/code&gt;, &lt;code&gt;q&lt;/code&gt;, &lt;code&gt;¬q&lt;/code&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;FND (forma normal disyuntiva):&lt;/strong&gt; una disyunción de conjunciones de literales. Por fuera hay &lt;code&gt;∨&lt;/code&gt;, por dentro solo &lt;code&gt;∧&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ejemplo: &lt;code&gt;(p ∧ ¬q) ∨ (¬p ∧ r)&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;FNC (forma normal conjuntiva):&lt;/strong&gt; una conjunción de disyunciones de literales. Por fuera hay &lt;code&gt;∧&lt;/code&gt;, por dentro solo &lt;code&gt;∨&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ejemplo: &lt;code&gt;(p ∨ ¬q) ∧ (¬p ∨ r)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Para reconocerlas, mira el conectivo principal. Si es &lt;code&gt;∨&lt;/code&gt; y dentro de los paréntesis solo hay &lt;code&gt;∧&lt;/code&gt;, es FND. Si es &lt;code&gt;∧&lt;/code&gt; y dentro solo hay &lt;code&gt;∨&lt;/code&gt;, es FNC.&lt;/p&gt;

&lt;p&gt;Lo importante: &lt;strong&gt;toda fórmula tiene una FND y una FNC equivalentes&lt;/strong&gt;. Por eso sirven como forma estándar de escribir cualquier fórmula.&lt;/p&gt;

&lt;h2&gt;
  
  
  Método 1: desde la tabla de verdad
&lt;/h2&gt;

&lt;p&gt;Es el método más mecánico. Solo necesitas la tabla.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Para la FND:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Toma las filas donde la fórmula vale &lt;strong&gt;V&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;En cada una escribe una conjunción: la variable tal cual si vale V, negada si vale F.&lt;/li&gt;
&lt;li&gt;Une todas las conjunciones con &lt;code&gt;∨&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Para la FNC:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Toma las filas donde la fórmula vale &lt;strong&gt;F&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;En cada una escribe una disyunción: la variable tal cual si vale F, negada si vale V.&lt;/li&gt;
&lt;li&gt;Une todas las disyunciones con &lt;code&gt;∧&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Ejemplo: p → q
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;p&lt;/th&gt;
&lt;th&gt;q&lt;/th&gt;
&lt;th&gt;p → q&lt;/th&gt;
&lt;th&gt;Aporta&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;V&lt;/td&gt;
&lt;td&gt;V&lt;/td&gt;
&lt;td&gt;V&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;p ∧ q&lt;/code&gt; (FND)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;V&lt;/td&gt;
&lt;td&gt;F&lt;/td&gt;
&lt;td&gt;F&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;¬p ∨ q&lt;/code&gt; (FNC)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;F&lt;/td&gt;
&lt;td&gt;V&lt;/td&gt;
&lt;td&gt;V&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;¬p ∧ q&lt;/code&gt; (FND)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;F&lt;/td&gt;
&lt;td&gt;F&lt;/td&gt;
&lt;td&gt;V&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;¬p ∧ ¬q&lt;/code&gt; (FND)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;FND:&lt;/strong&gt; &lt;code&gt;(p ∧ q) ∨ (¬p ∧ q) ∨ (¬p ∧ ¬q)&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;FNC:&lt;/strong&gt; &lt;code&gt;¬p ∨ q&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Fíjate en la FNC: salió &lt;code&gt;¬p ∨ q&lt;/code&gt;, que es justo la equivalencia conocida del condicional.&lt;/p&gt;

&lt;h2&gt;
  
  
  Método 2: con álgebra de proposiciones
&lt;/h2&gt;

&lt;p&gt;Cuando la fórmula tiene muchas variables, la tabla se vuelve larga y conviene transformar la fórmula con leyes.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Elimina &lt;code&gt;→&lt;/code&gt; y &lt;code&gt;↔&lt;/code&gt; usando &lt;code&gt;p → q ≡ ¬p ∨ q&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Lleva las negaciones hacia adentro con las leyes de De Morgan y la doble negación.&lt;/li&gt;
&lt;li&gt;Aplica la ley distributiva: para la FND distribuye &lt;code&gt;∧&lt;/code&gt; sobre &lt;code&gt;∨&lt;/code&gt;; para la FNC distribuye &lt;code&gt;∨&lt;/code&gt; sobre &lt;code&gt;∧&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Ejemplo: (p → q) ∧ r
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Paso&lt;/th&gt;
&lt;th&gt;Ley&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;(¬p ∨ q) ∧ r&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Condicional. Ya está en FNC.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;(¬p ∧ r) ∨ (q ∧ r)&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Distributiva. Esta es la FND.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;En dos pasos salieron las dos formas.&lt;/p&gt;

&lt;p&gt;Un detalle: con álgebra normalmente obtienes la forma &lt;strong&gt;simplificada&lt;/strong&gt;, y desde la tabla obtienes la forma &lt;strong&gt;completa&lt;/strong&gt; (cada término con todas las variables). Las dos son correctas; revisa cuál pide tu docente.&lt;/p&gt;

&lt;h2&gt;
  
  
  El problema inverso: de la tabla a la fórmula
&lt;/h2&gt;

&lt;p&gt;A veces el ejercicio viene al revés: te dan solo la tabla y tienes que encontrar una fórmula que la cumpla. Se resuelve con el método 1.&lt;/p&gt;

&lt;p&gt;Supón que la columna final es F, V, V, F:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;p&lt;/th&gt;
&lt;th&gt;q&lt;/th&gt;
&lt;th&gt;A&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;V&lt;/td&gt;
&lt;td&gt;V&lt;/td&gt;
&lt;td&gt;F&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;V&lt;/td&gt;
&lt;td&gt;F&lt;/td&gt;
&lt;td&gt;V&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;F&lt;/td&gt;
&lt;td&gt;V&lt;/td&gt;
&lt;td&gt;V&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;F&lt;/td&gt;
&lt;td&gt;F&lt;/td&gt;
&lt;td&gt;F&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;Con las filas V, la &lt;strong&gt;FND&lt;/strong&gt; es &lt;code&gt;(p ∧ ¬q) ∨ (¬p ∧ q)&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Con las filas F, la &lt;strong&gt;FNC&lt;/strong&gt; es &lt;code&gt;(¬p ∨ ¬q) ∧ (p ∨ q)&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Las dos fórmulas dicen lo mismo: "p o q, pero no ambas".&lt;/p&gt;

&lt;p&gt;Un consejo práctico: si la tabla tiene pocas filas V, usa la FND; si tiene pocas filas F, usa la FNC. Te sale una fórmula más corta.&lt;/p&gt;

&lt;h2&gt;
  
  
  Errores comunes
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Usar las filas equivocadas.&lt;/strong&gt; La FND sale de las filas V; la FNC, de las filas F.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No invertir en la FNC.&lt;/strong&gt; En la FNC se niega lo que vale V. Es al revés que en la FND.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Distribuir antes de eliminar el condicional.&lt;/strong&gt; Primero quita &lt;code&gt;→&lt;/code&gt; y &lt;code&gt;↔&lt;/code&gt;, después distribuye.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dejar una negación fuera de un paréntesis.&lt;/strong&gt; &lt;code&gt;¬(p ∧ q)&lt;/code&gt; no es un literal: hay que aplicar De Morgan para que quede &lt;code&gt;¬p ∨ ¬q&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Ejercicios
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Obtén la FND y la FNC de &lt;code&gt;p ∧ ¬q&lt;/code&gt; desde su tabla de verdad.&lt;/li&gt;
&lt;li&gt;Obtén con álgebra la FNC de &lt;code&gt;p → (q ∧ r)&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Encuentra una fórmula con dos variables cuya columna final sea V, V, F, F, y simplifícala.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Respuestas&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;La columna final es F, V, F, F. FND: &lt;code&gt;p ∧ ¬q&lt;/code&gt;. FNC: &lt;code&gt;(¬p ∨ ¬q) ∧ (p ∨ ¬q) ∧ (p ∨ q)&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;¬p ∨ (q ∧ r)&lt;/code&gt; por la ley del condicional, y luego &lt;code&gt;(¬p ∨ q) ∧ (¬p ∨ r)&lt;/code&gt; por la distributiva.&lt;/li&gt;
&lt;li&gt;FND: &lt;code&gt;(p ∧ q) ∨ (p ∧ ¬q)&lt;/code&gt;. Sacando factor común queda &lt;code&gt;p ∧ (q ∨ ¬q)&lt;/code&gt;, que es simplemente &lt;code&gt;p&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  La clase en video
&lt;/h2&gt;

&lt;p&gt;Si prefieres verlo resuelto en pizarra, en esta clase resuelvo ejercicios de FND, FNC y formalización paso a paso:&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/sD8f_OYwzzk" width="710" height="399"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;El resto de las clases del curso de Lógica está en esta lista de reproducción: &lt;a href="https://www.youtube.com/playlist?list=PLP496G-vkbzcTyl8v0oO9WSwLaOUs-NFX" rel="noopener noreferrer"&gt;https://www.youtube.com/playlist?list=PLP496G-vkbzcTyl8v0oO9WSwLaOUs-NFX&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;En el próximo artículo de la serie: tableaux semánticos, o cómo saber si una fórmula es válida sin hacer la tabla completa.&lt;/p&gt;

</description>
      <category>spanish</category>
      <category>computerscience</category>
      <category>beginners</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Starting a not tech hobby in a Dev world scenario</title>
      <dc:creator>Alison Orellana Rios</dc:creator>
      <pubDate>Tue, 10 Feb 2026 02:59:00 +0000</pubDate>
      <link>https://dev.to/allyor/starting-a-not-tech-hobby-in-a-dev-world-scenario-2mmo</link>
      <guid>https://dev.to/allyor/starting-a-not-tech-hobby-in-a-dev-world-scenario-2mmo</guid>
      <description>&lt;p&gt;&lt;strong&gt;Context:&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;I have tried to keep myself busy while I have time to think about the things I can not think while I am working.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This is a text that describes my new journey, it's the beggining of 2026, and I have been thinking about writing about tech stuff that will not only breaks the limit I have been facing while I am learning about how to be a Developer. Just a Junior, but with the idea of being bigger one day.&lt;/p&gt;

&lt;p&gt;So, I just realize I haven't write a thing for about 8 years, and I think everyone needs a hobby that leads us to develop other kind of talents, not just a writing code (or even copying and pasting words that probably one day will make sense). (And why not, ..in English)&lt;/p&gt;

&lt;p&gt;So I found out this writing hobby can be helpfull for different reasons, and hopefully you found one you like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It's one of the hobbies experts tell you to do when you want to freed up a little your mind.&lt;/li&gt;
&lt;li&gt;You can read better things than in social media (I don't know if there are memes or jokes here yet).&lt;/li&gt;
&lt;li&gt;I can say what I could not say talking.&lt;/li&gt;
&lt;li&gt;You can say something and if it's right your ego will raise, if not your shame will not be that bad.&lt;/li&gt;
&lt;li&gt;You can develop or improve your writing skills (by yourself or by reading other's ideas).&lt;/li&gt;
&lt;li&gt;You found out that you can write.&lt;/li&gt;
&lt;li&gt;You can read better stories from people probably similar than you, and if not, you read people's mindsets.&lt;/li&gt;
&lt;li&gt;If the idea is to be part of a community, you can be part of the community.&lt;/li&gt;
&lt;li&gt;If you want to involve in a dev environment.&lt;/li&gt;
&lt;li&gt;If this is a way to involve yourself into more knowledge.&lt;/li&gt;
&lt;li&gt;You can see if your ideas have sense and you can improve them at any time.&lt;/li&gt;
&lt;li&gt;You can invest more time trying to write the right thing instead of just writing, so you can improve your knowledge.&lt;/li&gt;
&lt;li&gt;If you want to do "something better" for yourself and other people that can read your ideas or reflect in your experience.&lt;/li&gt;
&lt;li&gt;You can reflect yourself in others experiences.&lt;/li&gt;
&lt;li&gt;You can get distracted by others opinions.&lt;/li&gt;
&lt;li&gt;You can distract others with your opinions.&lt;/li&gt;
&lt;li&gt;You can say you write articles.&lt;/li&gt;
&lt;li&gt;You can write by free.&lt;/li&gt;
&lt;li&gt;This can help you to order your ideas before writing, or between, (or at the end).&lt;/li&gt;
&lt;li&gt;You can be yourself.&lt;/li&gt;
&lt;li&gt;You can find your voice.&lt;/li&gt;
&lt;li&gt;You can find out you have a writing mode.&lt;/li&gt;
&lt;li&gt;You will learn if you keep practicing.&lt;/li&gt;
&lt;li&gt;You just can do it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Hopefully this also helps me to evolve.&lt;br&gt;
See you soon.&lt;/p&gt;

</description>
      <category>learning</category>
      <category>writing</category>
      <category>thinkingoutloud</category>
      <category>newbie</category>
    </item>
  </channel>
</rss>
