Skip to content

Latest commit

 

History

History
735 lines (525 loc) · 43.4 KB

README.md

File metadata and controls

735 lines (525 loc) · 43.4 KB

Learn C++ Object Oriented Programming - 0 to Hero 🦸‍♂️

Stars Forks

Paradigma: Multiparadigma: Programación Estructurada, imperativo, programación genérica

Es un lenguaje de programación diseñado en 1979 por Bjarne Stroustrup. La intención de su creación fue extender al lenguaje de programación C mecanismos que permiten la manipulación de objetos. En ese sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es un lenguaje híbrido. Wikipedia

Tabla de contenidos

Numeration Check Topic Quantization Edit Gitpot Downloads link
A ✔️ Bjarne Stroustrup 💻 💾 ⬅️ Atras
B ✔️ Caracteristicas 💻 💾 ⬅️ Atras
C ✔️ Ejemplo 💻 💾 ⬅️ Atras
D ✔️ Tipo de datos 💻 💾 ⬅️ Atras
E ✔️ Instalacion en Visual Studio Code 💻 💾 ⬅️ Atras
F ✔️ Instalacion en Visual Studio 💻 💾 ⬅️ Atras
G ✔️ Instalacion en Visual Studio C++/CLR 💻 💾 ⬅️ Atras
001-004 ✔️ Introduccion y Entrada Salida 💻 💾 ⬅️ Atras
005-009 ✔️ Expresiones y Operadores 💻 💾 ⬅️ Atras
010-011 ✔️ Condicionales 💻 💾 ⬅️ Atras
012-014 ✔️ Bucles o Ciclos 💻 💾 ⬅️ Atras
015-019 ✔️ Arreglos 💻 💾 ⬅️ Atras
020-022 ✔️ Matrices o Tablas 💻 💾 ⬅️ Atras
022-029 ✔️ Cadenas 💻 💾 ⬅️ Atras
030-035 ✔️ Funciones Predeterminadas 💻 💾 ⬅️ Atras
036-037 ✔️ Constructores 💻 💾 ⬅️ Atras
008-040 ✔️ Modificadores de Acceso 💻 💾 ⬅️ Atras

Ordenamientos

Numeration Check Topic Quantization Edit Gitpot Downloads link
041 ✔️ Metodo Burbuja 💻 💾 ⬅️ Atras
042 ✔️ Metodo Burbuja Recursivo 💻 💾 ⬅️ Atras
043 ✔️ Ordenamiento por Selección 💻 💾 ⬅️ Atras
044 ✔️ Ordenamiento por Insercion 💻 💾 ⬅️ Atras

Busquedas

Numeration Check Topic Quantization Edit Gitpot Downloads link
045 ✔️ Busqueda-Binaria 💻 💾 ⬅️ Atras

Estructuras C++

Numeration Check Topic Quantization Edit Gitpot Downloads link
046-049 ✔️ Estructuras 💻 💾 ⬅️ Atras

Funciones

Numeration Check Topic Quantization Edit Gitpot Downloads link
050-059 ✔️ Funciones C Plus Plus 💻 💾 ⬅️ Atras

Punteros en C++

Numeration Check Topic Quantization Edit Gitpot Downloads link
060 ✔️ Punteros 💻 💾 ⬅️ Atras

Doc

Numeration Check Topic Quantization Edit Gitpot Downloads link
A1 ✔️ Licencias 💻 💾 ⬅️ Atras
A2 ✔️ Paradigmas de Programacion 💻 💾 ⬅️ Atras
A3 ✔️ Cambio del Estandar C++ VS 💻 💾 ⬅️ Atras

Aditional

Numeration Check Topic Quantization Edit Gitpot Downloads link
B1 ✔️ Play List Spotify 💻 💾
B2 ✔️ Book 💻 💾
B3 ✔️ Games 💻 💾
B4 ✔️ Indice TIOBE 💻 💾

Sistema de tipos: Fuerte, estático, nominativo

Bjarne Stroustrup

