Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

josemehc

Dúvidas sobre como começar na programação

Mensagens Recomendadas

josemehc

Boa tarde,

desde já felicito o forum pela excelente composição.

venho aqui expor a seguinta dúvida. estou a iniciar-me em python, ( quando digo iniciar refiro-me mesmo apenas a fazer um "hello world!") e deparei-me com a seguinte questão. óbvio que uma pessoa deve começar pelos passos mais básicos e compreender a linguagem, mas eu pensei que como motivação poderia arranjar uma ideia para um programa e tentar devagarinho tentar construir o mesmo à medida em que vou aprendendo. penso que a minha ideia é básica, refiro-me a um programa que procure ficheiros no disco rigido ( como o search no windows). imaginemos, quero procurar todos os ficheiros com extensão TXT, o programa iria procurar o disco por esses ficheiros. por onde devo começar? dá para desenvolver o aspecto grafico do programa tambem, por exemplo em janela?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
thoga31

Bem-vindo ao P@P :)

Esta é a tua primeira vez na programação, ou já tens alguma experiência noutras linguagens?

Antes de mais, primeiro desenvolve para consola. Mais tarde, quando tiveres as bases sólidas da linguagem, pensa em avançar para um ambiente gráfico.

Antes de um programa desses, avança primeiro para além do "Hello World". Há muitas coisas a saber em Python antes disso, e não são difíceis - penso que em pouco tempo as apanhas.

Tens aqui alguns módulos para manipular directórios e ficheiros, de qualquer das formas. ;)


Knowledge is free! | Occasional Fortnite player

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
josemehc

obrigado pela resposta :)

respndendo à tua pergunta, não tenho experiencia em nenhuma linguagem de programação, esta é mesmo a minha primeira vez.

e como não sei a linguagem, questiono-me como fazer as coisas... não sei se o programa é dificil de ser feito, ou se alguem já fez algo parecido, ou se existe partes do código em tuturiais com a explicação de o que faz e pq é que tem que ser assim... já agora outra questão : em python quando fazemos print "hello" apareçe o hello, eu experimentei fazer dizer = print, e em seguida fiz dizer "hello", e ele tbm o fez. a questão é, é possivel alterarmos os comandos que irei usar como fiz em print? é possivel guardar isso como base de dados para reutilizar noutros projectos?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
thoga31

Estás cheio de questões de novatos. É normal.

Vai com calma. Cada coisa a seu tempo. Sim, tudo isso que disseste pode ser feito. E existem códigos e tutoriais com fartura. Mas antes de um programa desses (existem vários, em várias linguagens, é muito comum os aprendizes implementarem-no), aprende devidamente Python.

Vai com calma, estás com um speed do camandro. Não penses que isto é só magia, porque não é.

Ah, e vê um pouco de Lógica e Algoritmia, é essencial antes de qualquer outra coisa. ;)


Knowledge is free! | Occasional Fortnite player

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
josemehc

peço desculpa só responder hoje pq estive ausente,

agradeço a todos a ajuda... pois, estou cheio de dúvidas mas é normal :) o speed é devido a motivação. já agora, que aconçelham a aprender/ver primeiro? logica e algoritmia é por onde devo começar? ou ainda existe matéria mais básica a ser aprendida?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
josemehc

tive a ler oa explicação que o thoga31 meteu aqui sobre lógica, e comprendi onde queriam chegar. no entanto tento fazer uma coisa simples como por exemplo " se o x + y for superior ao nª2 então print "superior"", mas não me dá resultado, isto pq não sei o código. o que tentei fazer foi isto :

if x+y>2 :
print ("maior")
else :
print ("menor")

alguem me pode esclarecer como ficava o codigo correctamente ?

Editado por thoga31
GeSHi

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
thoga31

Mais básico que lógica e algoritmia só mesmo somar 1 e 1. :)

A base das bases da programação é a Lógica e a Algoritmia. Convém ter noções mínimas sobre isso. Se não colocam-te problemas e tu não consegues chegar à solução porque não sabes quando utilizar, por exemplo, um "and" ou um "or".

O teu código está correcto, aparte a falta de indentação. As estruturas de controlo em Python são definidos pela indentação, que deve ser igual ao longo de todo o programa, e é definida pela primeira indentação de todas.

Por exemplo, se na primeira indentação forem utilizados 4 espaços, o restante programa deverá ser indentado, nas estruturas de controlo, com 4 espaços. Se se der mais ou menos ocorre um erro.


