• 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.
Professor | Conceitos Aprendidos 1 | Conceitos Aprendidos 2
Conceitos Aprendidos 3 | Conceitos Aprendidos 4 | Conceitos Aprendidos 5 Conceitos Aprendidos 6 | Conceitos Aprendidos 7 | AutorClayton 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: JavaScript
• HTML
• PHP
• C#
• GraphQL
• E outros...
Contato: [email protected]
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 :)
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();
}
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();
}
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();
}
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.
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();
}
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
|