Influido por: AWK, Smalltalk 80, Lisp, C, C++, Pascal, sed, Unix shell

[A]Bjarne Stroustrup (n. 30 de diciembre de 1950 en Aarhus, Dinamarca) es un científico de la computación y catedrático de Ciencias de la Computación en la Universidad A&M de Texas. Ha destacado por desarrollar el lenguaje de programación C++. Citando palabras del propio Stroustrup:.

Inventé C++, escribiendo sus primeras definiciones, y produciendo la primera implementación... 
elegí y formulé los criterios de diseño para C++, confeccioné también sus principales utilidades, y
fui responsable de elaborar extensas proposiciones en el comité de estándares de C++.
Pagina Web www.stroustrup.com

Sistema de tipos: Fuerte, estático, nominativo

Caracteristicas

[B] Características de C++
Su sintaxis es heredada del lenguaje C
Programa orientado a objetos (POO)
Permite la agrupación de instrucciones
Lenguaje muy didáctico, con este lenguaje puedes aprender muchos otros lenguajes con gran facilidad.
Es portátil y tiene un gran número de compiladores en diferentes plataformas y sistemas operativo.
Permite la separación de un programa en módulos que admiten compilación independiente
Es un lenguaje de alto nivel

Ejemplo

[C] A continuación se cita un programa de ejemplo hola mundo escrito en C++:

#include <iostream>

using namespace std;

int main()
{
    cout << "Hola mundo" << endl;
    return 0;
}

Tipo de datos

[D] C++ tiene los siguientes tipos fundamentales:

Types Description
char Caracteres.
short, int, long, long long Enteros.
float, double, long double Números en coma flotante.
bool Booleanos.
void Vacío.

El modificador unsigned se puede aplicar a enteros para obtener números sin signo (por omisión los enteros contienen signo), con lo que se consigue un rango mayor de números naturales.


Instalacion en Visual Studio Code

[E] Descargar los siguintes archivos:

📦 Install Mingw-w64 Instalador del mingw-w64.

c++ --version
g++ --version
  • Seleccion la imagen para hacer acercamiento

c++

📦 Install VS Code Instalador de Visual Studio Code.

code --version
  • ✔ Seleccion la imagen para hacer acercamiento (IntelliSense, debugging, and code browsing.)

c++

⚙ Configuración

  • ✔ Instalacion de la Extencion de Visual Studio code: C/C++

c++

  • ✔ Instalacion de la Extencion Code Runner (C, C++, Java, JavaScript, PHP, Python...)

c++

  • ✔ Instalacion de la Extencion C++ Intelisense (C/C++ Intellisense with the help of GNU Global tags)

c++

  • Configuracion de Code Runner

c++

Instalacion en Visual Studio

[F] c++

📦 Install Visual Studio Instalador de Visual Studio IDE.

Instalacion en Visual Studio C++/CLR

[G] 📦 Install CLR Instalador de C++/CLR Visual Studio

Incluye Creación de Proyectos en c++, implantación de Interfaz Grafica y Deploy. Esta extensión extiende los proyectos de Visual Studio por C ++ Windows Forms . Las aplicaciones creadas por tales proyectos tienen una interfaz gráfica de usuario. Para más detalles, ver aquí . Los proyectos de formularios C ++ de Windows son una manera fácil de crear programas con una interfaz gráfica de usuario en C ++. El lenguaje de programación es C ++ para la lógica de negocios y C ++ / CLI (un dialecto C ++) para la interfaz gráfica de usuario. Los proyectos de C ++ Windows Forms son excelentes para aprender C ++. Visual C ++ para Windows Forms tiene casi todas las características estándar del lenguaje C ++ (C ++ 11 / C ++ 14 / C ++ 17). Como los programas no están restringidos a una consola simple para la interacción del usuario, son más atractivos, más flexibles y mucho más fáciles de usar.

CLR Ejemplo

textBox1->AppendText("Hello World");

Requerimientos

Utilizando Interfas Grafica

  • Configuracion de Interfaz: Sistema

