From 3bc95f12287a6e703946593e22e8e693ced5e428 Mon Sep 17 00:00:00 2001 From: Miguel Garrido <93833262+sirkotal@users.noreply.github.com> Date: Wed, 31 Jan 2024 09:44:30 +0000 Subject: [PATCH 1/3] Updating the CPP slides --- CPP_Workshop/cpp_presentation.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/CPP_Workshop/cpp_presentation.md b/CPP_Workshop/cpp_presentation.md index 7e11e69..87c3e8c 100644 --- a/CPP_Workshop/cpp_presentation.md +++ b/CPP_Workshop/cpp_presentation.md @@ -66,7 +66,7 @@ int main() { --- # Tipos de Dados Primitivos -- **char:** caracteres alfanuméricos (ex: 'c', '8', '$'); +- **char:** caracteres alfanuméricos (ex: 'c', '8', '$'); alternativamente, podemos utilizar valores ASCII para mostrar caracteres específicos - **int:** números inteiros (ex: 10**3, -2) - **float:** números com vírgula flutuante de precisão simples (ex: 1.902, -5,926563840) - **double:** números com vírgula flutuante de precisão dupla (ex: 1.2, -4.587) @@ -188,16 +188,19 @@ int main() { # Input/Output ## Requisitos -Para utilizar os operadores I/O de C++, é necessário incluir as seguintes linhas no topo do ficheiro de código: +Para utilizar os operadores I/O de C++, é necessário incluir a seguinte linha no topo do ficheiro de código: ```C++ #include -using namespace std; ``` `iostream` é a biblioteca *standard* que fornece operadores e funções de I/O. -Se o *namespace* `std` não for declarado, é necessário pré-anexar `std::` aos métodos *standard* (e.g. `std::cout`). +É também necessário pré-anexar `std::` aos métodos *standard* (e.g. `std::cout`) ou simplesmente declarar o *namespace* `std`. + +```C++ +using namespace std; +``` --- From d4d37320f954f14ab05da87197cc40557fe95d6a Mon Sep 17 00:00:00 2001 From: Miguel Garrido <93833262+sirkotal@users.noreply.github.com> Date: Wed, 31 Jan 2024 17:13:48 +0000 Subject: [PATCH 2/3] Some final touches to the CPP wokshop slides --- CPP_Workshop/cpp_presentation.md | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/CPP_Workshop/cpp_presentation.md b/CPP_Workshop/cpp_presentation.md index 87c3e8c..8df5e43 100644 --- a/CPP_Workshop/cpp_presentation.md +++ b/CPP_Workshop/cpp_presentation.md @@ -378,11 +378,21 @@ while (x < 5); ## For loop ```C++ for (int i = 0; i < 10; i++) { - int y = i*2; + int y = i * 2; cout << y << endl; } ``` +```C++ +int x = 0; +for (int i = 0; i < 10; i++, x--) { + int y = i * 2; + cout << y << endl; +} + +cout << x << endl; +``` + É possível encadear ciclos. Útil para percorrer elementos de matrizes, por exemplo ```C++ @@ -579,8 +589,7 @@ A biblioteca inclui muitos métodos úteis, alguns deles listados a baixo. Para ```C++ #include -#include -#include +#include using namespace std; @@ -1424,6 +1433,8 @@ public: --- # Outros Tópicos Avançados +- Alguns conceitos de classes + - Classes abstratas, polimorfismo... - Macros - Substituição de texto em compile time - Casts @@ -1447,7 +1458,7 @@ public: ## Ferramenta de Desenvolvimento -- [Visual Studio Code](https://code.visualstudio.com/) & Extensão C/C++ & g++ (Linux/Mac) +- [Visual Studio Code](https://code.visualstudio.com/) & Extensão C/C++ & g++ (WSL/Linux/Mac) - [Visual Studio](https://visualstudio.microsoft.com/) (Windows) - [CLion](https://www.jetbrains.com/clion/) (Windows/Linux/Mac) From 90cecfd4f870cc01ae16c5e52dc3935af9442815 Mon Sep 17 00:00:00 2001 From: Miguel Garrido <93833262+sirkotal@users.noreply.github.com> Date: Wed, 31 Jan 2024 19:43:17 +0000 Subject: [PATCH 3/3] Last fixes --- CPP_Workshop/cpp_presentation.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CPP_Workshop/cpp_presentation.md b/CPP_Workshop/cpp_presentation.md index 8df5e43..2a87cb3 100644 --- a/CPP_Workshop/cpp_presentation.md +++ b/CPP_Workshop/cpp_presentation.md @@ -66,7 +66,7 @@ int main() { --- # Tipos de Dados Primitivos -- **char:** caracteres alfanuméricos (ex: 'c', '8', '$'); alternativamente, podemos utilizar valores ASCII para mostrar caracteres específicos +- **char:** caracteres (ex: 'c', '8', '$') correspondentes a valores ASCII - **int:** números inteiros (ex: 10**3, -2) - **float:** números com vírgula flutuante de precisão simples (ex: 1.902, -5,926563840) - **double:** números com vírgula flutuante de precisão dupla (ex: 1.2, -4.587) @@ -1434,7 +1434,7 @@ public: # Outros Tópicos Avançados - Alguns conceitos de classes - - Classes abstratas, polimorfismo... + - Funções virtuais, classes abstratas... - Macros - Substituição de texto em compile time - Casts