馃嚜馃嚫 Programaci贸n en Pascal y Delphi

馃嚜馃嚫 Programaci贸n en Pascal y Delphi

Programaci贸n en Pascal y Delphi

Vu茅lvete profesional en programaci贸n con Pascal creando aplicaciones innovadoras y potentes.

Language: spanish

Note: 4.9/5 (38 notes) 7,926 students

Instructor(s): Vladimir Rodr铆guez

Last update: 2022-10-29

What you’ll learn

  • Programaci贸n de proyectos complejos: A lo largo del curso tendr谩s que implementar y desarrollar diferentes proyectos, que te permitir谩n entrenar lo aprendido.
  • Entorno de Desarrollo Integrado: C贸mo utilizar un IDE moderno para comenzar a desempe帽arte en cualquier tecnolog铆a de desarrollo de software.
  • Entrada y salida de datos: Aprender谩s a mostrar informaci贸n en pantalla, primero en consola y luego en ventanas, as铆 como a capturarla y procesarla.
  • Variables y tipos de datos: Conocer谩s qu茅 son las variables y c贸mo se vinculan con los tipos de datos, tanto los primitivos como los definidos manualmente..
  • Constantes: Aprender谩s a definir valores que no cambiar谩n a lo largo de la ejecuci贸n de tu programa, siendo 茅stas muy 煤tiles para sistematizar tareas.
  • Toma de decisiones: El uso de sentencias IF te permitir谩 lograr que tus programas tomen distintos caminos seg煤n lo que va ocurriendo.
  • Condiciones booleanas: Definir las formas en que tu programa eval煤a cada situaci贸n es una tarea compleja e importante. Aprender谩s a hacerlo de forma correcta.
  • Iteraci贸n FOR: Conocer谩s la sentencia FOR y su uso para repetir tareas dentro de un bloque de c贸digo, un n煤mero de veces espec铆fico.
  • Iteraci贸n condicional: Sabr谩s definir bloques de c贸digo que deben repetirse un n煤mero de veces indefinido, dependiendo esto de lo que va ocurriendo.
  • Funciones y procedimientos: Aprender谩s a dividir tus programas en bloques de c贸digo que luego podr谩s invocar, dividiendo problemas en tareas m谩s peque帽as.
  • Alcance de identificadores: Comprender谩s c贸mo los nombres que usas tienen diferentes alcances seg煤n donde los defines, y c贸mo esto afecta a tu c贸digo.
  • Estructuras de datos lineales: Aprender谩s a usar diferentes estructuras para solucionar tus problemas y crear proyectos.
  • Modularizaci贸n: Aprender谩s a dividir grandes programas en m贸dulos independientes que luego encajar谩n en el lienzo final creando algo 煤nico.
  • Creaci贸n de librer铆as: Comprender谩s c贸mo reutilizar c贸digo ya creado para no tener que reescribir cada cosa, creando tus propias librer铆as.
  • Archivos: Podr谩s hacer que tus programas creen archivos de texto plano (TXT), as铆 como tambi茅n definir tu propio tipo de archivos.
  • Punteros: Aprender谩s a dominar el uso de la memoria, crear nuevos datos din谩micamente y liberarlos cuando ya no los necesitas.
  • Tipos Abstractos de Datos: Comprender谩s que son los TADs, aprender谩s a definir y crear los tuyos y te diferenciar谩s del resto de programadores.
  • Listas Enlazadas: Trabajar谩s con la estructura din谩mica LinkedList, extremadamente habitual en todo lenguaje.
  • Colas y Pilas: Aprender谩s a crear estructuras din谩micas utilizando el modelo de Cola (Queue) y Pila (Stack).
  • 脕rboles binarios de b煤squeda y generales: Conocer谩s como crear estructuras arborescentes din谩micamente y usarlas para hacer que tus programas sean eficientes.
  • Definici贸n y creaci贸n de Objetos: Aprender谩s a definir clases (class) de objetos e instanciarlos, dando un salto cu谩ntico en tu forma de programar.
  • Herencia y Polimorfismo: Conocer谩s c贸mo utilizar estas cualidades de la POO a tu favor para agilizar tu desarrollo y reutilizar mucho mejor tu c贸digo.
  • Casteo: Sabr谩s cambiar el tipo de datos de tus objetos de forma din谩mica durante la ejecuci贸n de tu software.
  • Interfaces Gr谩ficas de Usuario: Ser谩 en este punto en el que aprender谩s a crear las tuyas propias y hacerlas funcionar.
  • Dise帽o de Software: Conocer谩s las bases para dise帽ar un software de porte peque帽o o mediano (m谩s de 10000 l铆neas), incluso grande, desde cero.
  • Bases de datos SQL: Aprender谩s a usar, crear y gestionar bases de datos relacionales basadas en el lenguaje SQL. Nos basaremos en MySQL y SQLite.
  • Patrones de Dise帽o: Aprender谩s, por ejemplo el patr贸n SINGLETON, MVC, Capas, entre otros.
  • Codificar谩s como si no hubiera un ma帽ana: Tendr谩s que hacer funcionar muchos proyectos completos y entregar tu trabajo.
  • El doble de horas: La pr谩ctica del curso ser谩 intensiva, implicando horas y horas de trabajo y desarrollo de software, como debe ser.

 

