CursosEmpresasBlogLiveConfPrecios

¡Construye una calculadora!

Clase 15 de 23 • Curso de Dart desde Cero

Contenido del curso

Introducción

  • 1
    Bienvenida al curso

    Bienvenida al curso

    01:44 min
  • 2
    Introducción de Dart

    Introducción de Dart

    07:59 min
  • 3
    Introducción a DartPad

    Introducción a DartPad

    12:17 min

Las bases de programación

  • 4
    Variables

    Variables

    04:51 min
  • 5
    Tipos de datos básicos

    Tipos de datos básicos

    15:33 min
  • 6
    Tipos de datos avanzados

    Tipos de datos avanzados

    07:23 min
  • 7
    Manipulación de variables

    Manipulación de variables

    05:54 min
  • 8
    String con Dart

    String con Dart

    13:47 min
  • 9
    Conversión de tipos

    Conversión de tipos

    05:17 min
  • 10
    Ejercicio sobre las bases de programación

    Ejercicio sobre las bases de programación

    00:49 min

Flujo de datos

  • 11
    Operaciones

    Operaciones

    13:36 min
  • 12
    Condicionales

    Condicionales

    08:44 min
  • 13
    Ciclos

    Ciclos

    08:04 min
  • 14
    Enumeraciones

    Enumeraciones

    04:59 min
  • 15
    ¡Construye una calculadora!

    ¡Construye una calculadora!

    Viendo ahora

Colecciones

  • 16
    Introducción a las colecciones

    Introducción a las colecciones

    01:50 min
  • 17
    Colección de tipo Lista

    Colección de tipo Lista

    09:46 min
  • 18
    Colección de tipo Sets

    Colección de tipo Sets

    05:04 min
  • 19
    Colección de tipo Mapa

    Colección de tipo Mapa

    07:52 min
  • 20
    Colección de colecciones

    Colección de colecciones

    08:39 min
  • 21
    Flujos dentro de colecciones

    Flujos dentro de colecciones

    04:44 min
  • 22
    Reto de colecciones

    Reto de colecciones

    00:44 min

Conclusión

  • 23
    Sigue aprendiendo Dart

    Sigue aprendiendo Dart

    00:38 min