Knowledge is free! | Occasional Fortnite player

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
josemehc

então como deveria ficar o código para quando fizesse uma soma, se o resultado fosse maior que 2, aparecer o print? (peço desculpa estar com estas questões de noob :S )

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
thoga31

Não faz mal nenhum. Todos nós aqui já passámos por essa fase, incluindo eu. Ninguém nasce ensinado. ;)

Não sei se aquele código é tudo o que fizeste. Vamos pensar assim: tens de pedir ao utilizador dois números e verificar se a soma deles á maior do que 2.

A primeira coisa a definir são as variáveis necessárias e pedir ao utilizador que dê os números. Em Python será assim:

x = int(input("Introduza número inteiro: "))
y = int(input("Introduza outro: "))

Para saberes o que faz cada um deste métodos que utilizei, pesquisa um bocadinho. Mas posso adiantar desde já que pedi ao utilizar um valor, e converto o que ele me der num inteiro. Não estou preocupado neste momento em controlar se o input tem letras ou etc.

Posta esta parte, vem a análise da soma dos número. É como disseste, mas com indentação:

if x + y > 2:
   print("Soma maior que 2")
else:
   print("Soma menor que 2")

Neste caso utilizei uma indentação de 4 espaços, que é a minha favorita.

So far, so good? Ou que questões tens em relação a esta parte? :)

Editado por thoga31

Knowledge is free! | Occasional Fortnite player

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
josemehc

ah! já entendi! o problema é que eu não tinha definido o X e o Y, right? eu usei a identação quando me deu o erro, mas quando fiz o copy/paste não apareçeu :\

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
thoga31

Pois, as variáveis não aparecem do céu. Comparas x+y com 2, mas onde estão antes as variáveis x e y? Quais os seus valores?

Programação não é feita de milagres, é feita de lógica. E a lógica, neste caso, é simples: antes de usar variáveis, deve-se 1) criá-las e 2) inicializá-las. Em Python podes fazer estes 2 passos de uma vez só, como viste. Mas noutras linguagens isto não funciona assim, e cada passo merece uma instrução distinta. ;)

Editado por thoga31

Knowledge is free! | Occasional Fortnite player

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
josemehc

obrigada pela ajuda :) consegui entender tudo :) só que afinal não era bem isto que eu queria fazer...aquilo faz o print consoante os números que nós introduzimos antes, o que eu prentendia era quando fizessemos um cálculo, fosse este um qualquer, quando me desse um resultado, aí sim apareçia o print...não sei se me fiz entender :P

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
thoga31

Não sei se entendi bem o que pretendes.

Primeiro que tudo, as varáveis têm de ser inicializadas e têm de ter valores. Eu apliquei o mais típico, que é pedir ao utilizador. Existem outros métodos, entre eles o método pseudo-aleatório.

De seguida, creio que te referes ao facto de quereres mostrar o resultado de um cálculo. É isso? Há duas opções: ou mostras directamente o resultado, ou guardas este numa variável primeiro se precisares de o utilizar mais tarde.

# Pretendemos calcular x^y.
# Pedimos os números:
x, y = int(input()), int(input())

# Método sem variável:
print("{0}^{1}={2}".format(x, y, x**y))

# Método com variável:
res = x ** y  # posso utilizar "res" a qualquer altura, não preciso de estar sempre a calcular x^y.
print("{0}^{1}={2}".format(x, y, res))


Knowledge is free! | Occasional Fortnite player

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
thoga31

De nada. Tens mesmo é de começar a estudar as bases em Lógica e em Algoritmia antes sequer de pensares em searchers. E quando tiveres dúvidas, apita. Estamos aqui para ajudar. ;)

btw, acho que fizeste uma boa escolha em começar com Python. Vai-te dar uma ideia muito boa sobre vários géneros/paradigmas de programação. Ainda para mais quando estás a fazê-lo, para já, como "passatempo".


Knowledge is free! | Occasional Fortnite player

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
_4ndr3

Boas,

A melhor maneira de aprenderes a programar é como dizia o Stallman "fazendo projetos reais". Lança um desafio a ti mesmo de algo simples que queiras fazer e vais te obrigar a esforçar-te mais. Neste site: http://issuu.com consegues encontrar muitos livros de programação que estão abertos ao público. De resto, a documentação do Python é espectacular: http://docs.python.org/2/ por isso vale a pena ler aquelas páginas todas :)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.