c++

  • Configuracion de Interfaz: Avanzado

c++

  • Ejemplo

c++


Introduccion y Entrada Salida

Number File Link Code Version Estado Atras
001 Introduccion y Entrada Salida ✔️ yes yes ✔️ ⬅️Atras
002 Hola Mundo Cplus plus ✔️ yes yes ✔️ ⬅️Atras
003 Calculadora ✔️ yes yes ✔️ ⬅️Atras
004 Cajero Automatico ✔️ yes yes ✔️ ⬅️Atras

Expresiones y Operadores

Number File Link Code Version Estado Atras
005 Operaciones 1 ✔️ yes yes ✔️ ⬅️Atras
006 Operaciones 2 ✔️ yes yes ✔️ ⬅️Atras
007 Operaciones 3 ✔️ yes yes ✔️ ⬅️Atras
008 Operaciones 4 ✔️ yes yes ✔️ ⬅️Atras
009 Operaciones 5 ✔️ yes yes ✔️ ⬅️Atras

Condicionales

Number Carpeta Link Code Version Estado Atras
010 Condicional IF ✔️ yes yes ✔️ ⬅️Atras
011 Switch ✔️ yes yes ✔️ ⬅️Atras

Bucles o Ciclos

Number Carpeta Link Code Version Estado Atras
012 While ✔️ yes yes ✔️ ⬅️Atras
013 Do-While ✔️ yes yes ✔️ ⬅️Atras
014 For ✔️ yes yes ✔️ ⬅️Atras

Arreglos

Number Carpeta Link Code Version Estado Atras
015 Array ✔️ yes yes ✔️ ⬅️Atras
016 Array 2 ✔️ yes yes ✔️ ⬅️Atras
017 Array Almacenado de Contenido ✔️ yes yes ✔️ ⬅️Atras
018 Array Mayor elemento ✔️ yes yes ✔️ ⬅️Atras
019 Array con indices ✔️ yes yes ✔️ ⬅️Atras

Matrices o Tablas

Number Carpeta Link Code Version Estado Atras
020 Matrices ✔️ yes yes ✔️ ⬅️Atras
021 Matrices II ✔️ yes yes ✔️ ⬅️Atras
022 Matrices Copy Content to Another Array ✔️ yes yes ✔️ ⬅️Atras

Cadenas

Number File Link Code Version Estado Atras
021 Logitud de Cadena ✔️ yes yes ✔️ ⬅️Atras
022 Cadenas - Comparar cadenas ✔️ yes yes ✔️ ⬅️Atras
023 Logitud de Cadena ✔️ yes yes ✔️ ⬅️Atras
024 Cadenas - Concatenar una cadena con otra - Función strcat ✔️ yes yes ✔️ ⬅️Atras
025 Cadenas - Ejercicio Contando cada vocal en una frase ✔️ yes yes ✔️ ⬅️Atras
026 Cadenas - Invertir una cadena ✔️ yes yes ✔️ ⬅️Atras
027 Cadenas - Pasar un a Palabra a Minusculas ✔️ yes yes ✔️ ⬅️Atras
028 Cadenas - Pasar un palabra a MAYUSCULAS ✔️ yes yes ✔️ ⬅️Atras
029 Cadenas - Transformar una Cadena a numeros ✔️ yes yes ✔️ ⬅️Atras

Funciones Predeterminadas

Number File Link Code Version Estado Atras
030 Funciones ✔️ yes yes ✔️ ⬅️Atras
031 Funciones II ✔️ yes yes ✔️ ⬅️Atras
032 Funciones III ✔️ yes yes ✔️ ⬅️Atras
033 Funciones IV ✔️ yes yes ✔️ ⬅️Atras
034 Funciones V ✔️ yes yes ✔️ ⬅️Atras
035 Funciones VI ✔️ yes yes ✔️ ⬅️Atras

Constructores

