https://github.com/fernandozuchi/pratica2703
Repositório template para a aula prática do dia 27/03/2025 que irei ministrar para os alunos da turma da manhã (Fullstack) na escola Codi Academy
https://github.com/fernandozuchi/pratica2703
Last synced: 6 months ago
JSON representation
Repositório template para a aula prática do dia 27/03/2025 que irei ministrar para os alunos da turma da manhã (Fullstack) na escola Codi Academy
- Host: GitHub
- URL: https://github.com/fernandozuchi/pratica2703
- Owner: FernandoZuchi
- Created: 2025-03-27T13:49:58.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-27T13:54:28.000Z (over 1 year ago)
- Last Synced: 2025-03-27T14:49:41.037Z (over 1 year ago)
- Size: 0 Bytes
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
**Roteiro de Aula Prática: Algoritmos em JavaScript e C#**
**Tema da Aula:** Algoritmos em JavaScript e C# - Comparativo prático entre linguagem tipada e não tipada.
**Duração:** 1 hora
**Objetivos:**
- Apresentar as diferenças conceituais e práticas entre JavaScript e C#.
- Compreender a importância da tipagem de dados para a programação.
- Praticar a construção de algoritmos simples nas duas linguagens.
---
**1. Boas-vindas e Introdução (5 minutos)**
"Hoje vamos colocar em prática a lógica de programação usando duas linguagens que vocês encontrarão muito no mercado: JavaScript e C#. Vamos entender como cada uma trata os dados, como elas se comportam na execução de algoritmos simples, e o que isso significa na prática."
---
**2. Diferenças entre JavaScript e C# (10 minutos)**
**JavaScript:**
- Linguagem interpretada e dinamicamente tipada.
- Executada diretamente em navegadores ou no Node.js.
- Flexível, ideal para desenvolvimento frontend e aplicações rápidas.
**C#:**
- Linguagem compilada e estaticamente tipada.
- Usada para desenvolvimento de softwares robustos (backend, desktop, jogos com Unity).
- Fornece maior controle sobre tipos e desempenho.
**Explicação adicional:**
Enquanto o JavaScript permite maior liberdade, o C# exige mais estrutura e rigidez, o que é ótimo para aplicações complexas e escaláveis.
---
**3. Tipagem de Dados: Tipada vs Não Tipada (10 minutos)**
**JavaScript (não tipada):**
```javascript
let valor = 10;
valor = "dez"; // Nenhum erro ocorre
console.log(valor); // imprime "dez"
```
**C# (tipada):**
```csharp
int valor = 10;
valor = "dez"; // Erro de compilação
```
**Explicação:**
No JavaScript, uma mesma variável pode armazenar diferentes tipos em momentos diferentes. Isso torna o código mais flexível, mas também mais propenso a erros lógicos. Já o C# exige que você defina e mantenha o tipo de dado, o que ajuda na previsibilidade e confiabilidade da aplicação.
---
**4. Exemplos Práticos de Algoritmos (25 minutos)**
**Exemplo 1: Soma de dois números**
*JavaScript:*
```javascript
let a = 5;
let b = 3;
let soma = a + b;
console.log("Soma:", soma);
```
*C#:*
```csharp
int a = 5;
int b = 3;
int soma = a + b;
Console.WriteLine("Soma: " + soma);
```
**Exemplo 2: Laço for de 1 a 5**
*JavaScript:*
```javascript
for (let i = 1; i <= 5; i++) {
console.log(i);
}
```
*C#:*
```csharp
for (int i = 1; i <= 5; i++) {
Console.WriteLine(i);
}
```
**Exemplo 3: Verificação de par ou ímpar**
*JavaScript:*
```javascript
let numero = 10;
if (numero % 2 === 0) {
console.log("É par");
} else {
console.log("É ímpar");
}
```
*C#:*
```csharp
int numero = 10;
if (numero % 2 == 0) {
Console.WriteLine("É par");
} else {
Console.WriteLine("É ímpar");
}
```
---
**5. Exercícios para Alunos (10 minutos)**
**Exercício 1:** Receba dois números e informe o maior.
*JavaScript:*
```javascript
let a = 8;
let b = 12;
if (a > b) {
console.log("Maior: " + a);
} else {
console.log("Maior: " + b);
}
```
*C#:*
```csharp
int a = 8;
int b = 12;
if (a > b) {
Console.WriteLine("Maior: " + a);
} else {
Console.WriteLine("Maior: " + b);
}
```
**Exercício 2:** Calcule a média de 3 notas e diga se o aluno foi aprovado (média >= 7).
*JavaScript:*
```javascript
let n1 = 6, n2 = 7, n3 = 9;
let media = (n1 + n2 + n3) / 3;
if (media >= 7) {
console.log("Aprovado com média: " + media);
} else {
console.log("Reprovado com média: " + media);
}
```
*C#:*
```csharp
float n1 = 6, n2 = 7, n3 = 9;
float media = (n1 + n2 + n3) / 3;
if (media >= 7) {
Console.WriteLine("Aprovado com média: " + media);
} else {
Console.WriteLine("Reprovado com média: " + media);
}
```
**Exercício 3:** Imprima a tabuada de um número.
*JavaScript:*
```javascript
let num = 5;
for (let i = 1; i <= 10; i++) {
console.log(num + " x " + i + " = " + (num * i));
}
```
*C#:*
```csharp
int num = 5;
for (int i = 1; i <= 10; i++) {
Console.WriteLine(num + " x " + i + " = " + (num * i));
}
```
---
**6. Encerramento e Dúvidas (5 minutos)**
"Muito bem! Hoje vocês viram como a mesma lógica pode ser aplicada em diferentes linguagens, cada uma com suas características. Isso é fundamental para desenvolver o raciocínio de programação. Continuem praticando!"
---
Foco nos estudos!