Requirements

  • Aprende a programar desde la nada forjando las bases esenciales y profundas que todo programador necesita en el mundo de hoy.
  • Si sabes utilizar una computadora, crear carpetas y bajarte archivos desde Internet entonces puedes hacer este curso.
  • No se requieren conocimientos previos de programaci贸n.
  • Se requiere un dominio con soltura de Windows, Linux o Mac (seg煤n la preferencia del estudiante).
  • Manejo b谩sico de Internet: consultar, subir y descargar archivos e ingresar a una Web espec铆fica.

 

Description

Este curso te ense帽ar谩 a programar desde la nada absoluta hasta volverte experto, trabajando en lenguaje Pascal y entorno (IDE) Lazarus, para la creaci贸n r谩pida de aplicaciones innovadoras. Haremos un recorrido completo desde lo m谩s esencial del desarrollo de software hasta lo m谩s avanzado. Pasar谩s de forma progresiva por los distintos paradigmas de programaci贸n, aprendiendo:

  • Programaci贸n estructurada

  • Programaci贸n modular

  • Memoria din谩mica

  • Programaci贸n Orientada a Objetos

  • Programaci贸n de Interfaces Gr谩ficas de Usuario

  • Bases de Datos SQL

A trav茅s de este curso el estudiante desarrollar谩 varios proyectos, dise帽ar谩 sus propios programas, resolver谩 problemas complejos con pocas herramientas, aprender谩 a pensar y a dividir grandes retos en peque帽as partes. Aprender谩 tambi茅n la teor铆a profunda que todo programador necesita hoy d铆a y la pondr谩 en pr谩ctica inmediatamente a trav茅s de los ejercicios y proyectos planteados.

El curso se divide en 5 m贸dulos extremadamente poderosos, cada uno de los cuales extiende y amplifica al m贸dulo anterior. En concreto:

=== M贸dulo 1: Programaci贸n estructurada ===

Un curso de programaci贸n en s铆 mismo, ya que en 茅l el estudiante conocer谩 todas las herramientas esenciales para crear programas en cualquier lenguaje. Los conceptos son dados de tal forma que el estudiante podr谩 aplicarlos en cualquier lenguaje moderno a su elecci贸n. Los temas que se dar谩n son:

  1. Salida est谩ndar de datos

  2. Entrada est谩ndar

  3. Definici贸n de variables

  4. Tipos primitivos de datos

  5. Tipos estructurados de datos

  6. Diagramas de flujo

  7. Secuencia y selecci贸n (IF)

  8. Repetici贸n iterativa (FOR)

  9. Repetici贸n condicional (WHLE y REPEAT – DO…WHILE)

  10. Subrangos

  11. Arreglos lineales est谩ticos

  12. Arreglos lineales din谩micos

  13. Arreglos bidimensionales

  14. Depurador y ejecuci贸n paso a paso

  15. Enumerados y registros

  16. Procedimientos y funciones

  17. Alcance de identificadores (locales y globales)

  18. Pasaje de par谩metros por valor (copia) y por referencia (alias)

  19. Archivos de texto y archivos tipados

  20. Proyectos finales

=== M贸dulo 2: Memoria din谩mica y Tipos Abstractos de datos===

Aqu铆 el curso comienza a profundizar en conceptos que muchos programadores desconocen o no dominan (como quienes aprenden Java como primer lenguaje): los punteros. A trav茅s de esta herramienta el programador podr谩 comenzar a crear programas que gestionen la memoria RAM, enfrent谩ndose a los problemas y complejidades que 茅sto conlleva.

