https://github.com/juletopi/algoritmos_e_logica_de_programacao
👩💻 • Repositório back-end com os conteúdos de Algoritmos e Lógica de Programação, utilizando o Visual Studio e a linguagem CSharp como ferramentas de aprendizado.
https://github.com/juletopi/algoritmos_e_logica_de_programacao
algorithms algoritmos arrays back-end backend csharp for-while for-while-loops functions if-else if-else-statements logica-de-programacao portugues portuguese programing-logic switch-case switch-case-statements visual-studio
Last synced: 11 months ago
JSON representation
👩💻 • Repositório back-end com os conteúdos de Algoritmos e Lógica de Programação, utilizando o Visual Studio e a linguagem CSharp como ferramentas de aprendizado.
- Host: GitHub
- URL: https://github.com/juletopi/algoritmos_e_logica_de_programacao
- Owner: juletopi
- License: mit
- Created: 2022-08-31T23:39:49.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-08-01T17:28:05.000Z (almost 2 years ago)
- Last Synced: 2025-06-10T21:43:35.696Z (12 months ago)
- Topics: algorithms, algoritmos, arrays, back-end, backend, csharp, for-while, for-while-loops, functions, if-else, if-else-statements, logica-de-programacao, portugues, portuguese, programing-logic, switch-case, switch-case-statements, visual-studio
- Language: C#
- Homepage: https://github.com/claytonferraz
- Size: 2.23 MB
- Stars: 9
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
• Este é um repositório com o conteúdo das aulas de Algoritmos e Lógica de Programação, \
ministradas pelo professor [**Clayton Ferraz Andrade**](https://www.linkedin.com/in/claytonferraz/), utilizando o **Visual Studio** e a \
linguagem **CSharp** como ferramentas de aprendizado.
Sumário 🧾
Professor |
Conceitos Aprendidos 1 |
Conceitos Aprendidos 2
Conceitos Aprendidos 3 |
Conceitos Aprendidos 4 |
Conceitos Aprendidos 5
Conceitos Aprendidos 6 |
Conceitos Aprendidos 7 |
Autor
[](https://github.com/piyushsuthar/github-readme-quotes)
## 👨🏫 Professor:
**Clayton Ferraz Andrade - Analista de Sistemas | Professor de Curso Técnico e Superior | Coordenador de Curso Superior de Tecnologia em ADS** \
[**IFRO Campus Ji-Paraná**](https://portal.ifro.edu.br/ji-parana) • Atuando desde Março de 2014 \
Linguagens & Tecnologias: `JavaScript` • `HTML` • `PHP` • `C#` • `GraphQL` • `E outros...` \
Contato: **[clayton.andrade@ifro.edu.br](mailto:clayton.andrade@ifro.edu.br)**
## 📚 Conceitos Aprendidos:
### 1. Comentários, declaração de variáveis e comandos do console
> [!NOTE]\
> *Retirado da aula de "[Calculadora_CSharp](https://github.com/juletopi/Algoritmos_e_Logica_de_Programacao/blob/main/Calculadora_CSharp/Program.cs)"*
Nesta aula foram aprendidos:
- Conceitos básicos para o uso do Visual Studio
- Utilização do Visual Studio para conceitos matemáticos
- Criação de algoritmos matemáticos usando lógica de programação e comandos de console
```c#
// Na criação de um "algoritmo", podemos seguir este sete passos ↴
// 1.NOME, 2.INÍCIO, 3.DADOS/VARIÁVEIS, 4.ENTRADA, 5.PROCESSAMENTO, 6.SAÍDA, 7.FIM
// 1.NOME:
namespace Calculadora_CSharp
{
internal class Program
{
static void Main(string[] args)
{
// 2.INÍCIO
// Faça um algorítimo que receba dois valores e mostre
// a soma desses dois valores.
// 3.DADOS/VARIÁVEIS
double n1 = 0;
double n2 = 0;
double soma = 0;
// 4.ENTRADA
Console.WriteLine("Digite o primeiro número:");
n1 = double.Parse(Console.ReadLine());
Console.WriteLine("\r\nDigite o segundo número:");
n2 = double.Parse(Console.ReadLine());
// 5.PROCESSAMENTO
soma = n1 + n2;
// 6.SAÍDA
Console.WriteLine("\r\nOs números somados são: " +soma);
Console.ReadKey();
}
}
}
// 7.FIM :)
```
### 2. Conceitos de "If/Else"
> [!NOTE]\
> *Retirado da aula de "[Saque_Bancario_CSharp](https://github.com/juletopi/Algoritmos_e_Logica_de_Programacao/blob/main/Saque_Bancario_CSharp/Program.cs)"*
Nesta aula foram aprendidos:
- Utilização do comando "If/Else"
- Possibilidades de instrução
```c#
{
// "If/Else" é um comando que existe para executar uma de duas possibilidades
// de instrução. No caso de se a expressão original "if" ser avaliada como
// FALSE, a expressão secundária "else" será executada.
// Exemplo: Saque bancário baseado no saldo informado ↴
double saldo = 0;
double saque = 0;
Console.WriteLine("Informe seu saldo (Somente números):");
saldo = double.Parse(Console.ReadLine());
Console.WriteLine("\r\nDigite o quanto quer sacar (Somente números):");
saque = double.Parse(Console.ReadLine());
if (saque <= saldo)
{
saldo = (saldo - saque);
Console.WriteLine("\r\nSaque efetudado com sucesso! O seu saldo agora, é de: R$" +saldo);
}
else
{
Console.WriteLine("\r\nSaldo insuficiente, o saque não foi efetuado! Seu saldo é de: R$" +saldo);
}
Console.ReadKey();
}
```
### 3. Conceitos de "Switch/Case"
> [!NOTE]\
> *Retirado da aula de "[Escolha_de_Cursos_CSharp](https://github.com/juletopi/Algoritmos_e_Logica_de_Programacao/blob/main/Escolha_de_Cursos_CSharp/Program.cs)"*
Nesta aula foram aprendidos:
- Utilização do comando "Switch/Case"
- Estrutura de múltiplas escolhas
```c#
{
// Em alguma situações você pode usar o "If/Else" ou o "Switch/Case" para resolver
// o mesmo problema. Apesar de serem comandos parecidos, funcionam de formas diferentes.
// Normalmente se usa o comando do "Switch/Case" quando há diversas variáveis,
// executando uma peça diferente do código dependendo de qual valor ele se encaixar.
// Exemplo: Tabela de escolha de cursos ↴
string curso, string turma;
int opc_curso = 0;
Console.WriteLine("O que você deseja cursar?");
Console.WriteLine("\r\nDigite 1 para o curso de ADS");
Console.WriteLine("Digite 2 para o curso de Química");
Console.WriteLine("Digite 3 para o curso de Florestas");
opc_curso = Convert.ToInt32(Console.ReadLine());
switch (opc_curso)
{
case 1:
curso = "ADS";
break;
case 2:
curso = "Química";
break;
case 3:
curso = "Florestas";
break;
default:
Console.WriteLine("\r\nVocê digitou alguma informação errada!!!");
curso = "Sem curso definido.";
break;
}
Console.WriteLine("\r\nO seu curso escolhido é: " +curso);
Console.ReadKey();
}
```
### 4. Conceitos de "For/While"
> [!NOTE]\
> *Retirado da aula de "[Tabuada_CSharp](https://github.com/juletopi/Algoritmos_e_Logica_de_Programacao/blob/main/Tabuada_CSharp/Program.cs)"*
Nesta aula foram aprendidos:
- Conceitos de "For/While"
- Utilização do comando "For"
- Estrutura de repetição
```c#
{
// As estruturas de repetição são utilizadas para processar uma coleção
// de dados, que precisam ser processados por um mesmo bloco de código.
// O FOR é mais usado para loops definidos e WHILE para loops infinitos.
// Exemplo usando o FOR: Tabuada de um número até onde o usuário quiser ↴
int i, n, m;
int resultado;
Console.WriteLine("Defina um número para exibir a tabuada dele:");
n = int.Parse(Console.ReadLine());
Console.WriteLine("\r\nQuantas vezes?");
m = int.Parse(Console.ReadLine());
Console.WriteLine("");
for (i = 1; i <= m; i++)
{
resultado = n * i;
Console.WriteLine(n + " x " + i + " = " + resultado);
}
Console.ReadKey();
}
```
| ⚠️ AVISO
|
|:---------------------------------|
|
A partir deste ponto, se inicia:
**"Algoritmos e Lógica de Programação II"** |
### 5. Conceitos e Métodos de Array/Funções
> [!NOTE]\
> *Retirado da aula de "[Function_Arrays_Fixos_CSharp](https://github.com/juletopi/Algoritmos_e_Logica_de_Programacao/blob/main/Function_Arrays_Fixos_CSharp/Program.cs)"*
Nesta aula foram aprendidos:
- Conceito sobre funções/arrays
- Criação de funções/arrays
- Chamada mais fixa de funções dentro do algoritmo
```c#
// - Vetores/Arrays
// Vetores, também conhecidos como arrays unidimensionais, são estruturas de dados que armazenam um
// conjunto de elementos do mesmo tipo em uma sequência contígua de memória. Os elementos são acessados
// por meio de um índice inteiro, que representa a posição do elemento no vetor.
int[] valores = new int[3];
string[] nomes = new string[3];
for (int i = 0; i < valores.Length; i++) // <-- O "for" é usado para inserir os valores dinamicamente.
{
Console.WriteLine("Digite valores: ");
valores[i] = Convert.ToInt32(Console.ReadLine());
}
for (int i = 0; i < valores.Length; i++)
{
Console.WriteLine("Digite nomes: ");
nomes[i] = Console.ReadLine();
}
Console.WriteLine("O 2º valor inserido é: " + valores[2]); // <-- Aqui é imprimido o 2º valor inserido no índice.
Console.WriteLine("O 3º nome inserido é: " + nomes[3]); // <-- Aqui é imprimido o 3º valor inserido no índice.
Console.WriteLine("A quantidade de nomes insiridos é: " + nomes[Length]); // <-- Ao usar o "Lenght", é imprimido o tamanho do vetor.
for (int i = 0; i < valores.Length; i++)
{
Console.WriteLine("Valor inserido: " + valores[2]); // <-- Aqui é imprimido todos os valores inseridos no índice.
}
int soma = valores[0] + valores[1] + valores[2]++;
Console.WriteLine("Resultado da soma dos valores inseridos: " + soma); // <-- Somando os valores inseridos em cada índice.
```
### 6. Conceitos e Métodos de Array/Funções (Avançados)
> [!NOTE]\
> *Retirado da aula de "[Function_Arrays_Dinamicos](https://github.com/juletopi/Algoritmos_e_Logica_de_Programacao/blob/main/Function_Arrays_Dinamicos/Program.cs)"*
Nesta aula foram aprendidos:
- Conceitos mais avançados sobre funções/arrays
- Chamada mais dinâmica de funções dentro do algoritmo
```c#
// Exemplo feito em aula (Cadastro de notas de alunos)
int x = 0;
Console.WriteLine("Digite quantos alunos deseja cadastrar: "); // <-- Pedindo para o usuário especificar
x = int.Parse(Console.ReadLine()); // quantos cadastros deseja fazer
string[] nomeAluno;
double[] nota1 = new double[x];
double[] nota2 = new double[x];
double[] media = new double[x];
nomeAluno = new string[x];
for (int i = 0; i < nomeAluno.Length; i++) // <-- É aplicado o "Lenght" somente a variáveis do tipo vetor/array
{
Console.WriteLine("\r\nDigite o nome do aluno: ");
nomeAluno[i] = Console.ReadLine();
Console.WriteLine("Digite a 1º nota do aluno: ");
nota1[i] = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Digite a 2º nota do aluno: ");
nota2[i] = Convert.ToDouble(Console.ReadLine());
media[i] = (nota1[i] + nota2[i]) / 2;
}
Console.Clear();
for (int i = 0; i < nomeAluno.Length; i++) // <-- Criando um efeito de "Calculando...", exibindo a mensagem
{ // "Calculando notas", seguida por 50 pontos impressos em uma
Console.Write("\r\n Calculando notas"); // linha, com um atraso de 30 milissegundos entre cada ponto
for (int j = 0; j < 50; j++)
{
System.Threading.Thread.Sleep(30);
Console.Write(".");
}
Console.WriteLine();
Console.WriteLine("\r\n-----------------------------------------");
Console.WriteLine(" As notas do aluno " + nomeAluno[i] + " são: ");
Console.WriteLine(" Nota 1: " + nota1[i] + "pts");
Console.WriteLine(" Nota 2: " + nota2[i] + "pts");
Console.WriteLine("\r\n A sua média é: " + media[i] + "pts");
if (media[i] >= 60)
{
Console.WriteLine("\r\n Está APROVADO!");
}
else
{
Console.WriteLine("\r\n Está REPROVADO!");
}
Console.WriteLine("\r\n Pressione ENTER para prosseguir...");
Console.WriteLine("-----------------------------------------");
Console.ReadKey();
}
```
### 7. Conceitos e Métodos de Matrizes
> [!NOTE]\
> *Retirado da aula de "[Function_Matrizes](https://github.com/juletopi/Algoritmos_e_Logica_de_Programacao/blob/main/Function_Matrizes/Program.cs)"*
Nesta aula foram aprendidos:
- Conceitos sobre arrays/vetores multidimensionais (matrizes)
- Criação de matrizes
```c#
// Exemplo feito em aula (Cadastro de clientes, produtos e preços)
// Matrizes são usadas para organizar e manipular dados de maneira eficiente em
// uma estrutura tabular. Elas permitem armazenar informações relacionadas em
// um formato de grade, o que facilita o acesso rápido a elementos específicos.
string[] nomeCliente;
int[] quantProd;
double[] precoProdTotal;
double[][] precoProd;
string[][] nomeProd;
Console.WriteLine("Quantos clientes deseja cadastrar? ");
int quant = Convert.ToInt32(Console.ReadLine());
nomeCliente = new string[quant];
quantProd = new int[quant];
precoProd = new double[quant][];
nomeProd = new string[quant][];
for (int i = 0; i < quant; i++)
{
Console.WriteLine("\r\nDigite o nome do Cliente:");
nomeCliente[i] = Console.ReadLine();
Console.Write("Digite quantos produtos este cliente quer comprar: ");
quantProd[i] = Convert.ToInt32(Console.ReadLine());
precoProd[i] = new double[quantProd[i]];
nomeProd[i] = new string[quantProd[i]];
for (int j = 0; j < quantProd[i]; j++)
{
Console.Write("\r\nDigite o NOME do produto do cliente: " + nomeCliente[i]);
nomeProd[i][j] = Console.ReadLine();
Console.Write("Digite o PREÇO do produto do cliente: " + nomeCliente[i]);
precoProd[i][j] = Convert.ToDouble(Console.ReadLine());
}
}
// Mostrar os dados
Console.Write("Carregando.");
for (int i = 0; i < 60; i++)
{
System.Threading.Thread.Sleep(30);
Console.Write(".");
}
Console.WriteLine("");
for (int i = 0; i < quant; i++)
{
Console.WriteLine("Cliente: " + nomeCliente[i]);
Console.WriteLine("Este cliente comprou " + quantProd[i] + " produtos.");
for (int j = 0; j < quantProd[i]; j++)
{
Console.WriteLine("\r\nO " + (j + 1) + "º produto é: " + nomeProd[i][j]);
Console.WriteLine("O " + (j + 1) + "º produto tem o valor de: " + precoProd[i][j]);
}
}
// Calcular o valor total das compras aqui, se necessário
```
## 👤 Autor
-
LinkedIn - Júlio Cézar P. Camargo
-
Email - juliocezarpvh@hotmail.com
-
Whatsapp - +55 (69) 9 9360-6894
-
Instagram - @juletopi
----