bom.. primeiro acho legal dar uma pequena explicação minha do q eu considero um algoritmo...
algoritmo pra mim é como uma sequencia de procedimentos a se fazer para conseguir descrever o processo de "obter alguma coisa"
por exemplo.. como seria um algoritmo q usando apenas lógica matemática sabe se um numero é par?
é uma coisa simples, mas acho q pra quem tá començando é ótimo começar com essas coisas triviais:
faça a divisão inteira do número por 2
se o resto for zero -> ele é par
se não -> ele é impar
obs.: divisão inteira significa não colocar virgula.. meio assim (barra é o sinal de divisão em programação.. e asterisco é sinal de multiplicação):
15/2 = 7 e o resto é 1
dando uma palinha de linguagem C vc tem o q chamamos de variáveis.. são iguais às variaveis de matemática:
int x; // um inteiro q chamamos de x
x = 2; // o sinal de igual nas linguagens de programação tem a semantica de "recebe o valor, atribui"
no caso.. x recebeu o valor 2
agora olha só isso:
int x = 15;
int y = 2;
int z = x/y;
como estamos fazendo uma divisão de operandos inteiros o valor de z será 7, e não 7.5 como era de se esperar! além do mais a variavel z nunca poderia valer 7 por ela ser do tipo int (inteiro)
e ainda se fizessemos
int resto = 15%2;
a variável resto receberia o valor 1! pois o sinal de porcentagem serve para dar o resto da divisão inteira...
agora vamos num um pouco mais dificil
dado um número como saber se ele é primo?
a gente pensa meio assim: se ele for par não pode ser primo.. dae tenta dividir por três.. por 5 até chegar no próprio número.. se não dividir por nenhum então ele é primo...
em termos de algoritmo escrito em portugues estruturado seria assim:
divide o número por 2
se a divisão inteira tiver resto zero não é primo
incrementa o divisor e divide novamente
se tiver resto zero não é primo
se vc for incrementando o divisor e chegar no número então é primo (pois se tivesse tido resto zero em algum momento a gente teria parado de incrementar o divisor)
escrevi de uma forma um pouco diferente da convencional mas soh pra explicar pra galera q tah començando...
bom... vou fazer o jeito q considero obvio:Fazer um algoritmo que:
- Leia um número indeterminado de linhas contendo cada uma a idade de um indivíduo.
A última linha que não entrará nos cálculos, contém o valor da idade igual a zero.
- Calcule e escreva a idade média deste grupo de indivíduos.
teremos duas variaveis
int soma;
int qtde;
a cada linha soma = soma + idade; e qtde = qtde + 1;
qdo idade == 0 (se um sinal de igual é pra atribuir valor... o tal do "receber" q eu falei ali em cima... então para comparar se dois números são iguais usam-se dois sinais de igual)
qdo idade == 0 -> divide soma por qtde
ou seja.. somamos todas as linhas e dividimos pelo total no fim... só tem como descobrirmos o total qdo chega na última linha.. e sabemos q chegamos na última linha qdo idade for 0
na verdade qdo escreve-se algoritmos utiliza-se o formato de portugues estruturado.. mas como acho q a galera tah a fim de ir entendendo linguagens eu já dei uns pitacos de linguagem C... q eh mais facil de começar por ser estruturada.. ou seja.. coisas bem computacionais.. sem abstração
abraços