`Funciones`
Las funciones son un conjunto de procedimiento encapsulados en un bloque, usualmente reciben parámetros, cuyos valores utilizan para efectuar operaciones y adicionalmente retornan un valor. Esta definición proviene de la definición de función matemática la cual posee un dominio y un rango, es decir un conjunto de valores que puede tomar y un conjunto de valores que puede retornar luego de cualquier operación.
`Métodos`
Los métodos y las funciones son funcionalmente idénticos, pero su diferencia radica en el contexto en el que existen. Un método también puede recibir valores, efectuar operaciones con estos y retornar valores, sin embargo en método está asociado a un objeto, básicamente un método es una función que pertenece a un objeto o clase, mientras que una función existe por sí sola, sin necesidad de un objeto para ser usada.
`Procedimientos`
Los procedimientos son básicamente lo un conjunto de instrucciones que se ejecutan sin retornar ningún valor, hay quienes dicen que un procedimiento no recibe valores o argumentos, sin embargo en la definición no hay nada que se lo impida. En el contexto de C++ un procedimiento es básicamente una función void que no nos obliga a utilizar una sentencia return.

Nota

- Procedimiento: Es un conjunto de instrucciones que cumplen una tarea
- Función: Como un procedimiento pero retorna un valor
- Clase: Concepto de programación orientada a objetos, es una forma de encapsular funcionalidad, contiene campos y métodos.
- Método: Puede ser un procedimiento o una función, la diferencia es que le pertenece a una clase.
public class ConsoleTest
{
    public void Saludo()
    {
        Console.WriteLine("¡Hola!");
    }

    public int Suma(int a, int b)
    {
        return a + b;
    }
}

En este ejemplo

  • ConsoleTest es una clase
  • Saludo es un método y un procedimiento. Como no devuelve un valor es tipo void
  • Suma es un método y una función
Number File Link Code Version Estado Atras
036 Constructores ✔️ yes yes ✔️ ⬅️Atras
037 Constructoes y Modificadores ✔️ yes yes ✔️ ⬅️Atras

Modificadores de Acceso

Number File Link Home Version Estado Atras
038 public ✔️ yes yes ✔️ ⬅️Atras
039 private ✔️ yes yes ✔️ ⬅️Atras
040 Protected ✔️ yes yes ✔️ ⬅️Atras

Ordenamientos

c++

Metodo Burbuja

Number File Link Version Estado Atras
041 Metodo Burbuja ✔️ yes yes ✔️

Metodo Burbuja Recursivo

Number File Link Code Version Estado Atras
042 Metodo Burbuja Recursivo ✔️ yes yes ✔️ ⬅️Atras

Ordenamiento por Selección

Number File Link Code Version Estado atras
043 Ordenamiento por Selección ✔️ yes yes ✔️ ⬅️Atras

Ordenamiento por Insercion

Number File Link Code Version Estado Atras
044 Ordenamiento por Insercion ✔️ yes yes ✔️ ⬅️Atras

Busquedas

c++

Busqueda Binaria

Number File Link Code Version Estado Atras
045 Busqueda Binaria ✔️ yes yes ✔️ ⬅️Atras

Estructuras

Numeration File Link Code Version Estado Atras
046 Estructuras basicas ✔️ yes yes ✔️ ⬅️Atras
047 Estructuras anidadas ✔️ yes yes ✔️ ⬅️Atras
048 Estrutura Ejercicio - CategoriaCorredor ✔️ yes yes ✔️ ⬅️Atras
049 Estructuras Ejercicio Empleado Mayor Menor Salario ✔️ yes yes ✔️ ⬅️Atras

Funciones C Plus Plus


Numeration File Link Code Version Estado Atras
050 Funciones ✔️ yes yes ✔️ ⬅️Atras
051 Funciones PLantillas de fucion ✔️ yes yes ✔️ ⬅️Atras
052 Funciones Ejercicio I Multiplicacion ✔️ yes yes ✔️ ⬅️Atras
053 Funciones Ejercicio II Potencia ✔️ yes yes ✔️ ⬅️Atras
054 Funciones2 - Plantillas de Funcion ✔️ yes yes ✔️ ⬅️Atras
055 Funciones2 - Parametos por Referencia ✔️ yes yes ✔️ ⬅️Atras
056 Funciones2 - DevolverValoresMultiples ✔️ yes yes ✔️ ⬅️Atras
057 Funciones2 - Recursividad ✔️ yes yes ✔️ ⬅️Atras
058 Funciones2 - Recursividad Suma ✔️ yes yes ✔️ ⬅️Atras
059 Funciones2 - Elevacion de un número con recursividad ✔️ yes yes ✔️ ⬅️Atras

