Ver Versão Completa : [Lógica] Exercícios para brincar!!
CCV_HEALbra
21-11-2007, 10:32 AM
bom...nunca vi alguem usando um livro de lógica q nao seja o do Harry Farrer (algoritmos estruturados)....
ele ajuda um pouco..lógica ajuda um pouco..sempre é bom começar com lógica..
http://www.ime.uerj.br/~rojas/ipd/ExerciciosIPD-1.pdf
tenho o livro..mas peguei esse exercício online e vou tacar aqui...ai seria bom td mundo que soubesse um pouco resolvesse os exercícios e ir colocando aqui para a galera aprender!!
até a galera que tá aprendendo é bom resolver e colocar aqui pra gente ajudar!
vou resolver alguns e colocar aqui tb!!
abraço!!
CCV_Pinto
21-11-2007, 11:03 PM
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...
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.
bom... vou fazer o jeito q considero obvio:
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 :D
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 :D
abraços
CCV_HEALbra
28-11-2007, 06:54 PM
bom...só lembrando piu piu..q vc deve usar algum laço de repetição também..que no caso vai servir pra sair...pode ser o enquanto..while(i!=0)..
pra falar q enquanto o i for diferente de 0 ele pratica a ação de pegar a nota....
engraçado..q acabei de abrir o link e essa pagina atualizou com sua resposta..ahuauauh
^^
vou fazer ele em C...usando o compilador dev-c++...pq o c, pascal...td eh praticametne um "algoritmo" em ingles...como o próprio pinto falou!
Tem-se um conjunto de dados contendo a altura e o sexo (masculino, feminino) de 50
pessoas. Fazer um algoritmo que calcule e escreva:
- a maior e a menor altura do grupo;
- a média de altura das mulheres;
- o número de homens;
bom...eu nao testei pq o dev cpp eh uma bosta..ele trava por qualquer coisinha...ai ele trava pq eu uso float e na entrada de dados uso %f..:S
ahuuha
mas tá ai:
bom..eu comentei td..nao sei se está certo..se tiver um errinho me fala q eu corrigo na boa!!
^^
eu coloquei em C pq acho q fica até mais fácil,...como o pinto disse...pra assimilar a programação com a lógica!!
bom divertimento!!
^^
CCV_Soad
12-01-2008, 06:05 PM
exercício legal pena que meu pc foi pro lixo e no trabalho não dá tempo de ficar estudando
mais ainda não desisti de aprender a programar
assim que meu pc chegar vou começar com força maxima
abraços
sim só um pedido ao pinto ou qualquer admin, sei que aqui não é o lugar adequado para fazer esse tipo de pedido mais como não vejo o pinto no msn nenhum outro admin
pesso para me porem no grupo CCV dinovo pois estou de volta a divisão dota
abraços !!!
Powered by vBulletin® Version 4.2.3 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.