Tomar examen

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads

      La escuela de matemática del Barrio Especial de Nerima está enseñando a sus estudiantes las operaciones aritméticas básicas y requieren una calculadora en Dart que permita a los niños elegidos jugar con estas operaciones.

      Captura de Pantalla 2021-12-27 a la(s) 13.30.20.png

      Por lo que requieren el código fuente de un programa que tenga las siguientes variables:

      • Una variable para almacenar el valor 1.
      • Una variable para almacenar el valor 2.
      • Una lista de valores.
      • Una variable para el resultado.
      • Una variable que indique el tipo de operación.

      Con las siguientes funciones:

      • Si el tipo de operación es SUMA, el resultado es igual al valor 1 más el valor 2.
      • Si el tipo de operación es RESTA, el resultado es igual al valor 1 menos el valor 2.
        • Si el resultado de la resta es negativo, se debe mostrar NEGATIVO en la consola.
      • Si el tipo de operación es MULTIPLICACIÓN, el resultado es igual al valor 1 por el valor 2.
      • Si el tipo de operación es MÓDULO, el resultado es igual al valor 1 módulo el valor 2.
      • Si el tipo de operación es FACTORIAL, el resultado es igual al factorial de valor 1.
      • Si el tipo de operación es SUMATORIA, el resultado es igual a la suma de todos los valores de la lista de valores.
      • Si el tipo de operación es PRODUCTO, el resultado es igual a la multiplicación de todos los valores de la lista de valores.

      Al finalizar la ejecución del código debe mostrar el siguiente mensaje dónde 12.2 es el resultado de la operación:

      El resultado de la operación es: 12.2

      ¡Comparte tu código!

      Comentarios

        Jesús Salvador Rojas Terrones

        Jesús Salvador Rojas Terrones

        student•
        hace 4 años

        Buen día, comparto mi ejercicio

        Ejercicio2.png

        void main() { int valor1 = 2; int valor2 = 4; List<int> valores = [2, 4, 5]; double result = 0; Operacion oper = Operacion.resta; switch (oper) { case Operacion.suma: result = (valor1 + valor2).toDouble(); break; case Operacion.resta: result = (valor1 - valor2).toDouble(); break; case Operacion.multiplicacion: result = (valor1 * valor2).toDouble(); break; case Operacion.modulo: result = (valor1 % valor2).toDouble(); break; case Operacion.factorial: int factorial = 1; int contador = 1; while (contador <= valor1) { factorial *= contador; contador++; } print(factorial); break; case Operacion.sumatoria: for (int i = 0; i < valores.length; i++) { result = result + valores[i]; } print(result); break; case Operacion.producto: result = 1; for (int i = 0; i < valores.length; i++) { result *= valores[i]; } break; default: print("INGRESA VALORES CORRECTOS"); } if (result < 0) { print("$result NEGATIVO"); } else { print("El resultado de la operacion es: $result"); } } enum Operacion { suma, resta, multiplicacion, modulo, factorial, sumatoria, producto }
          Melvin Salas

          Melvin Salas

          teacher•
          hace 4 años

          Perfecto el manejo de los casos borde :D

        Juan Carlos Mezquita Gutierrez

        Juan Carlos Mezquita Gutierrez

        student•
        hace 4 años
        screen2.png
          Melvin Salas

          Melvin Salas

          teacher•
          hace 4 años

          Excelente :D Tu primera calculadora con Dart?

          Juan Carlos Mezquita Gutierrez

          Juan Carlos Mezquita Gutierrez

          student•
          hace 4 años

          Calculadora si, pero ya conocia un poco de Dart.

        Carlos Andres Osorio Diaz

        Carlos Andres Osorio Diaz

        student•
        hace 4 años

        Hola Darters, les comparto mi código:

        !Calculadora

          Melvin Salas

          Melvin Salas

          teacher•
          hace 4 años

          Me encanta el resultado, felicidades :D

        Ivan Ezequiel Mazzalay

        Ivan Ezequiel Mazzalay

        student•
        hace 4 años

        Les dejo el resultado de mi código:

        void main() { int valor1 = 2; int valor2 = 4; List <int> valores = [2, 3, 6]; dynamic resultado = 0; Operacion operacion = Operacion.producto; switch(operacion){ case Operacion.suma: resultado = valor1 + valor2; print(resultado); break; case Operacion.resta: resultado = valor1 - valor2; if (resultado < 0) { print("NEGATIVO"); } break; case Operacion.multiplicacion: resultado = valor1 * valor2; break; case Operacion.modulo: resultado = valor1 % valor2; break; case Operacion.factorial: resultado = 1; for(int i = valor1; i >= 1; i --){ resultado = resultado * i; } break; case Operacion.sumatoria: for(int i = 0; i < valores.length; i++){ resultado += valores[i]; } break; case Operacion.producto: resultado = 1; for(int i = 0; i < valores.length; i++){ resultado *= valores[i]; } break; default: print("Elige una operación válida"); } print("El resultado de la operación es $resultado"); } enum Operacion { suma, resta, multiplicacion, modulo, factorial, sumatoria, producto }
        Arturo Eddin Saavedra Gómez

        Arturo Eddin Saavedra Gómez

        student•
        hace 4 años
        Captura de pantalla de 2022-01-08 11-17-51.png
        Alberto Aleman Rocha

        Alberto Aleman Rocha

        student•
        hace 4 años

        Aquí está mi aporte, la verdad me gustan mucho estos proyectos para aplicar lo aprendido aun que ya quiero aprender a obtener datos del usuario a través de la consola:)

        void main() { //Variable numero 1 double valor1 = 4; //Variable numero 2 double valor2 = 3; //Variable resultado double resultado = 0; //Lista de valores List<double> valores = [10, 12, 3]; //Variable de clase operacion Operacion tipoOperacion = Operacion.resta; switch(tipoOperacion){ case Operacion.suma: resultado = valor1 + valor2; print("El resultado de la operación es: $resultado"); break; case Operacion.resta: resultado = valor1 - valor2; if(resultado < 0){ print("NEGATIVO"); } else { print("El resultado de la operación es: $resultado"); } break; case Operacion.multi: resultado = valor1 * valor2; print("El resultado de la operación es: $resultado"); break; case Operacion.modulo: resultado = valor1 % valor2; print("El resultado de la operación es: $resultado"); break; case Operacion.factorial: resultado = 1; for(double i = valor1; i >= 1; i--){ resultado = i * resultado; } print("El resultado de la operación es: $resultado"); break; case Operacion.sumatoria: for(int i = 0; i < valores.length; i++){ resultado = resultado + valores[i]; } print("El resultado de la operación es: $resultado"); break; case Operacion.producto: resultado = 1; for(int i = 0; i < valores.length; i++){ resultado = resultado * valores[i]; } print("El resultado de la operación es: $resultado"); break; } } enum Operacion { suma, resta, multi, modulo, factorial, sumatoria, producto }
        leandro lion

        leandro lion

        student•
        hace 4 años

        Hola, envió

        capitulo15.JPG
        mi ejercicio! Saludos

          Melvin Salas

          Melvin Salas

          teacher•
          hace 4 años

          Perfecto ;)

        Wilson Huanca Callisaya

        Wilson Huanca Callisaya

        student•
        hace 4 años

        Buenas, comparto el ejercicio dado

        void main() { double valor1 = 5; double valor2 = 5; List<int> valores = [3,4,5,6]; double resultado = 0; Operacion operacion = Operacion.producto; switch (operacion) { case Operacion.suma: resultado = valor1 + valor2; print("El resultado de la operacion suma es: $resultado"); break; case Operacion.resta: resultado = valor1 - valor2; if (resultado < 0) { print("NEGATIVO"); } else { print("El resultado de la operacion resta es: $resultado"); } break; case Operacion.multiplicacion: resultado = valor1 * valor2; print("El resultado de la operacion multiplicacion es: $resultado"); break; case Operacion.modulo: resultado = valor1 % valor2; print("El resultado de la operacion modulo es: $resultado"); break; case Operacion.factorial: double resultadoFacto = 1; for(var i = valor1 ; i >= 1; i--) { resultadoFacto = i * resultadoFacto; } print("El resultado de la operacion factorial es: $resultadoFacto"); break; case Operacion.sumatoria: for( int i = 0; i<= valores.length - 1 ; i++ ) { resultado = resultado + valores[i]; } print("El resultado de la operacion sumatoria es: $resultado"); break; case Operacion.producto: resultado = 1; for( int i = 0; i <= valores.length - 1 ; i++ ) { resultado = resultado * valores[i]; } print("El resultado de la operacion producto es: $resultado"); break; default: print("INGRESA VALORES"); } } enum Operacion { suma, resta, multiplicacion, modulo, factorial, sumatoria, producto }
          Melvin Salas

          Melvin Salas

          teacher•
          hace 4 años

          Me gusta mucho lo que pusiste en default 🥰

        Andres Villanueva Tabares

        Andres Villanueva Tabares

        student•
        hace 3 años

        ¿Yo no entiendo los resultados de mis compañeros, como se supone que llegue al resultado final de 12.2 si valor 1 y valor 2 no los define el ejercicio?

        ¿Se supone que debo usar algún ciclo for o while para recorrer cada estado del switch y secuencialmente conseguir los resultados hasta llegar a los 12.2 o solo se plantea cada tipo de situación según los visto en la sección?

          Melvin Salas

          Melvin Salas

          teacher•
          hace 3 años

          Hola! Parece un error de redacción, lo revisaré

        Guillermo Pizarro

        Guillermo Pizarro

        student•
        hace 4 años
        enum Operacion { SUMA, RESTA, MULTIPLICACION, MODULO, FACTORIAL, SUMATORIA, PRODUCTO } void main(List<String> arguments) { int valor1 = 10; int valor2 = 10; List<int> valores = [1, 2, 3, 4]; dynamic resultado = 0; Operacion opcion = Operacion.PRODUCTO; switch (opcion) { case Operacion.SUMA: resultado = valor1 + valor2; break; case Operacion.RESTA: resultado = valor1 - valor2; if (resultado < 0) { resultado = 'NEGATIVO'; } break; case Operacion.MULTIPLICACION: resultado = valor1 * valor2; break; case Operacion.MODULO: resultado = valor1 % valor2; break; case Operacion.FACTORIAL: resultado = factorial(valor1); break; case Operacion.SUMATORIA: resultado = sumatoria(valores); break; case Operacion.PRODUCTO: resultado = producto(valores); break; } print('El resultado de la operacion es $resultado.'); } int factorial(int numero) { var factorial = 1; for (int i = 1; i <= numero; i++) { factorial *= i; } return factorial; } int sumatoria(List<int> valores) { int total = 0; for (int i = 0; i < valores.length; i++) { total += valores[i]; } return total; } int producto(List<int> valores) { int total = 1; for (int i = 0; i < valores.length; i++) { total *= valores[i]; } return total; }
        Vidale C.

        Vidale C.

        student•
        hace 4 años

        Adjunto mi código, pase un par de minutos tratando de resolver un problema del tipo TypeError y lo que pasa es que cuando usas dynamic, necesitas asignarle un valor de inicio.

        void main() { var valor1 = 4; var valor2 = 3; List<int> valores = [valor1, valor2, 10]; dynamic resultado = 0; Operacion tipo = Operacion.suma; switch (tipo) { case Operacion.sum: resultado = valor1 + valor2; break; case Operacion.rest: resultado = valor1 - valor2; break; case Operacion.mult: resultado = valor1 * valor2; break; case Operacion.mod: resultado = valor1 % valor2; break; case Operacion.fact: resultado = valor1 ~/ valor2; break; case Operacion.suma: for (int i = 0; i < valores.length; i++) { resultado += valores[i]; } break; case Operacion.prod: for (int j = 0; j < valores.length; j++) { resultado *= valores[j]; } break; } print("El resultado de la operación es: $resultado"); } enum Operacion { sum, rest, mult, mod, fact, suma, prod}
          Melvin Salas

          Melvin Salas

          teacher•
          hace 4 años

          Gracias por tu solución :D

        Brandon Manzo

        Brandon Manzo

        student•
        hace 4 años

        Aqui esta mi prueba realizada:

        void main() { int valor1 = 7; int valor2 = 5; List<int> valores = [2, 4, 6]; dynamic resultado = 0; Operacion operacion = Operacion.producto; switch (operacion) { case Operacion.suma: { resultado = valor1 + valor2; } break; case Operacion.resta: { resultado = valor1 - valor2; if (resultado < 0) { print("NEGATIVO"); } } break; case Operacion.multiplicacion: { resultado = valor1 * valor2; } break; case Operacion.modulo: { resultado = valor1 % valor2; } break; case Operacion.factorial: { resultado = 1; for (int i = 1; i <= valor1; i++) { resultado = resultado * i; } } break; case Operacion.sumatoria: { for(int valor in valores) { resultado += valor; } } break; case Operacion.producto: { resultado = 1; for(int valor in valores) { resultado *= valor; } } break; } print("El resultado de la operación es: $resultado"); } enum Operacion { suma, resta, multiplicacion, modulo, factorial, sumatoria, producto }
          Melvin Salas

          Melvin Salas

          teacher•
          hace 4 años

          Muy bien el tomar en cuenta los casos bordes +1

        Anghelo Alexander Pintado Valverde

        Anghelo Alexander Pintado Valverde

        student•
        hace un año

        Mi aporte:

        void main() { num valor1 = 0; num valor2 = 2; List<num> valores = [1, 6, 8, 7]; num resultado; Operacion opc = Operacion.FACTORIAL; switch (opc) { case Operacion.SUMA: resultado = valor1 + valor2; print("$valor1 + $valor2 = $resultado"); break; case Operacion.RESTA: resultado = valor1 - valor2; print("$valor1 - $valor2 = $resultado"); if (resultado < 0) print("NEGATIVO"); break; case Operacion.MULTIPLICACION: resultado = valor1 * valor2; print("$valor1 * $valor2 = $resultado"); break; case Operacion.MODULO: resultado = valor1 % valor2; print("$valor1 % $valor2 = $resultado"); break; case Operacion.FACTORIAL: resultado = 1; for (int i = 1; i <= valor1; i++) { resultado *= i; } print("El factorial de $valor1 es $resultado"); break; case Operacion.SUMATORIA: resultado = 0; for (num i in valores) resultado += i; print("La sumatoria de la lista $valores es $resultado"); break; case Operacion.PRODUCTO: resultado = 1; for (num i in valores) resultado *= i; print("El producto de la lista $valores es $resultado"); break; default: print("Operación desconocida"); } } enum Operacion { SUMA, RESTA, MULTIPLICACION, MODULO, FACTORIAL, SUMATORIA, PRODUCTO } ```void main() { &#x20; num valor1 = 0; &#x20; num valor2 = 2; &#x20; List\<num> valores = \[1, 6, 8, 7]; &#x20; num resultado; &#x20; Operacion opc = Operacion.FACTORIAL; &#x20; &#x20; &#x20; switch (opc) { &#x20; case Operacion.SUMA: &#x20; resultado = valor1 + valor2; &#x20; print("$valor1 + $valor2 = $resultado"); &#x20; break; &#x20; case Operacion.RESTA: &#x20; resultado = valor1 - valor2; &#x20; print("$valor1 - $valor2 = $resultado"); &#x20; if (resultado < 0) print("NEGATIVO"); &#x20; break; &#x20; case Operacion.MULTIPLICACION: &#x20; resultado = valor1 \* valor2; &#x20; print("$valor1 \* $valor2 = $resultado"); &#x20; break; &#x20; case Operacion.MODULO: &#x20; resultado = valor1 % valor2; &#x20; print("$valor1 % $valor2 = $resultado"); &#x20; break; &#x20; case Operacion.FACTORIAL: &#x20; resultado = 1; &#x20; for (int i = 1; i <= valor1; i++) { &#x20; resultado \*= i; &#x20; } &#x20; print("El factorial de $valor1 es $resultado"); &#x20; break; &#x20; case Operacion.SUMATORIA: &#x20; resultado = 0; &#x20; for (num i in valores) resultado += i; &#x20; print("La sumatoria de la lista $valores es $resultado"); &#x20; break; &#x20; case Operacion.PRODUCTO: &#x20; resultado = 1; &#x20; for (num i in valores) resultado \*= i; &#x20; print("El producto de la lista $valores es $resultado"); &#x20; break; &#x20; default: &#x20; print("Operación desconocida"); &#x20; }&#x20; } enum Operacion { &#x20; SUMA, &#x20; RESTA, &#x20; MULTIPLICACION, &#x20; MODULO, &#x20; FACTORIAL, &#x20; SUMATORIA, &#x20; PRODUCTO }
        Brahiam Stiven Suarez Sanchez

        Brahiam Stiven Suarez Sanchez

        student•
        hace 2 años

        void main() {

        // Declaración de las variables relevantes para el problema

        double valor1 = 0;

        double valor2 = 3;

        List<double> listaDeValores = [2, 3, 4, 5];

        Operacion operacion = Operacion.factorial;

        double resultado = 0;

        // Logica de la calculadora

        switch (operacion) {

        case Operacion.suma:

        resultado = valor1 + valor2;

        break;

        case Operacion.resta:

        resultado = valor1 - valor2;

        if (resultado < 0) {

        print("NEGATIVO");

        }

        break;

        case Operacion.multiplicacion:

        resultado = valor1 * valor2;

        break;

        case Operacion.modulo:

        resultado = valor1 % valor2;

        break;

        case Operacion.factorial:

        if (valor1 == 0) {

        resultado = 1;

        break;

        }

        for (int i=1; valor1 > i; i++) {

        resultado *= i;

        }

        break;

        case Operacion.sumatoria:

        for (var numero in listaDeValores) {

        resultado += numero;

        }

        break;

        case Operacion.producto:

        for (var numero in listaDeValores) {

        resultado *= numero;

        }

        break;

        default:

        print("Operación invalida ingresada");

        }

        print("El resultado de la operacion es: $resultado");

        }

        enum Operacion {

        suma,

        resta,

        multiplicacion,

        modulo,

        factorial,

        sumatoria,

        producto

        }

        Bueno compañeros esta seria mi solucion al problema.

        Mario Adrián Chavez

        Mario Adrián Chavez

        student•
        hace 2 años
        Renzo Perez Bartra

        Renzo Perez Bartra

        student•
        hace 2 años

        Hola, les comparto mi ejercicio, incluyo comentarios de todo:

        void main() { int valor1 = 2; //Declaro que existe una variable llamada valor1 int valor2 = 4; //Declaro que existe una variable llamada valor2 List<int> valores = [ 1,2,3,4,5,6,7,8,9 ]; //Declaro que existe una lista de valores llamada valores Operacion operaciones = Operacion.sumatoria; /* Declaro que existe una Operación llamada operacioness, * la forma de calcularla es lo que sea que pongas luego del signo "=" * Debajo de todo, fuera del código void main, enumero todas las funciones * que puedes usar para Operacion operaciones * Son: suma, resta, multiplicacion, division, modulo, factorial, sumatoria y producto*/ int resultadoSuma = valor1 + valor2; int resultadoResta = valor1 - valor2; int resultadoMultiplicacion = valor1 * valor2; double resultadoDivision = valor1 / valor2; int resultadoModulo = valor1 % valor2; int resultadoFactorial = 1; int resultadoSumatoria = 0; int resultadoProducto = 1; /* Declaro que existe una variable para cada resultado. * Estas variables se llaman resultadoSuma,resultadoResta, resultadoMultiplicacion, * resultadoDivision y resultadoModulo. * * La forma de calcular cada variable es lo que dice luego del signo "=" * dependen de lo que pongas en valor1 y valor2. * * Las variables resultadoFactorial, resultadoSumatoria y resultadoProducto * empiezan con un valor fijo porque les vamos a aplicar un ciclo for y una * re asignación de valor cada vez que iteren un ciclo. * * resultadoFactorial y resultadoProducto son multiplicaciones por eso * necesitan empezar con un valor 1. * resultadoSumatoria es una adición por eso necesita empezar con un 0. * */ for (int i = 1; i <= valor1; i++) { resultadoFactorial *= i; } for (int i = 0; i < valores.length; i++) { resultadoSumatoria += valores[i]; } for (int i = 0; i < valores.length; i++) { resultadoProducto *= valores[i]; } /* Dentro de cada ciclo for declaramos: * Existe un indicador i; este i cumple una condición; terminada la iteración súmale uno más al indicador * Dentro de cada llave, esta la re asignación de valor de resultadoFactorial, resultadoSumatoria y resultadoProducto * * resultadoFactorial se compara con valor1. * Un factorial depende de multiplicar todos los valores desde el 1 hasta el valor1. * * resultadoSumatoria y resultadoProducto, se comparan con la cantidad de valores en la lista llamda valores * Una Sumatoria depende de sumar todos los valores de la lista. * Un Producto depende de multiplicar todos los valores de la lista. * * */ switch (operaciones) { case Operacion.suma: print("El resultado de la operación es: $resultadoSuma"); break; case Operacion.resta: if (resultadoResta < 0) { print( "El resultado de la operación es: $resultadoResta (NÚMERO NEGATIVO)"); } else { print("El resultado de la operación es: $resultadoResta"); } break; case Operacion.multiplicacion: print("El resultado de la operación es: $resultadoMultiplicacion"); break; case Operacion.division: print("El resultado de la operación es: $resultadoDivision"); break; case Operacion.modulo: print("El resultado de la operación es: $resultadoModulo"); break; case Operacion.factorial: print("El resultado de la operación es: $resultadoFactorial"); break; case Operacion.sumatoria: print("El resultado de la operación es: $resultadoSumatoria"); break; case Operacion.producto: print("El resultado de la operación es: $resultadoProducto"); break; } /* Declaro este switch con varias respuestas para Operacion operaciones. * Dependiento de la función que coloques luego de "=" el sistema * va a imprimir lo que diga dentro de print ( ) * * En la resta, tiene el if, para que detecte si resultadoResta es un número * negativo, si lo es, coloca entre paréntesis (NÚMERO NEGATIVO) * */ } enum Operacion { suma, resta, multiplicacion, division, modulo, factorial, sumatoria, producto } // Declaro esta lista que enumera los tipos de Operacion.Algo que se pueden realizar. ```void main() { &#x20; int valor1 = 2; //Declaro que existe una variable llamada valor1 &#x20; int valor2 = 4; //Declaro que existe una variable llamada valor2 &#x20; List\<int> valores = \[ 1,2,3,4,5,6,7,8,9 ]; //Declaro que existe una lista de valores llamada valores &#x20; Operacion operaciones = Operacion.sumatoria; &#x20; /\* Declaro que existe una Operación llamada operacioness, &#x20; \* la forma de calcularla es lo que sea que pongas luego del signo "=" &#x20; \* Debajo de todo, fuera del código void main, enumero todas las funciones &#x20; \* que puedes usar para Operacion operaciones &#x20; \* Son: suma, resta, multiplicacion, division, modulo, factorial, sumatoria y producto\*/ &#x20; int resultadoSuma = valor1 + valor2; &#x20; int resultadoResta = valor1 - valor2; &#x20; int resultadoMultiplicacion = valor1 \* valor2; &#x20; double resultadoDivision = valor1 / valor2; &#x20; int resultadoModulo = valor1 % valor2; &#x20; int resultadoFactorial = 1; &#x20; int resultadoSumatoria = 0; &#x20; int resultadoProducto = 1; &#x20; /\* Declaro que existe una variable para cada resultado. &#x20; \* Estas variables se llaman resultadoSuma,resultadoResta, resultadoMultiplicacion, &#x20; \* resultadoDivision y resultadoModulo. &#x20; \*&#x20; &#x20; \* La forma de calcular cada variable es lo que dice luego del signo "=" &#x20; \* dependen de lo que pongas en valor1 y valor2. &#x20; \*&#x20; &#x20; \* Las variables resultadoFactorial, resultadoSumatoria y resultadoProducto&#x20; &#x20; \* empiezan con un valor fijo porque les vamos a aplicar un ciclo for y una&#x20; &#x20; \* re asignación de valor cada vez que iteren un ciclo. &#x20; \*&#x20; &#x20; \* resultadoFactorial y resultadoProducto son multiplicaciones por eso&#x20; &#x20; \* necesitan empezar con un valor 1. &#x20; \* resultadoSumatoria es una adición por eso necesita empezar con un 0. &#x20; \* \*/ &#x20; for (int i = 1; i <= valor1; i++) { &#x20; resultadoFactorial \*= i; &#x20; } &#x20; for (int i = 0; i < valores.length; i++) { &#x20; resultadoSumatoria += valores\[i]; &#x20; } &#x20; for (int i = 0; i < valores.length; i++) { &#x20; resultadoProducto \*= valores\[i]; &#x20; } &#x20; /\* Dentro de cada ciclo for declaramos: &#x20; \* Existe un indicador i; este i cumple una condición; terminada la iteración súmale uno más al indicador &#x20; \* Dentro de cada llave, esta la re asignación de valor de resultadoFactorial, resultadoSumatoria y resultadoProducto &#x20; \*&#x20; &#x20; \* resultadoFactorial se compara con valor1. &#x20; \* Un factorial depende de multiplicar todos los valores desde el 1 hasta el valor1. &#x20; \*&#x20; &#x20; \* resultadoSumatoria y resultadoProducto, se comparan con la cantidad de valores en la lista llamda valores &#x20; \* Una Sumatoria depende de sumar todos los valores de la lista. &#x20; \* Un Producto depende de multiplicar todos los valores de la lista. &#x20; \*&#x20; &#x20; \* \*/ &#x20; switch (operaciones) { &#x20; case Operacion.suma: &#x20; print("El resultado de la operación es: $resultadoSuma"); &#x20; break; &#x20; case Operacion.resta: &#x20; if (resultadoResta < 0) { &#x20; print( &#x20; "El resultado de la operación es: $resultadoResta (NÚMERO NEGATIVO)"); &#x20; } else { &#x20; print("El resultado de la operación es: $resultadoResta"); &#x20; } &#x20; break; &#x20; case Operacion.multiplicacion: &#x20; print("El resultado de la operación es: $resultadoMultiplicacion"); &#x20; break; &#x20; case Operacion.division: &#x20; print("El resultado de la operación es: $resultadoDivision"); &#x20; break; &#x20; case Operacion.modulo: &#x20; print("El resultado de la operación es: $resultadoModulo"); &#x20; break; &#x20; case Operacion.factorial: &#x20; print("El resultado de la operación es: $resultadoFactorial"); &#x20; break; &#x20; case Operacion.sumatoria: &#x20; print("El resultado de la operación es: $resultadoSumatoria"); &#x20; break; &#x20; case Operacion.producto: &#x20; print("El resultado de la operación es: $resultadoProducto"); &#x20; break; &#x20; } &#x20; /\* Declaro este switch con varias respuestas para Operacion operaciones. &#x20; \* Dependiento de la función que coloques luego de "=" el sistema &#x20; \* va a imprimir lo que diga dentro de print ( ) &#x20; \*&#x20; &#x20; \* En la resta, tiene el if, para que detecte si resultadoResta es un número &#x20; \* negativo, si lo es, coloca entre paréntesis (NÚMERO NEGATIVO) &#x20; \* \*/ } enum Operacion { &#x20; suma, &#x20; resta, &#x20; multiplicacion, &#x20; division, &#x20; modulo, &#x20; factorial, &#x20; sumatoria, &#x20; producto } // Declaro esta lista que enumera los tipos de Operacion.Algo que se pueden realizar.
        David Fernando Sandoval Gomez

        David Fernando Sandoval Gomez

        student•
        hace 2 años

        Hola, la respuesta seria:

        En Código:

        void main() { double valor1 = 22; double valor2 = 9.8; double resultado; Operacion operacion = Operacion.Resta; switch (operacion) { case Operacion.Suma: resultado = (valor1 + valor2).toDouble(); break; case Operacion.Resta: resultado = (valor1 - valor2).toDouble(); break; case Operacion.Modulo: resultado = (valor1 % valor2).toDouble(); break; case Operacion.Factorial: int factoria = 1; int contador = 1; while (contador <= valor1) { factoria *= contador; contador++; } resultado = factoria.toDouble(); break; case Operacion.Producto: resultado = (valor1 * valor2).toDouble(); break; } print("El resultado de la operación es: $resultado"); } enum Operacion { Suma, Resta, Modulo, Factorial, Producto }
        Cristian Roca

        Cristian Roca

        student•
        hace 2 años
        Cristian Roca

        Cristian Roca

        student•
        hace 2 años

        void main() {

        //Declaración de variables

        dynamic value1 = 7;

        dynamic value2 = 2.5;

        List<int> listado = [2, 2, 3];

        dynamic result;

        String typeOperation = 'Producto';

        if (typeOperation == 'Suma') {

        result = value1 + value2;

        print('La operación es una $typeOperation" y el resultado es: $result');

        } else if (typeOperation == 'Resta') {

        result = value1 - value2;

        print('La operación es una "$typeOperation" y el resultado es: $result');

        } else if (typeOperation == 'Multiplicación') {

        result = value1 * value2;

        print('La operación es una $typeOperation" y el resultado es: $result');

        } else if (typeOperation == 'Modulo') {

        result = value1 % value2;

        print('La operación es una "$typeOperation" y el resultado es: $result');

        } else if (typeOperation == 'Factorial') {

        int resultado = 1;

        for (int i = 1; i <= value1; i++) {

        resultado *= i;

        }

        result = resultado;

        print(

        'La operación es "$typeOperation" de $value1 y el resultado es : $result');

        } else if (typeOperation == 'Producto') {

        int resultado = 1;

        for (int i = 0; i < listado.length; i++) {

        resultado = resultado * listado[i];

        }

        result = resultado;

        print(

        'La operación es una "$typeOperation" y el resultado es: $result');

        }

        }

        J Maycol Valencia

        J Maycol Valencia

        student•
        hace 3 años

        Comparto mi resultado :

        void main(){ int num1 = 5; int num2 = 2; List<int> valores = [1,2,3,4,5,6,7,8]; int resInt = 0; double resDouble = 0.0; Operacion operacion = Operacion.Producto; switch(operacion){ case Operacion.Suma: resInt = num1 + num2; print('$num1 + $num2 = $resInt'); print('OPERACION - SUMA'); print('El resultado de la operacion es: $resInt'); break; case Operacion.Resta: resInt = num1 - num2; if(resInt < -1){ print('Numero Negativo'); }else{ print('OPERACION - RESTA'); print('$num1 - $num2 = $resInt'); print('El resultado de la operacion es: $resInt'); } break; case Operacion.Multiplicacion: resInt = num1 * num2; print('OPERACION - MULTIPLICACION '); print('$num1 * $num2 = $resInt'); print('El resultado de la operacion es: $resInt'); break; case Operacion.Division: resDouble = num1 / num2; print('OPERACION - DIVISION'); print('$num1 / $num2 = $resDouble'); print('El resultado de la operacion es: $resDouble'); break; case Operacion.Modulo: resInt = num1 % num2; print('OPERACION - Modulo'); print('$num1 % $num2 = $resInt'); print('El resultado de la operacion es: $resInt'); break; case Operacion.Factorial: resInt = 1; for(int i = 1; i <= num1;i++){ resInt *= i; } print('OPERACION - FACTORIAL'); print('El factorial de $num1 es $resInt'); print('El resultado de la operacion es: $resInt'); break; case Operacion.Sumatoria: for(int i = 0;i < valores.length; i++){ resInt += valores[i]; } print('OPERACION - SUMATORIA'); print('El resultado de la operacion es: $resInt'); break; case Operacion.Producto: resInt = 1; for(int i = 0;i < valores.length; i++){ resInt *= valores[i]; } print('OPERACION - PRODUCTO'); print('El resultado de la operacion es: $resInt'); break; default: print('Calculadora Aberiada'); } } enum Operacion { Suma, Resta, Multiplicacion, Division, Modulo, Factorial, Sumatoria, Producto }