Punteros

  • Example
int numero, *dir_numero;

	cout << "Digite un Numero: "; cin >> numero;

	dir_numero = &numero; // Guardando la posicion de memoria

	if (*dir_numero % 2 == 0) {
		cout << "El numero " << *dir_numero << " es par " << endl;
		cout << "Posicion " << dir_numero << endl;
	}
	else {
		cout << "El numero " << *dir_numero << " es impar " << endl;
		cout << "Posicion " << dir_numero << endl;
	}

	_getch();
	return 0;
Numeration File Link Code Version Estado Atras
060 Punteros ✔️ yes yes ✔️ ⬅️Atras
061 Punteros - Numero Par e Impar ✔️ yes yes ✔️ ⬅️Atras

Doc

Licencias

Numeration File Link Home Code Version Estado
A1 Licencias ✔️ ⬅️Atras yes yes ✔️

Paradigmas de Programacion

Numeration File Link Home Code Version Estado
A2 Paradigmas de Programacion ✔️ ⬅️Atras yes yes ✔️

Cambio del Estandar C++ VS

Numeration File Link Home Code Version Estado
A3 Cambio del Estandar C++ VS ✔️ ⬅️Atras yes yes ✔️

SQL Server

Microsoft SQL Server es un sistema de gestión de base de datos relacional, desarrollado por la empresa Microsoft.

El lenguaje de desarrollo utilizado (por línea de comandos o mediante la interfaz gráfica de Management Studio) es Transact-SQL (TSQL), una implementación del estándar ANSI del lenguaje SQL, utilizado para manipular y recuperar datos (DML), crear tablas y definir relaciones entre ellas (DDL).

Dentro de los competidores más destacados de SQL Server están: Oracle, MariaDB, MySQL, PostgreSQL. SQL Server ha estado tradicionalmente disponible solo para sistemas operativos Windows de Microsoft, pero desde 2016 está disponible para GNU/Linux,2​3​ y a partir de 2017 para Docker también.

SQL Server Repository.


C Sharp Training

Es un lenguaje de programación multiparadigma desarrollado y estandarizado por la empresa Microsoft como parte de su plataforma .NET, que después fue aprobado como un estándar por la ECMA (ECMA-334) e ISO (ISO/IEC 23270). C# es uno de los lenguajes de programación diseñados para la infraestructura de lenguaje común.

C# Training Repository Course Programming in Visual C#.


Spotify

🎵 Music C++ List on Spotify 🎤


Books

Server Name Authors Edition ISBN Link
OneDrive C++ Como Programar Paul Deitel, Harvel Deitel Novena Edicion 978-607-32-2739-1 C++ Como Programar

Paypal

🩸 Hacer una donación PAYPAL 🍵


Creador del Material Didactico

Aprende Programación en C++ Básico - Intermedio - Avanzado | Alejandro Miguel Taboada

c++


Indice TIOBE

El índice de la comunidad de programación TIOBE es un indicador de la popularidad de los lenguajes de programación. El índice se actualiza una vez al mes. Las calificaciones se basan en la cantidad de ingenieros calificados en todo el mundo, cursos y proveedores externos. Los motores de búsqueda populares como Google, Bing, Yahoo !, Wikipedia, Amazon, YouTube y Baidu se utilizan para calcular las calificaciones. Es importante tener en cuenta que el índice TIOBE no se trata del mejor lenguaje de programación o del lenguaje en el que se han escrito la mayoría de las líneas de código .

Indice TIOBE


A B
C E
F G