Skip to content

👩‍💻 • 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.

License

Notifications You must be signed in to change notification settings

juletopi/Algoritmos_e_Logica_de_Programacao

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Licence-badge

Algorithms-pic

Algoritmos e Lógica de Programação 👩‍💻

• Este é um repositório com o conteúdo das aulas de Algoritmos e Lógica de Programação,
ministradas pelo professor Clayton Ferraz Andrade, utilizando o Visual Studio e a
linguagem CSharp como ferramentas de aprendizado.

Sumário 🧾


Readme Quotes

👨‍🏫 Professor:

ClaytonFerraz-pic

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áAtuando desde Março de 2014
Linguagens & Tecnologias: JavaScriptHTMLPHPC#GraphQLE outros...
Contato: [email protected]


📚 Conceitos Aprendidos:

1. Comentários, declaração de variáveis e comandos do console

Note

Retirado da aula de "Calculadora_CSharp"

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
// 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"

Nesta aula foram aprendidos:

  • Utilização do comando "If/Else"
  • Possibilidades de instrução
{
    // "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"

Nesta aula foram aprendidos:

  • Utilização do comando "Switch/Case"
  • Estrutura de múltiplas escolhas
{
    // 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"

Nesta aula foram aprendidos:

  • Conceitos de "For/While"
  • Utilização do comando "For"
  • Estrutura de repetição
{
    // 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"

Nesta aula foram aprendidos:

  • Conceito sobre funções/arrays
  • Criação de funções/arrays
  • Chamada mais fixa de funções dentro do algoritmo
// - 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"

Nesta aula foram aprendidos:

  • Conceitos mais avançados sobre funções/arrays
  • Chamada mais dinâmica de funções dentro do algoritmo
// 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"

Nesta aula foram aprendidos:

  • Conceitos sobre arrays/vetores multidimensionais (matrizes)
  • Criação de matrizes
// 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



Feito com 💚 por Juletopi.