Los Tipos Abstractos de Datos (TADs) introducen todo un concepto nuevo de programaci贸n: dividir el programa en m贸dulos individuales y trabajar por separado con cada uno. De este modo el estudiante aprender谩 a abstraer datos y a modularizar sus programas, todo lo cual es la base fundamental de la Programaci贸n Orientada a Objetos que posteriormente ser谩 tratada en profundidad.

  1. El tipo puntero

  2. Solicitud de memoria

  3. Liberaci贸n de memoria

  4. Alias

  5. Reprogramaci贸n de proyectos a memoria din谩mica

  6. Modularizaci贸n de programas

  7. Creaci贸n de unidades

  8. Definici贸n de tipos abstractos

  9. Implementaci贸n de operaciones

  10. Uso de TADs en diferentes sistemas

  11. Linkedici贸n

  12. Listas encadenadas simples

  13. Listas doblemente encadenadas

  14. Listas circulares

  15. Colas

  16. Pilas

  17. TADs personalizados

  18. Reprogramaci贸n de proyectos usando TADs

=== M贸dulo 3: Recursividad y el TAD 脕rbol binario===

Una herramienta muy poderosa y a la vez delicada. El estudiante aprender谩 a utilizarla, conocer谩 sus ventajas y desventajas, entender谩 su diferencia con la repetici贸n iterativa, y comprender谩 c贸mo resolver problemas complejos con ella.

El estudiante adem谩s conocer谩 c贸mo crear una estructura arborescente a trav茅s del uso de punteros, y c贸mo esta estructura resulta 煤til para ciertos casos. Es una herramienta muy poderosa que no todo programador domina. Siendo una estructura recursiva, se une perfectamente con la recursividad.

  1. Qu茅 es la recursividad

  2. Diferencia entre recursividad e iteraci贸n

  3. Recursividad en listas lineales

  4. Recursividad en matrices

  5. Reprogramaci贸n de proyectos usando recursividad

  6. 脕rbol binario de b煤squeda

  7. 脕rbol general

  8. Estructuras arborescentes

  9. Caso de estudio

  10. Proyecto

=== M贸dulo 4: Programaci贸n Orientada a Objetos ===

El estudiante aplicar谩 ahora todos sus conocimientos para aprender este nuevo paradigma y comenzar a ver las estructuras de los programas como objetos. De este modo lograr谩 modularizar a煤n m谩s su c贸digo y comenzar a dise帽ar programas de forma m谩s r谩pida y eficiente.

  1. Teor铆a de objetos

  2. Clases

  3. Creaci贸n y destrucci贸n de objetos

  4. Herencia

  5. Polimorfismo

  6. Casteo

  7. Clases abstractas e interfaces

  8. Bloques try y lanzamiento de excepciones

  9. Beans

  10. Dise帽o b谩sico de software

  11. Bases de UML

  12. Proyectos finales

=== M贸dulo 5: Interfaces gr谩ficas de usuario ===

Todo lo aprendido en el curso le permitir谩 al estudiante comprender c贸mo crear interfaces gr谩ficas de usuario y utilizarlas de forma inteligente, ya que 茅stas, en cualquier lenguaje moderno, est谩n dise帽adas con Objetos (POO). De esta manera el estudiante aprender谩 a utilizar la librer铆a LCL de Lazarus, que le permitir谩 aprender las bases de la creaci贸n de interfaces gr谩ficas, manejo de eventos y control de errores.

  1. Creaci贸n manual de interfaces y componentes

  2. Creaci贸n gr谩fica mediante el entorno de desarrollo

  3. Ejemplos y aplicaciones

  4. Reprogramaci贸n de proyectos para crear interfaces gr谩ficas

  5. Proyecto final

=== M贸dulo 6: Bases de datos MySQL y SQLite ===

Pasaremos a un punto bien distinto de la programaci贸n, ya que el estudiante ahora aprender谩 a usar dos herramientas concretas de bases de datos, que es algo que va m谩s all谩 de la programaci贸n en s铆 pero que a la vez es super necesario.

  1. Conexi贸n de bases de datos a un programa

  2. An谩lisis y dise帽o de persistencia

  3. Comandos SQL por consola

  4. Herramientas gr谩ficas MySQL Workbench y SQLite Studio

  5. De tablas a objetos: mapeo de datos

  6. Mantenimiento de bases de datos

 

