Trooper
|
[DS PROGRAMADORES] Ajuda Algoritmo!
19-07-07, 19:29
#1
Fala moçada ! estou com dificuldade de resolver este exercício de algoritmo:
3) O Senac Campo Grande, deseja conhecer a idade de todos os seus 700 alunos. Faça um algoritmo que receba e armazene o nome e a idade dos 700 alunos do senac. Verifique qual é a menor idade de um aluno do Senac. Imprima a menor idade e o nome de todos os alunos que tenham essa idade. eu sei que primeiro eu vou ter que usar a estrutura de repetição junto com a de vetor, pra ele poder ler o nome e a idade dos alunos mas eu não sei como eu consigo verificar qual é a menor idade no vetor, eu teria que organizar ele primeiro ? e depois como eu iria imprimir todos os alunos com a mesma idade ? obrigado desde já ! abraços ! |
||||
fagmin
|
19-07-07, 19:43
#2
idade=1000
faca um loop do primeiro ao ultimo elemento a cada elemento compare com a variavel idade, se for menor, atualize o valor de "idade" imprima idade (conhecida como idade_minima daqui pra frente ) repita o loop e imprima apenas quando idade_vetor=idade_minima deve ter algum jeito mais eficiente que esse semi bubble, mas quebra o galho |
Trooper
|
19-07-07, 19:55
#3
saquei Jeep, mas por que tenho que atribuir o valor inicial de idade=1000 ?
|
Trooper
|
19-07-07, 20:00
#4
Quote:
|
|
Trooper
|
19-07-07, 20:01
#5
Pq o jeep acha que nenhum aluno vai ter mais de 1000 anos. Mas se por acaso todos tiverem é mais seguro vc fazer idade ser o valor da idade do primeiro aluno da lista.
|
Trooper
|
19-07-07, 20:04
#6
ASEHSAHUEASHEHASHEUSAHEUAS SHOGUN
|
Trooper
|
19-07-07, 20:18
#7
eu imaginei isso! valeu aí galera !
|
The Alpha Male
|
19-07-07, 20:58
#8
ordene o seu vetor antes, e depois só precisa percorrer 1x para achar a menor idade e mostrar os alunos com essa idade
|
Trooper
|
19-07-07, 21:18
#9
idade=MAX_INT
resolve o problema |
Trooper
|
19-07-07, 21:24
#10
bomba, ordenar o vetor eh O(n log n), percorrer 2 vezes eh O(n)
mas se puder usar ordenação, fica mais rapido pra programar, jah q soh vai fazer 1 for mesmo |
The Alpha Male
|
19-07-07, 22:06
#11
Quote:
Arrays.sort for (...) o negocio do cara eh desenvolver uma coisa rapido, nao eh sistema critico de alta performance, nem sistema em tempo real logo, sou mais a minha solucao, vai economizar uns bons 10 segundos na vida dele |
|
fagmin
|
19-07-07, 22:20
#12
Uma duvida, como nao é necessario uma lista sorteada na listagem, dependendo do tamanho do vetor nao é muita coisa sortear a lista inteira?
Meu "metodo" vai dar 2 full scans na tabela, ou seja, em N elementos, vai acessar N*2 elementos. Do outro, mesmo que sejam aqueles algoritmos de sort mega otimizados, vai ter menos acessos? |
Trooper
|
19-07-07, 22:28
#13
foi oq eu disse jeep
ordenar um vetor por metodos rapidos eh da ordem de O(n log n) operações, ou seja, vai acessar aproximadamente 6615 vezes (pra 700 elementos).. e dps mais M vezes, q seria o numero de pessoas com a idade minima (no maximo 700) ordenar por metodos simples (bubble por exemplo) eh O(n²), levaria 490.000 operações pra ordenar com 2*N seria sempre 1400 nesse caso especifico o algoritmo mais eficiente eh esse mesmo (ou seja, soh vai fazer essa busca 1 vez, e apos tds os elementos serem inseridos primeiro) e eu sou mais minha solução q eh ateh 5x mais eficiente nesse cenario, em troca de 10 segundos de programação a mais |
Trooper
|
19-07-07, 22:43
#14
escrevi o algoritmo, ele ficou assim, não ordenei ele porque ele pede pra ordenar no próximo exercício
Code:
algoritmo "Ex3" var alunos: vetor [0..6] de caractere idades: vetor [0..6] de inteiro indice, menorIdade: inteiro nomeMenor: caractere inicio indice <- 0 menorIdade <- 1000 // Leitura do nome e idade dos alunos enquanto (indice < 7) faca escreva ("Por favor, insira o nome do aluno: ") leia (alunos[indice]) escreva ("Por favor, insira a idade deste aluno: ") leia (idades[indice]) indice <- indice + 1 fimenquanto // Verifica o aluno com a menor idade indice <- 0 enquanto (indice < 7) faca se (idades[indice] < menorIdade) entao menorIdade <- idades[indice] nomeMenor <- alunos[indice] fimse indice <- indice + 1 fimenquanto // Imprime a menor idade escreva ("A menor idade é: ") escreva (menorIdade) escreva (nomeMenor) // Imprime todos os alunos com a menor idade indice <- 0 enquanto (indice < 7) faca se (idades[indice] = menorIdade) entao escreva (idades[indice]) escreva (alunos[indice]) fimse indice <- indice + 1 fimenquanto fimalgoritmo |
Trooper
|
19-07-07, 22:46
#15
Minha solução para uma execução rápida seria ter outro vetor para salvar os menores, ai enquanto ele lia ele já ia colocando os iguais ao menor valor nesse vetor. Se o menor valor mudasse, ele começaria a preencher o vetor do inicio de novo. No final seria só ler os números desse vetor até a posição atual de inserção.
|
Trooper
|
19-07-07, 22:47
#16
pra verificar a idade sem fazer idade = 1000 (pq ng passa de 1000 anos... )
faz idade=0 e depois um if se for igual armazena a primera posicao do vetor... e depois vai verificando... |
Trooper
|
19-07-07, 23:04
#17
jota, seu algoritmo eh pra 7 pessoas, nao 700
de qq forma, vc vai imprimir o nome de algum aluno 2x, pq vc imprime apos achar e dps imprime ele denovo junto com "td mundo com essa idade".. imagino q nao era pra acontecer isso e qt ao numero magico 1000, tira ele e assume q a menor idade eh a do primeiro sujeito.. se existe menor, ele vai ser encontrado, se nao existe menor, eh uma idade valida (enquanto 1000 poderia nao ser, caso os alunos tenham idade acima de 1000.. a nao ser q tenha sido especificado q nenhum aluno tem mais q 999 anos ) ted, vc tah piorando.. imagine uma situação q as idades sao assim: 1 2 3 4 5 6 ... assim a cada idade lida, ele vai ter q atualizar o vetor de "iguais a menor".. e pra atualizar, ele ia ter q buscar na lista geral, um a um, qm tem a idade atualizada.. ou seja, supondo o pior caso do seu algoritmo (as idades forem crescentes): para cada aluno procurar em cada aluno qm tem a idade do primeiro aluno.. eh O(n²) |
fagmin
|
19-07-07, 23:12
#18
Na realidade, basta ja colocar a comparacao na entrada de dados, a cada digitacao ele compara e pronto, ja teremos a menor_idade, em seguida o loop simples de impressao baseado nessa variavel e fim
|
Trooper
|
19-07-07, 23:31
#19
sei que tu estuda java jota...
então ta aí. eu não escrevo algoritmos do jeito que tu escreve, então pra não embananar, fiz em java. (L) Code:
import javax.swing.JOptionPane; public class Jota{ public static void main(String args[]){ int[] arrayAluno = new int[10]; String recebe = ""; int idadeMinima = 1000, contaIdadeMinima = 0; for(int x = 0; x<10; x++){ recebe = JOptionPane.showInputDialog("Idade do aluno"); arrayAluno[x] = Integer.parseInt(recebe); if(arrayAluno[x] < idadeMinima){idadeMinima = arrayAluno[x]; contaIdadeMinima=0;} if(arrayAluno[x] == idadeMinima){contaIdadeMinima++;} System.out.println("Aluno " + x + " = " + arrayAluno[x]); } System.out.println(); System.out.println("A menor idade: " + idadeMinima); System.out.println("Quantidade de alunos com a idade: " + contaIdadeMinima); } } |
Trooper
|
19-07-07, 23:37
#20
Como hoje o tio (eu) está feliz pq fez alguns gols contra o time do chefe, abaixo segue um algoritmo sem precisar usar ordenação.
http://files.central.googlepages.com/divertido.txt |
Trooper
|
20-07-07, 01:11
#21
Quote:
mas acho que eu consigo arrumar obrigado aí galera todo mundo que ajudou ;* |
|
Trooper
|
20-07-07, 01:30
#22
opa, falei merda
agora vendo o codigo do drakin (e o do vkMiau) q eu entendi oq o Ted disse, nao piora a situação nao nao tem como existir um igual antes do novo menor na lista, dae eh soh guardar os menores a partir dele mesmo (sem buscar desde o começo).. e o exemplo q eu queria dar era 9 8 7 6, nao 1 2 3 4 "le, acha menor, procura os menores", "le achando menor, procura os menores" e "le achando menor e guardando menores, imprime resposta" os 3 jeitos sao praticamente identicos em numero de operações (se nao for contar a operação de incrementar o i ¬¬ aUhauahAU) mas esse ultimo precisa inutilmente de um array adicional e uma iteração adicional (ele faz N comparações pra ver se poe no array, e no final itera pelos M elementos do array.. invez de simplesmente ir comparando N vezes e imprimir direto) nao adianta, nao tem como melhor significantemente esse algoritmo KISS |
Trooper
|
20-07-07, 01:36
#23
opa, esqueci de trocar o 10 por 700....
coloquei um numerim pra testa, né? |
Trooper
|
20-07-07, 06:46
#24
Quote:
|
|
The Alpha Male
|
20-07-07, 07:30
#25
vou dar uma dica pra vc zerocantone
que li a muito tempo em um artigo e guardei na minha mente ele fala sobre essa questao de otimizar codigo etc "premature optimization is the root of all evil" depois vou tentar achar o artigo que vc vai entender o pq da frase huehuehue eh um artigo pequeno da ibm com dicas de desenvolvimento bobinhas |
Trooper
|
20-07-07, 08:53
#26
Fazer o código o mais simplificado possível é coisa de algoritmos I.
Realmente é mto interessante pensar nos jeitos mais simples de realizar uma idéia. Porém, quando se começa a fazer coisas maiores, é melhor optar pela solução mais lógica/orientada à objetos. |
The Alpha Male
|
20-07-07, 10:53
#27
|
The Alpha Male
|
20-07-07, 10:56
#28
essa pagina é boa, micro-otimização desnecessaria sux pra caralho
outro topico: http://en.wikipedia.org/wiki/Optimiz...mputer_science) |
Banned
|
20-07-07, 11:18
#29
na minha opiniao, o melhor e mais curto algoritmo nao deve guardar nome e idade dos menores idades em um outro vetor
ele deve no vetor dos felizardos mais jovens guardar apenas o indice da posicao da idade o custo de processamento para guardar poucos indices que contem numeros pequenos custa muitissimo menos que guardar strings por isso recomendo guardar apenas os indices no vetor do resultado da pesquisa, o dia que vc tiver uma base de dados com gigas de dados vc vai chorar caso resolva duplicar caracteres ao invez de numeros Code:
menor_idade = 1000; i=0; j=0; nomes[x...y] idades[x...y] indices[x...y] for i = x to y if menor_idade > idades[i] then {menor_idade = idades[i]} end if next for i = x to y if menor_idade = idades[i] then {j = j + 1; indices[j] = i} end if next for i = 1 to j imprima nomes[indices[i]] + " " + idades[indices[i]] next |
Trooper
|
20-07-07, 11:21
#30
Quote:
Muita mais simples criar uma função e comparar na entrada, assim guardando os valores em 2 variáveis globais MAIOR e MENOR. int maiorIdade = 1000; int menirIdade = 0; //Variaveis globais ja iniciadas //Metodo de comparação que receberá a idade como atributo em cada entrada compara(int idade) { if (idade > maiorIdade) &maiorIdade = idade; else if (idade < menorIdade) &menorIdade = idade; } //Entrada de dados for(int i=0;i<700;i++){ idade =algumInputdaVida("Digite sua idade : "); compara(idade); } Last edited by CroNicaL; 20-07-07 at 11:29.. |
|
Banned
|
20-07-07, 11:24
#31
a ideia do jeep eh otima pra resolver o exercicio
mas no futuro seria em vao, pra fazer pesquisas e relatorios, ia ficar muito lento huuh |
Trooper
|
20-07-07, 12:02
#32
bomba, otimização PREMATURA aonde? dah impressao q vc qm quis otimizar ordenando o array, fazendo assim "menos iterações" pela lista
fazer varias iterações pela lista procurando o menor, e imprimindo soh os menores, eh bem mais intuitivo.. e eu nao sou o estereotipo de otimizador q vc pode estar pensando.. O(n log n) pra O(n) nao eh micro otimização, eh algo MUITO significativo... desde quando performance 400% a mais (n = 700) eh MICRO? agora se vc se referia às nano otimizações, como embutir varios fors em um soh, dae eu concordo a proposito, eu ACHO q vi o artigo da ibm... nao sei se vc colou errado, mas vc colou um artigo da acm q justamente me defende.. e se eu nao me engano tinha uma coisa no artigo da ibm q era "mais vale um algoritmo melhor doq escovação de bit".. e eh por isso q o algoritmo de varias iterações > ordenação (e nao vo ler td o artigo da wikipedia, se quiser mostra algo mais especifico aUhaauhaUaHuA) (gostei do termo nano-otimização) -- a partir daqui, eh discussao sobre nano-otimização desnecessaria -- Ted entao.. soh q veja soh, pra vc criar esse array com "M" elementos (qts tem a idade menor), vc vai ter q comparar igualdade com tds os N alunos (pq vc vai lendo e vendo se ele eh a menor idade)... se for, vc armazena, e dps vai ter q iterar pelos M alunos pra imprimir do jeito mais simples vc ainda faz as N comparações (iterando "novamente"), soh q nao "perde tempo" armazenando, imprime direto simples: faz N comparações de igualdade, faz M impressoes you: faz N comparações de igualdade, faz M armazenamentos, faz M impressoes a diferença entre ter 1 for com 2 operações e 2 fors com 1 operação eh q o contador (i, por ex) vai ser incrementado o dobro de vezes.. no seu caso, vc vai fazer menos somas "+1", mas vai fazer mais acesso de escrita à memoria... entao eh totalmente irrelevante discutir qual tem melhor em performance, porem IMHO o codigo fica mais claro se for do jeito simples.. edit: ponto interessante chakan, mas se fosse fazer varias consultas, e a lista de alunos nao mudar, entao seria melhor fazer um cache.. jah se a lista mudar, talvez ordenar e inserir os futuros elementos com insertion sort poderia melhorar a performance em ALGUNS casos.. ou entao se vc quer sempre o menor, poderia otimizar mais ainda pra inserir ordenado soh se ele for menor.. o ganho nao seria tao grande, eh o tipo de coisa q nao deveria ser procupação em um sistema maior e depende de o quao flexivel deveria ser.. outro algoritmo Last edited by ZeroCarontE; 20-07-07 at 12:10.. |
Trooper
|
20-07-07, 12:50
#33
Quote:
|
|
Trooper
|
20-07-07, 12:55
#34
n creio que vcs tao perdendo tempo discutindo sobre um exercício que se faz com um mes de computação duhaouiea
|
Banned
|
20-07-07, 13:19
#35
ou seja...
analise > programacao sem analise do sistema ao todo, nao tem como PROMETER nada |
The Alpha Male
|
20-07-07, 13:28
#36
Quote:
pra que o cara vai se preocupar com isso? é esse o meu ponto pra que perder tempo pensando a melhor solucao se no final das contas não vai fazer diferenca? e como falaram ai, 1o mes de faculdade para de viajar |
|
Banned
|
20-07-07, 13:36
#37
talvez pq ele queira aprender
|
The Alpha Male
|
20-07-07, 13:46
#38
Quote:
|
|
Banned
|
20-07-07, 15:13
#39
aprenda a ficar quieto e sair de fininho enquanto tem tempo
|
Banned
|
20-07-07, 15:21
#40
ALOOOOOOOOOOOOOOOOOOOOOOOOOOOCOOOOOOOOOOOO
ZWOW ZWOWWWWWWWWW ZWOWWWWWWWWW |
The Alpha Male
|
20-07-07, 15:26
#41
Quote:
|
|
Banned
|
20-07-07, 15:31
#42
sim eu ja to cansando dessa tua arrogancia em todo topic que vc aparece
vc precisa a ser mais humilde, sempre fica se achando o bom da boca e flameando se vc nao aprender a ser mais humilde, alguem vai fazer vc aprender e se vier de DS blog aqui chorar as pitangas eu vou rir eu falei de proposito mesmo, e campeei aqui pra confirmar que a imagem que tenho de vc ser um ser arrogante e nariz empinado eh real ps: sem mais, agora continue falando sozinho por nao saber deixar nada quieto |
Banned
|
20-07-07, 15:31
#43
UIIIIIIIIIII
CHAMOU DE ASPONE! EU NAO DEIXAVA HaiuoehrIUEr |
Banned
|
20-07-07, 15:33
#44
ALOOOOOOOCO BOMBA
SANDALIAS DA HUMILDADE! |
Unbreakable
|
20-07-07, 15:35
#45
Chakan, lembra do cara vindo atrás de vc no SWAT e vc gritando socorro no microfone
aehjueahuaehueaea tomei um susto da porra....eu la com a OPT scaneando a sala fechada, e vc indo com bomba de gás, spray de pimenta e pistola de paintball... o cara te owno com uma mascara na cara eahuyaehuaehaeUAEEAaheeauaeuheaeauheuea Chakowned |
The Alpha Male
|
20-07-07, 15:35
#46
Quote:
cara, aspeiro = escoria isso eh fato, nao eh questao de humildade pode deixar q eu vou abrir um ds blog o dia q eu tiver q fazer qquer merda em asp ai vc pode me zuar que eu vou ser mais um aspeiro jegue por ai |
|
Unbreakable
|
20-07-07, 15:37
#47
aspeiro
heauheaueahueahuae sacanagem |
Banned
|
20-07-07, 15:44
#48
deixa o kra, eterno trainee, perdedor, anda chutando pedrinha na rua e se achando o sabidao
eu pelo menos fui pra frentena vida e to entrando em .net, e vai apenas mais uma empreitada como qualquer outra que jamais fará eu destratar as pessoas que estao aprendendo |
Banned
|
20-07-07, 15:47
#49
AIEHRiOUAHRe
ETERNO TRAINEE agora o chakan falou uma verdade!!! |
The Alpha Male
|
20-07-07, 15:51
#50
AHEUFhaEUIOFhiauhfiuahefuiahIOFuh
porra eterno trainee daonde o sujeito tirou isso? o pior eh nego acreditar no maisquecu olha a msg do sujeito no msn .alfredo. Vai lavar roupa, cambada de frouxa! diz: os caras veem eu te zoando de trainee e acreditam .alfredo. Vai lavar roupa, cambada de frouxa! diz: logo eu > vc .alfredo. Vai lavar roupa, cambada de frouxa! diz: uIHAEGOIHAERIUHAEOIUHIUEAHROIUAER HAUIOEhfuahefiuahefuaf e o pior, falou que nao ia mais postar me respondendo o aspeiro doeu na ferida, fica triste nao voce evoluiu, mas .dot é facilmente cagavel tb entao dependendo pode ficar pior que os asps vai pra frente ai cara, eu podia falar altas coisas aqui mas vou deixar quieto se nao vc vai falar q eu to precisando ser mais humilde e vai querer me ensinar a humildade aspeiro, fica triste nao todo mundo erra na vida a 5 anos atraz eu usava asp e achava a melhor maravilha do mundo 1o estagio, sabe como é a gente aprende cada coisa mas vai nessa, continua evoluindo, só abaixa o topete ai e tente conhecer as pessoas antes de falar que elas sao trainee, perdedores ou chutam pedrinhas na rua beijo aspeiro |
Banned
|
20-07-07, 15:54
#51
calado trainee
estaginho bombastic lewser vo falar ele vende churros na frente da UFMG pronto falei e só tem de caramelo |
The Alpha Male
|
20-07-07, 15:55
#52
tem de chocolate tb
caramelo era só quando eu era estagiario e a ufmg eh longe pra caralho eu trabalho na savassi |
inativo
|
20-07-07, 16:10
#53
E o Zero ainda perde tempo discutindo hoeuahouheao
|
Trooper
|
21-07-07, 01:13
#54
aff o cara ja resolveu o exercicio dele deixem de ser nerds pqp
next (p0rn pl33z) |
Trooper
|
21-07-07, 01:33
#55
isso tudo eu nao vou usar pra porra nenhuma na minha vida
e 98% aqui tb nao vai usar.. pq esses fdps fazem esses tipos de questão? |
Trooper
|
21-07-07, 02:11
#56
n creio que tu ta falando sério chrysler
aeuioeua |
Trooper
|
21-07-07, 03:06
#57
Jovens, o jota só pediu ajuda e não que vocês se pegassem.
No meu código, os dois for não são O(n), mas sim O(700) pois é constante, nós sabemos o quanto vai percorrer, não há ordenação e nem busca. Definição: "Seja K um valor constante e um algoritmo O(K) então essa é a solução de menor complexidade." ZeroCarótidA, o que tem incrementar o i? Essa operação não conta em complexidade de algoritmos. A primeira coisa que aprendi é que tudo q estiver dentro de qualquer estrutura de repetição pode ser ignorado (exceto outras estruturas de repetição). Em complexidade o que conta é quantas vezes é feito e não o que é feito. Ah, o problema é escrita na memória? Deixa eu ver... Tenho um processador de 3Ghz, 1 GB de RAM... Será que coloco mais um pente 1GB de RAM pra rodar esse programa? Pra quem acha inútil tal conhecimento, saiba que eu já implementei sistemas usando essas informações e ganhei um excelente AUMENTO $$$. Carregar, listar e buscar de uma lista de produtos contida em arquivo XML de 4 MBytes num Pocket PC com processador de 100Mhz. Busca instantânea! |
Trooper
|
21-07-07, 03:29
#58
vkmiau, eu sei q nao conta como complexidade, mas como ambos tinham mesma complexidade, eu soh tava comparando essas coisas inuteis mesmo (e deixei claro no final q eram irrelevantes)..
e eh constante, ok, mas facilita analisar o algoritmo se vc considerar um volume de dados N e nao um numero neh, a nao ser pensar em um numero limite (700) pra ver se a complexidade esta apropriada.. e bone, eu nao estava perdendo tempo, eu estava matando tempo, como pode ver pelos horarios de post |
Trooper
|
21-07-07, 13:30
#59
Fim de carreira ficar discutindo que linguagem é melhor que outra. Ou talvez seja inicio de carreira, enquanto ainda esta fresco na sua cabeça os ensinamentos de alguns professores de que tudo que vem da M$ é mau e ruim.
|
Trooper
|
21-07-07, 13:54
#60
nerds discutindo é mau e ruim
|
The Alpha Male
|
21-07-07, 17:06
#61
Quote:
esperava mais de vc ted... cara, asp é pessimo ATÉ para aplicacoes que asp foi feito para ser bom... existem outras linguagens/tecnologias melhores, mais baratas E mais faceis esse é o fato Last edited by Bombastic; 21-07-07 at 17:12.. |
|
Trooper
|
21-07-07, 17:54
#62
é obvio que o algoritmo implementado pelo vkMiau apresenta complexidade O(700) = O(1)
simplesmente porque o algoritmo não apresenta generalidade na entrada. ele só lê listas de 700 alunos. nao há generalidade no tamanho da lista. A analise de complexidade assintotica só faz sentido quando o tamanho da entrada varia (isto e', existe uma funçao não constante do espaço de entradas levando a valores na reta). se o programa do vkMiau fosse generalizado (usando por exemplo, alocaçao dinamica pros vetores), teriamos uma funçao naturalmente induzida dada pelo número de elementos do vetor (isso é óbvio); e então chegariamos a conclusao que este programa generalizado apresenta complexidade O(n), onde n e' o numero de alunos inputados na entrada é fácil ver que o problema proposto apresenta complexidade omega(n). (deixamos a cargo do leitor). portanto, o algoritmo generalizado (naturalmente induzido pelo programa generalizado) apresenta então otimalidade. obs: o que vc disse nao é uma definiçao, e sim um lema (fraco e inutil). Uma versao mais forte e c/ a linguagem apropriada e': Lema: Se um problema apresenta classe de complexidade assintotica omega(f(n)), e existe um algoritmo 'A' de complexidade O(f(n)), entao 'A' é (assintoticamente) otimo. |
Trooper
|
21-07-07, 18:00
#63
Quote:
O problema não é ASP ser pior ou melhor, o problema é a discussão em si ser inútil, pois vc pode achar uma outra linguagem mais fácil que ASP, mas para o outro ASP pode ser mais fácil. Se ele já tiver uma API boa para tudo que vai fazer em ASP, é bem mais facil usar ASP do que ter que aprender outra linguagem e ter que fazer uma API parecida com a que ele ja possui. Então pra ele ASP seria melhor. Se fosse "qual a melhor linguagem para tratar o problema X" com várias linguagens diferentes com aplicações diferentes, seria uma discussão válida. Mas uma discussão de qual a melhor linguagem para resolver problemas de um mesmo tipo entre linguagens feitas para resolver esse tipo de problema é besteira. Cada um pega a linguagem que achar melhor ou que gostar mais (ou desgostar menos). Last edited by Ted; 21-07-07 at 18:13.. |
|
Chief Rocka
|
21-07-07, 18:34
#64
|
Trooper
|
21-07-07, 18:53
#65
Ok, talvez "Definição" não seja bem o termo.
Mas não acho inútil, pelo menos o professor que passou esse conhecimento não achava isso. Foi foda essa cadeira, se não me engano 16 reprovaram direto! Toda linguagem de programação tem vantagens e desvantagens, mas qualquer coisa é melhor que BASIC e seus derivados. Quer performance? C++ Quer flexibilidade? .Net Quer portabilidade? Java etc... Quote:
Teve uma pérola de orkut esses dias que rachei (não sei o profile). A mulher estava escrevendo e ela aperta o caps lock, algo assim: "a gente saiu aquele dia E FOI BALA, SABIA? MUITO BOM! NÃO SEI O QUE ACONTECEU, ESTÁ SAINDO TUDO COM LETRA MAIÚSCULA. BJS." HduashdHAsdAHSd |
|
Trooper
|
21-07-07, 20:02
#66
Quote:
Quanto mais simplificado, pior a compreensão. Diversas vezes eu faço código maior (que poderia ser simplificado), meramente pra ficar mais claro e lógico. Da pra escrever um jogo da velha em C em duas páginas, mas se fizer em quatro pode ter certeza que fica muito mais claro o código. |
|
Trooper
|
21-07-07, 20:57
#67
vc tah zuando neh songer? auahauhauahua
Code:
simples que não é complicado; fácil de compreender; claro; e se eh mais facil explicar o codigo A doq o codigo B, o A tem chance de ser mais simples tb inclusive nessa frase q vc quotou, o jeito simples q eu disse era "ler, achar menor, procurar menores", invez de "enquanto le vai guardando os menores, e se encontrar menor ainda, limpa os guardados, depois mostra qm tah guardado" |
Trooper
|
22-07-07, 01:27
#68
ZeroCaronte, veja o tamanho de uma lógica perfeitamente inteligível.
a lógica mais correta pra ser entendido o programa é a seguinte, em C puro, pra nao entrar em OO; #include ... void leAlunos(char *meusAlunos, int *seusNumeros); void veMenorIdade(char *meusAlunos, int *seusNumeros); void mostraMenores(char *meusAlunos, int *seusNumeros); int main() { int osNumeros[700]; char osAlunos[700][50]; leAlunos(&osAlunos[0], &osNumeros[0]); veMenorIdade(&osAlunos[0], &osNumeros[0]); mostraMenores(&osAlunos[0], &osNumeros[0]); } Tu faz cada função do programa separadamente, um código mto maior e menos eficiente, porém, muito mais fácil de ser compreendido. :P |
Trooper
|
22-07-07, 01:31
#69
O importante não é achar a melhor linguagem pra resolver os problemas..
O importante é encontrar a linguagem que pode te dar mais $$$ |
inativo
|
22-07-07, 02:23
#71
simplificado é menos legível?
Code:
class Aluno attr_accessor :nome, :idade def initialize(nome, idade) @nome = nome @idade = idade end def <=>(aluno) @idade <=> aluno.idade end def ==(aluno) @idade == aluno.idade end def to_s @nome end end alunos = [] alunos << Aluno.new("Joao", 12) alunos << Aluno.new("Jose", 13) alunos << Aluno.new("Maricotinha", 12) #Idade minima puts alunos.min.idade #nome dos alunos com idade minima puts alunos.grep(alunos.min) Last edited by un4; 22-07-07 at 02:29.. |
Trooper
|
22-07-07, 03:19
#72
Nao li todos os codigos, mas o do jeep apresentado no 1o reply atende a ocasiao.. soh trocaria o idade_minima de 1000 pela idade do 1o cara do vetor, dai faca as comparacoes e atualize....Fica mais limpo
inte |
Trooper
|
22-07-07, 04:58
#73
tem alguem na mesma situação que eu?? os caras ai estão falando grego heheheh.. POUTS! manjo nada disso.
|
The Alpha Male
|
22-07-07, 12:45
#74
Quote:
Quote:
precisa-se de muita responsabilidade de quem esta utilizando |
||
Trooper
|
22-07-07, 13:20
#75
songer.. MAS O ALGORITMO EH O MESMO aUhauahauAHuA
nao esta sendo discutido paradigma de programação, soh algoritmo nao importa se vc vai por metodos, objetos ou qq outra coisa pra fatorar o codigo a eficiencia tah no algoritmo a nao ser q vc soh tenha mudado de assunto, dae ok eu nao acho q o mais simples seria fazer um metodo separado pra cada coisa, a nao ser que o codigo q precise deles (no caso, o "main") nao fique simples se nao tiver essa separação.. por exemplo, se tivesse um sort ali no meio, entao q seja em outro metodo.. se a entrada vem de um servidor web e tem negociaçao de protocolo, entao q seja em outro modulo do sistema, senao mistura td e deixa de ser simples ou entao qd o codigo aparece em outro lugar, dae ok tb, pra remover duplicação agora nesse caso: iteração pra ler entrada padrao, iteração pra buscar o menor, iteração pra imprimir os iguais, IMHO esta simples o suficiente e qq coisa q mude soh vai complicar.. PS: nao entendi pq o array de tamanho [700][50] e oq significa akele osNumeros sendo passado pra td mundo, mas deixa pra la |
|
|