{"id":26931606,"url":"https://github.com/fernandozuchi/pratica2703","last_synced_at":"2026-01-17T06:54:07.537Z","repository":{"id":284758327,"uuid":"955972160","full_name":"FernandoZuchi/pratica2703","owner":"FernandoZuchi","description":"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","archived":false,"fork":false,"pushed_at":"2025-03-27T13:54:28.000Z","size":0,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-27T14:49:41.037Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FernandoZuchi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-27T13:49:58.000Z","updated_at":"2025-03-27T13:54:31.000Z","dependencies_parsed_at":"2025-03-27T14:49:44.743Z","dependency_job_id":"92bd1e10-90bf-4fac-a5c2-d3bb1d295dc9","html_url":"https://github.com/FernandoZuchi/pratica2703","commit_stats":null,"previous_names":["fernandozuchi/pratica2703"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/FernandoZuchi/pratica2703","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FernandoZuchi%2Fpratica2703","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FernandoZuchi%2Fpratica2703/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FernandoZuchi%2Fpratica2703/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FernandoZuchi%2Fpratica2703/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FernandoZuchi","download_url":"https://codeload.github.com/FernandoZuchi/pratica2703/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FernandoZuchi%2Fpratica2703/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28502972,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T04:31:57.058Z","status":"ssl_error","status_checked_at":"2026-01-17T04:31:45.816Z","response_time":85,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-04-02T07:18:15.611Z","updated_at":"2026-01-17T06:54:07.520Z","avatar_url":"https://github.com/FernandoZuchi.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"**Roteiro de Aula Prática: Algoritmos em JavaScript e C#**\n\n**Tema da Aula:** Algoritmos em JavaScript e C# - Comparativo prático entre linguagem tipada e não tipada.\n\n**Duração:** 1 hora\n\n**Objetivos:**\n- Apresentar as diferenças conceituais e práticas entre JavaScript e C#.\n- Compreender a importância da tipagem de dados para a programação.\n- Praticar a construção de algoritmos simples nas duas linguagens.\n\n---\n\n**1. Boas-vindas e Introdução (5 minutos)**\n\n\"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.\" \n\n---\n\n**2. Diferenças entre JavaScript e C# (10 minutos)**\n\n**JavaScript:**\n- Linguagem interpretada e dinamicamente tipada.\n- Executada diretamente em navegadores ou no Node.js.\n- Flexível, ideal para desenvolvimento frontend e aplicações rápidas.\n\n**C#:**\n- Linguagem compilada e estaticamente tipada.\n- Usada para desenvolvimento de softwares robustos (backend, desktop, jogos com Unity).\n- Fornece maior controle sobre tipos e desempenho.\n\n**Explicação adicional:**\nEnquanto o JavaScript permite maior liberdade, o C# exige mais estrutura e rigidez, o que é ótimo para aplicações complexas e escaláveis.\n\n---\n\n**3. Tipagem de Dados: Tipada vs Não Tipada (10 minutos)**\n\n**JavaScript (não tipada):**\n```javascript\nlet valor = 10;\nvalor = \"dez\"; // Nenhum erro ocorre\nconsole.log(valor); // imprime \"dez\"\n```\n\n**C# (tipada):**\n```csharp\nint valor = 10;\nvalor = \"dez\"; // Erro de compilação\n```\n\n**Explicação:**\nNo 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.\n\n---\n\n**4. Exemplos Práticos de Algoritmos (25 minutos)**\n\n**Exemplo 1: Soma de dois números**\n\n*JavaScript:*\n```javascript\nlet a = 5;\nlet b = 3;\nlet soma = a + b;\nconsole.log(\"Soma:\", soma);\n```\n\n*C#:*\n```csharp\nint a = 5;\nint b = 3;\nint soma = a + b;\nConsole.WriteLine(\"Soma: \" + soma);\n```\n\n**Exemplo 2: Laço for de 1 a 5**\n\n*JavaScript:*\n```javascript\nfor (let i = 1; i \u003c= 5; i++) {\n  console.log(i);\n}\n```\n\n*C#:*\n```csharp\nfor (int i = 1; i \u003c= 5; i++) {\n  Console.WriteLine(i);\n}\n```\n\n**Exemplo 3: Verificação de par ou ímpar**\n\n*JavaScript:*\n```javascript\nlet numero = 10;\nif (numero % 2 === 0) {\n  console.log(\"É par\");\n} else {\n  console.log(\"É ímpar\");\n}\n```\n\n*C#:*\n```csharp\nint numero = 10;\nif (numero % 2 == 0) {\n  Console.WriteLine(\"É par\");\n} else {\n  Console.WriteLine(\"É ímpar\");\n}\n```\n\n---\n\n**5. Exercícios para Alunos (10 minutos)**\n\n**Exercício 1:** Receba dois números e informe o maior.\n\n*JavaScript:*\n```javascript\nlet a = 8;\nlet b = 12;\nif (a \u003e b) {\n  console.log(\"Maior: \" + a);\n} else {\n  console.log(\"Maior: \" + b);\n}\n```\n\n*C#:*\n```csharp\nint a = 8;\nint b = 12;\nif (a \u003e b) {\n  Console.WriteLine(\"Maior: \" + a);\n} else {\n  Console.WriteLine(\"Maior: \" + b);\n}\n```\n\n**Exercício 2:** Calcule a média de 3 notas e diga se o aluno foi aprovado (média \u003e= 7).\n\n*JavaScript:*\n```javascript\nlet n1 = 6, n2 = 7, n3 = 9;\nlet media = (n1 + n2 + n3) / 3;\nif (media \u003e= 7) {\n  console.log(\"Aprovado com média: \" + media);\n} else {\n  console.log(\"Reprovado com média: \" + media);\n}\n```\n\n*C#:*\n```csharp\nfloat n1 = 6, n2 = 7, n3 = 9;\nfloat media = (n1 + n2 + n3) / 3;\nif (media \u003e= 7) {\n  Console.WriteLine(\"Aprovado com média: \" + media);\n} else {\n  Console.WriteLine(\"Reprovado com média: \" + media);\n}\n```\n\n**Exercício 3:** Imprima a tabuada de um número.\n\n*JavaScript:*\n```javascript\nlet num = 5;\nfor (let i = 1; i \u003c= 10; i++) {\n  console.log(num + \" x \" + i + \" = \" + (num * i));\n}\n```\n\n*C#:*\n```csharp\nint num = 5;\nfor (int i = 1; i \u003c= 10; i++) {\n  Console.WriteLine(num + \" x \" + i + \" = \" + (num * i));\n}\n```\n\n---\n\n**6. Encerramento e Dúvidas (5 minutos)**\n\n\"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!\"\n\n---\n\nFoco nos estudos!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffernandozuchi%2Fpratica2703","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffernandozuchi%2Fpratica2703","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffernandozuchi%2Fpratica2703/lists"}