Who this course is for

  • Qui茅n no tenga conocimientos de programaci贸n y quiera aprender sin inconvenientes.
  • Toda persona que quiera aprender a programar profesionalmente empezando desde cero.
  • Qui茅n ya tenga conocimientos de programaci贸n pero quiera profundizar y forjar bases s贸lidas.
  • Cualquier persona que desee expandir sus conocimientos previos sobre programaci贸n.
  • Todo programador que desee convertirse en profesional.

 

Course content

  • Presentaci贸n y preparaci贸n
    • Presentaci贸n
    • Introduccion
    • Descarga e instalaci贸n de Lazarus
    • Enlaces importantes
  • Entrada y salida est谩ndar
    • Salida b谩sica de un programa
    • Write y WriteLn
    • La primera variable
    • Ejemplo pr谩ctico: usando varias variables
    • Variables num茅ricas: calculando 谩rea y per铆metro de un cuadrado
    • Trabajando con variables
    • El tipo Real
    • Constantes
    • C谩lculos sencillos
    • Lectura simult谩nea de variables
    • Read
    • Documentaci贸n de c贸digo: Comentarios
    • Divisi贸n entera: cociente y resto
    • Leyendo caracteres uno a uno
    • Pr谩cticas de la Secci贸n 1
  • Selecci贸n
    • Sentencia IF
    • IF concatenado (avanzado)
    • Ejemplo pr谩ctico con IF
    • Sentencia CASE
    • El tipo BOOLEAN y sus operadores
    • Anidaci贸n IF
    • Ejercicios sobre Selecci贸n
  • Repetici贸n iterativa
    • Secuencia de repetici贸n FOR
    • Adivinador con FOR
    • Anidaci贸n con FOR
    • N煤meros al azar con RANDOM
    • Ejercicios sobre repetici贸n FOR
    • Proyecto Adivinador 2.0
    • Repetici贸n condicional con WHILE
    • Repetici贸n condicional con REPEAT
    • Adivinador 3.0
    • Ejercicios WIHLE y REPEAT
  • Arreglos
    • Tipos primitivos y subrangos
    • Arreglos
    • Buscando en arreglos
    • Arreglos: ejemplo pr谩ctico con caracteres
    • Arreglos din谩micos
    • Arreglos bidimensionales
    • Caso pr谩ctico: n煤meros sin repetir en un arreglo
    • El depurador de Lazarus
    • Ejemplo pr谩ctico: pasaje de caracteres a n煤meros
    • Proyecto: El truco de las 21 cartas
    • Proyecto: MasterMind 1.0
    • Proyecto: MasterMind 2.0
    • For in
  • Subprogramas: procedimientos y funciones
    • Procedimientos
    • Par谩metros
    • Funciones
    • Alcance de identificadores
    • Funci贸n booleana
    • Pasaje de par谩metros por referencia
    • Declaraci贸n adelantada mediante FORWARD
    • Ejemplos pr谩cticos de subprogramas
    • Sobrecarga de identificadores
    • Proyecto: MasterMind 2.5
  • Enumerados y Registros
    • Enumerados
    • Ejemplo pr谩ctico: Enumerados Adivinador
    • Registros
    • Ejemplo pr谩ctico: Registros en Adivinador
    • Arreglos con tope
    • Proyecto: MasterMind 3.0
  • Unidades y proyectos
    • Unidades
    • Proyecto: MasterMind 4.0
    • Caso de estudio: El Juego de la Vida – 1/4
    • Caso de estudio: El Juego de la Vida – 2/4
    • Caso de estudio: El Juego de la Vida – 3/4
    • Caso de estudio: El Juego de la Vida – 4/4
    • Proyecto: Buscaminas
  • Archivos
    • Introducci贸n a los archivos
    • Crear, leer y modificar archivos
    • Manipulando archivos de texto
    • Creando procesador de textos b谩sico
    • Archivos con tipo b谩sico
    • Archivos con tipo avanzado
    • Creando una base de datos simple
    • Borrar registros en archivos con tipo
    • Proyecto: Base de datos simple
  • Memoria din谩mica con punteros
    • Introducci贸n a los punteros
    • Punteros a registros – Alias y complicaciones
    • Listas enlazadas
    • Inserci贸n de nodos en una lista encadenada
    • Eliminaci贸n de nodos en una lista encadenada
    • Memoria din谩mica en Notepad Pas
    • Practica: manipulando punteros
    • Test de Stress
  • Tipos Abstractos de Datos
    • Modularizaci贸n en Pascal
    • Tipos Abstractos de Datos
    • Expresiones Regulares
    • Caso de estudio 1: Presentaci贸n del proyecto GestionDeCursos
    • Caso de estudio 1: Definici贸n de persistencia y tipos b谩sicos
    • Caso de estudio 1 : Implementaci贸n de operaciones
    • Caso de estudio 1: Dise帽o de colecciones
    • Caso de estudio 1: Implementaci贸n de colecciones
    • Caso de estudio 1: Gestor de mensajes y gestor de formatos
    • Caso de estudio 1: Sistema de gesti贸n de base de datos
    • Caso de estudio 1: Controlador del sistema
    • TAD Docente y TAD ListaEnteros
    • TAD LinkedList y sus variantes
    • TADs Pila y Cola
    • TAD Arbol Binario de B煤squeda (ABB)
    • Eliminar un nodo de un 脕rbol Binario de B煤squeda
    • PROYECTO: Reimplementaci贸n de Gesti贸n de Cursos
  • Recursi贸n computacional
    • Recursi贸n directa: Introducci贸n
    • Stack de llamadas
  • Programaci贸n Orientada a Objetos
    • Introducci贸n a la POO: Primera clase (class)
    • Clases en Pascal Moderno
    • Modificadores de acceso
    • Listas Encadenadas como Objetos Modernos: Clases Internas
    • Implementando recorrido de la lista para los clientes
    • Generando el Contenedor de Desplazamiento de una colecci贸n
    • Propiedades en Pascal
    • Caso de Estudio: Adivinador con objetos (1/2)
    • Caso de Estudio: Adivinador con Objetos (2/2)
    • Campos est谩ticos de una clase
    • Patr贸n de dise帽o SINGLETON
    • Proyecto Batalla Naval
  • Herencia y Polimorfismo
    • Encapsulamiento y Herencia
    • Casteo y conversi贸n de tipos
    • Introducci贸n a las interfaces
    • Interfaces avanzadas
    • Generalizando objetos en una colecci贸n
    • Polimorfismo
    • Clases Abstractas
    • Proyecto final POO con introducci贸n a UML
    • M茅todos y clases gen茅ricas
    • Colecciones gen茅ricas
    • Captura de excepciones
    • Lanzamiento de excepciones
  • Interfaces gr谩ficas de usuario
    • HolaMundo: El regreso
    • Uso b谩sico de campos de texto
    • Creaci贸n de un formulario simple
    • Formulario con foco
    • Mejorando el formulario: im谩genes y 谩reas de texto
    • Contrase帽as, radio botones y cajas de check
    • Listas desplegables y bot贸n con icono
    • Listas m煤ltiples
    • Cuadros de di谩logo predefinidos
    • Di谩logos de selecci贸n y guardado
    • A帽adir ventanas a la aplicaci贸n
    • Paneles, divisores y pesta帽as
    • Barra de men煤 y Men煤 contextual
    • Tablas
    • Uso b谩sico de im谩genes
    • Generaci贸n din谩mica de componentes y temporizadores
    • Acciones
    • Listas filtrables
    • Proyecto calculadora
    • Proyecto FINAL
  • Bases de datos SQL
    • Funcionamiento del m贸dulo
    • Descarga e instalaci贸n de MySQL
    • Descarga e instalaci贸n de SQLite
    • Concepto de cliente-servidor
    • Primer encuentro con SQL
    • Creaci贸n de la primera tabla
    • Carga masiva de datos
    • Tipos primitivos
    • Selecci贸n selectiva
    • Funciones b谩sicas predefindas
    • Gestionando registros
    • Modificar estructura de una tabla
    • Claves primaria y for谩nea
    • Creando estructura de 5 tablas
    • Inserci贸n de informaci贸n relacionada en tablas
    • Caso de estudio: Pokemon DB – Descripci贸n
    • Caso de estudio: Pokemon DB – Diagramado
    • Caso de estudio: Pokemon DB – Finalizando estructura
    • Caso de estudio: Pokemon DB – Importaci贸n de datos

 

馃嚜馃嚫 Programaci贸n en Pascal y Delphi馃嚜馃嚫 Programaci贸n en Pascal y Delphi

Time remaining or 372 enrolls left

 

Don’t miss any coupons by joining our Telegram group 

Udemy Coupon Code 100% off | Udemy Free Course | Udemy offer | Course with certificate