Dicas para iniciantes em algoritmos

Vanessa taynara Soares

você vai aprender

Roteiro para a criação de um algoritmo.

pré-requisitos

Lógica de programação básica com C#

primeira dica

Faça o máximo de exercícios que o seu tempo permitir. 

A prática é fundamental para aprender algoritmos. Através da prática você desenvolve a capacidade de raciocinar em curto tempo e adquire experiência para solucionar novos problemas. Dito isso, vamos as dicas para identificar as necessidades do programa antes de começar a programar.

descrição narrativa

Esboce uma sequência de passos que atenda todas as necessidades da aplicação.
Abuse do uso de verbos, eles indicam ação. 

Por exemplo:

Preencher a matriz com as notas
Imprimir a matriz preenchida
Somar todas as notas da matriz
Mostrar o resultado da soma

Ainda no passo da descrição, aproveite e se pergunte:

Como (realizar a ação)? 
Quando (realizar a ação)?
Onde (realizar a ação)?

variáveis e nomeação

Tenha em mente quais variáveis terão valores temporários, quais serão somatórios (acumuladores), contadores (incrementadores), índices (referenciadores de posição), etc.

Escolha um nome sugestivo para a variável, isso facilita o entendimento do código.

Por exemplo:

int auxiliar; //temporário para troca de valores

int somatorio = 0; //sempre inicie o somatório

int contador = 0; //sempre inicie o contador

int linha, coluna; //índices para uma matriz

int posicao; //índice para um vetor


leituras e escritas

Faça perguntas claras ao usuário que informem o que precisa ser armazenado naquele instante.

Por exemplo: 

Console.WriteLine("Digite a nota do aluno nº " + (contador + 1) + ": ");


Apresente de forma clara: valores, cálculos e resultados.
Imagine quando escrever: durante e/ou após laços de repetição. 

Por exemplo:


Console.WriteLine("Somatório de notas: " + somatorio); //após a repetição 

Console.WriteLine("Contador valendo: " + contador); //dentro da repetição


repetições

Tenha em mente a quantidade de repetições, se existe obrigatoriedade, e qual é a condição de saída, ou parada.

FOR

Utilize para preencher vetores e matrizes e quando souber a quantidade de repetições. 
Como a condição de repetição do for determina seu ponto de parada, utilize-a quando já conhecer o número de repetições necessárias.

Por exemplo:

for (int i = 0; i < vetorNotas.Length; i++) { vetorNotas[i] = i;


DO-WHILE

Utilize quando quiser repetir no mínimo uma vez.
Como a condição do do-while vem no final da repetição, pense em utilizá-lo quando, a operação dentro da repetição influenciará numa nova repetição, ou seja, o que acontecer durante a repetição pode ocasionar o encerramento da repetição, ou início de uma nova repetição.

Por exemplo:

Console.WriteLine("Quantidade de repetições feitas: " + contRepeticoes);

op = string.Parse(Console.ReadLine()); } while (op != "NÃO" || contRepeticoes < 10);



WHILE

Utilize para verificar se irá, ou não, entrar numa repetição.
Como a condição do while vem no início da repetição, pense em utilizá-la quando, para entrar na repetição, precise atender uma condição.

Por exemplo:

bool teste = false; while (teste != true){ contRepeticoes++; Console.WriteLine("Pare a repetição digitando true: ");

teste = bool.Parse(Console.ReadLine()); } Console.WriteLine("Quantidade de repetições feitas: " + contRepeticoes);




vetores

Utilizamos vetores para agrupar valores diversos que compartilham de um mesmo 
rótulo 
(notas, pesos, códigos, nomes)
e tipo
(int, double, char, string).

Por exemplo:

int[] notas = new int[10]; //inteiros

double[] pesos = new double[10];//com ponto flutuante

char[] codigos = new char[10]; //apenas um caractere

string[] nomes = new string[10]; //literais


matrizes

Utilize quando conceber uma solução através de linhas e colunas (tabelas). 
Em algumas situações, as colunas podem ser entendidas como cabeçalhos (rótulos), e as linhas como registros (valores, dados).

Por exemplo:

Cabeçalho: Nota 1, Nota 2, Nota 3, Nota 4. 
Linhas: 0: 5, 6, 2, 10 | 1: 2, 5, 8, 9

O texto do cabeçalho deve ser escrito em outro tipo, pois a matriz não pode ser de mais do que um tipo. No exemplo, a matriz é do tipo inteira (int), e o cabeçalho do tipo literal (string). O cabeçalho poderia ser armazenado num vetor de 4 posições, por exemplo.

Representação:


int[,] notas = new int[2, 4] { { 5, 6, 2, 10 }, { 2, 5, 8, 9 } };

string[] rotulos = new string[4] { "Nota 1", "Nota 2", "Nota 3", "Nota 4" };


funções ou métodos

Pense em modularização (divisão, ou separação, em partes, módulos) e na possibilidade de reaproveitamento de código.

Por exemplo:


public static int[,] leituraRotulos() { string[] rotulos = new string[4]; for(int i = 0; i < rotulos.Length; i++) { Console.WriteLine("Digite o nome do rótulo: ");

rotulos[i] = Console.ReadLine(); } return rotulos; } public static void escritaRotulos(string[,] rotulos) { for(int i = 0; i < rotulos.Length; i++) { Console.WriteLine(rotulos[i]); } }

public static int operacaoSoma(int a, int b) { return a + b; } public static bool teste(int nota) { bool resposta = false; if(nota > 10) { resposta = true; } return resposta; }


links úteis


Este tutorial foi adaptado do tutorial "Dicas para iniciantes em algoritmos" desenvolvido por "Luis Silva"". 

Tem alguma dica pra compartilhar?
Comente neste tutorial. :)

Visualg - Gustavo Furtado

10 dicas para aprender a programar - Rodrigo Abreu

Por quê aprender a programar - Gustavo Furtado

Voltar