CursosEmpresasBlogLiveConfPrecios

Ciclos

Clase 13 de 23 • Curso de Dart desde Cero

Clase anteriorSiguiente clase

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
  • Quiz Módulo 1

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

    00:49 min
  • Quiz Módulo 2

Flujo de datos

  • 11
    Operaciones

    Operaciones

    13:36 min
  • 12
    Condicionales

    Condicionales

    08:44 min
  • 13
    Ciclos

    Ciclos

    Viendo ahora
  • 14
    Enumeraciones

    Enumeraciones

    04:59 min
  • 15

    ¡Construye una calculadora!

    01:07 min

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

    00:44 min

Conclusión

  • 23
    Sigue aprendiendo Dart

    Sigue aprendiendo Dart

    00:38 min
    Beyra Lapierre Tumalan

    Beyra Lapierre Tumalan

    student•
    hace 4 años

    Un pequeño aporte ilustrativo entre la diferencia de While y Do While

      Kebyn Enrique Ajin Elías

      Kebyn Enrique Ajin Elías

      student•
      hace 3 años

      Muy buen aporte, muchas gracias :)

    Cursos Tres Astronautas

    Cursos Tres Astronautas

    student•
    hace 3 años

    En su momento un profesor me lo explico de esta manera y me ayudo a entenderlo más fácilmente

    WHILE: Se usa cuando no tienes clara la cantidad de veces que se iterara sobre el ciclo

    FOR: Se usa cuando tienes claro de antemano la cantidad de veces que se realizará la iteración

    Camilo Taborda

    Camilo Taborda

    student•
    hace 4 años

    Un buen ciclo en la vida de un programador 😎.

    void main() { String student = 'Please Your Name Here!'; int hoursPerWeek = 14; print("Bienvenido a Platzi💚 ${student}"); int count = 1; while(count < hoursPerWeek){ count++; print("#NuncaParesDeAprender 👨🏽‍💻"); } }

    Y lo mejor, es cambiar en la vida la expresión count < hoursPerWeek por un "true". Nota: PERO NO EJECUTARLO EN LA MÁQUINA!!!! 🤓

    Kevin Zavala

    Kevin Zavala

    student•
    hace 4 años

    Una manera de recordar en que casos usar un ciclo correctamente es la siguiente: do-while: cuando la operación se deba ejecutar al menos una vez. while: cuando la operación se deba ejecutar un número desconocido de veces. for: cuando se sepa cuantas veces se requiere ejecutar una operación y/o se requiera el indice de la operación.

    Esto no quiere decir que debas utilizar un ciclo u otro específicamente, solamente es para aprovechar la definición del ciclo.

    David Acevedo Gómez

    David Acevedo Gómez

    student•
    hace 3 años

    en el ciclo for, la iteración debe iniciar siempre en 0? o puede iniciar en 1?

      Tomás Antonio Cartaya Lyon

      Tomás Antonio Cartaya Lyon

      student•
      hace 3 años

      Puede iniciar en cualquier número que necessites, no necesariamente comienza en 0, ejemplo si necessitas iterar desde el número 5 hasta el 7 puedes hacerlo

      David Acevedo Gómez

      David Acevedo Gómez

      student•
      hace 3 años

      gracias

    Jonathan Rocha

    Jonathan Rocha

    student•
    hace 3 años

    Ciclo While:

    void main() { int tazasDeCafe = 0; int maximoTazas = 3; while (tazasDeCafe < maximoTazas) { tazasDeCafe++; print("Cantidad tazas: $tazasDeCafe"); } }

    Ciclo Do While:

    void main() { int tazasDeCafe = 0; int maximoTazas = 3; do { tazasDeCafe++; print("Cantidad tazas $tazasDeCafe"); } while (tazasDeCafe < maximoTazas); }

    Ciclo For:

    void main() { int tazasDeCafe = 0; int maximoTazas = 3; for (int i = 0; i < maximoTazas; i++) { tazasDeCafe = i + 1; print("Cantidad de tazas: $tazasDeCafe"); } }
    kolab Linkear

    kolab Linkear

    student•
    hace 3 años

    Pequeño ejemplo con while, do-while y for

    void main() { int tazas_de_cafe = 0; int maximo = 10; String cafe = "☕"; //* while while (tazas_de_cafe < maximo) { tazas_de_cafe++; print(cafe * tazas_de_cafe); } // * do while do { tazas_de_cafe++; print(cafe * tazas_de_cafe); } while (tazas_de_cafe < maximo); // * for for (int i = 0; i < 10; i++) print(cafe * i); }
    Jhonny Pimiento

    Jhonny Pimiento

    student•
    hace 3 años

    void main(){

    int teChai = 0; int maximo = 0; while(teChai <= maximo) { teChai++; print("Quantity of Te Chai: $teChai"); }

    }

    Sorry. A mi me gusta más el TE CHAI

    Osw Martinez

    Osw Martinez

    student•
    hace 3 años

    //Ciclos //While void main() { int deudas = 0; int maximo = 3;

    while(deudas < maximo){ deudas++; print("Deudas: $deudas"); } }
    Emmanuel Rodríguez

    Emmanuel Rodríguez

    student•
    hace 3 años

    Ciclos

    ❓Debate ¿Sabías que las iteraciones son un recurso costoso? ¿Conoces la definición de complejidad en código?

    .

    Big O Notation

    ℹ️ Definition Esta notación representa la complejidad de un algoritmo mediante su ejecución y rendimiento.

    . Big Notation estima el costo en el peor de los escenarios con lo que es ejecutado un bloque de código. . Por ejemplo: O(n^2)

    Donde n representa el número elementos que la función recibe como entradas.

    .

    graph
    . De la imagen podemos ver que la complejidad de una función incrementa la cantidad de cálculos o el tiempo que se necesita para completar dicha operación. . Si la complejidad fuese alta, pueden surgir problemas de rendimiento e impidiendo que la función escale bien a medida que se solicite más (tenga más entradas). .

    ℹ️ Definition O(1) representa una función que siempre entrega una evaluación sencilla.

    bool isFirstNumberEqualToOne(List<int> numbers) { return numbers.get(0) == 1; }

    ℹ️ Definition O(n) representa una función que incrementa linearmente y directamente proporcional al número de entradas.

    bool containsNumber(List<int> numbers, int comparisonNumber) { for(final number in numbers) { if(number == comparisonNumber) { return true; } } return false; }

    ℹ️ Definition O(n^2) representa una función que es directamente proporcional al cuadrado de sus entradas, es decir, complejidad basada en iteraciones de iteraciones.

    bool containsDuplicates(List<String> input) { for (int outer = 0; outer < input.length; outer++) { for (int inner = 0; inner < input.length; inner++) { if (outer != inner && input[outer] == input[inner]) { return true; } } } return false; }

    ℹ️ Definition O(2^n) representa a las funciones recursivas donde, hasta no cumplir la condición, seguirá ejecutándose.

    int fibonacci(int number) { if (number <= 1) { return number; } else { return fibonacci(number - 1) + fibonacci(number - 2); } }

    ℹ️ Definition O(log(n)) representa a aquellas funciones cuya complejidad se reduce en relación de la cantidad de entradas que se van solicitando.

    . Casos como búsquedas binaras y ordenamientos basados en patrones de diseño se establecen bajo esta complejidad.

    bool containsNumber(List<int> numbers, int comparisonNumber) { int indexhigher = numbers.length - 1; int indexLower = 0; while (indexLower <= indexhigher) { int index = (indexLower + (indexhigher - indexLower) / 2).round(); if (comparisonNumber < numbers[index]) { indexhigher = index - 1; } else if (comparisonNumber > numbers[index]) { indexLower = index + 1; } else { return true; } } return false; }
    Yury Jajitzky

    Yury Jajitzky

    student•
    hace 3 años

    Ejemplo con WHILE

    void main() { // Contador de Cafe int tazasDeCafe = 0; int maximo = 3; while (tazasDeCafe < maximo) { tazasDeCafe++; print('Cantidad de tazas de cafe: $tazasDeCafe'); } }

    Ejemplo con DO WHILE

    void main() { // Contador de Cafe int tazasDeCafe = 0; int maximo = 3; do { tazasDeCafe++; print('Cantidad de tazas de cafe: $tazasDeCafe'); } while (tazasDeCafe < maximo); }

    Ejemplo con FOR

    void main() { // Contador de Cafe int tazasDeCafe = 0; int maximo = 3; for (int i = 0; i < maximo; i++) { tazasDeCafe = i + 1; print('Cantidad de tazas de cafe: $tazasDeCafe'); } }

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