minha faculdade faz videoaulas disso. Videoaulas de 50 minutos e que são extremamente lixosas em demonstrações. Parabéns! Além de poupar meu tempo, você demonstra a utilização de forma muito clara e efetiva.
Parabéns pelo canal! Tenho essa disciplina na faculdade e infelizmente o professor não tem a metade da didática. Eu gosto do assunto mas com as aulas o desânimo já estava grande. Ainda bem que encontrei o canal de vocês.
Boa, finalmente encontrei um conteúdo de Portugol Studio atualizado para seguir. Agora posso estudar melhor! Espero que continue com os vídeos e com o canal por muito tempo. Abraço
bom dia tudo bem , sabe pode me ajudar por favor , veja Implementar o seguinte algoritmo utilizando o Portugol Studio: A Mudança Por Samuel Lucas Santos Gomes, IFSULDEMINAS Júlio está criando um novo Smart Watch especialmente para programadores. É impressionante as vantagens que ele oferece e o conforto pra codar que ele tem. O relógio ainda está em desenvolvimento e ele prometeu consertar os bugs e colocar uns apetrechos melhores e, em troca, pediu um sistema simples para o modo Standy Bay. O problema é que o relógio por si só sempre tem o ângulo de inclinação do Sol/Lua(de 0 a 360). Valendo um relógio, caso deseja aceitar: dada em grau da inclinação do Sol/Lua, informe em qual período do dia ele se encontra. Entrada A entrada contém um número inteiro M (0 ≤ M ≤ 360) representando o grau do Sol/Lua. Como a posição muda constantemente seu programa receberá diversos casos a cada segundo(EOF). Saída Imprima uma saudação referente ao período do dia que ele se encontra: "Boa Tarde!!", "Boa Noite!!", "Bom Dia!!" e "De Madrugada!!".
@@alvarodinamo8397 o fato de que tudo que mexo no computador é feito de uma forma que nem ao menos sei como é, então quero aprender como é feito tudo que uso e criar novas ferramentas
Produza um algoritmo que leia uma quantidade indeterminada de valores e para cada um deles apresente o seu fatorial. A entrada de dados deve ser encerrada quando for digitado um valor zero ou negativo. Escreva um um algoritmo que leia uma quantidade indeterminada de valores. Se o valor for par, apresente o seu quadrado. Se o valor for ímpar, apresente a raiz quandrada. A entrada deve ser encerrada quando for digitado um valor zero ou negativo.
Não exatamente. "a"+"b" é equivalente a "ab". Enquanto escreva("a", "b") é equivalente a: escreva("a") escreva("b") Veja que, no primeiro caso, eu primeiro crio a cadeia composta e depois imprimo apenas uma vez na tela o resultado da concatenação. Quando eu uso vírgula, eu não gero outra string antes de imprimir, mas imprimo duas vezes seguidas. O efeito final é o mesmo, mas é importante entender essa diferença. Deu pra entender?
Como que faz para fazer um somatório de 5 números escolhidos por um "usuário", utilizando o "para" como laço? fiz um esquema de comandos mais só pede para digitar um numero, e ele fica sendo o resultado do somatório.
Bom demais o curso, continue o trabalho !! Uma pena que tenho uma prova sobre matriz e os ""sorts"" nessa semana e não ter material sobre no canal. Até o próximo vídeo.
Oi, estou precisando de uma ajuda urgente e não sei se tem jeito de fazer no portugol. Há alguma maneira utilizando o laço de repetição "PARA" , para contar de 1 a 10 pulando de 2 em 2? Tentei manipular alguns comandos mais ainda não consegui.
Olá, é possível sim. Em vez do operador de incremento i++ (equivalente a i=i+1) voce pode usar uma expressão, no seu caso, i=i+2. para(inteiro i = 1, i
@@programacaopopular MUITO OBRIGADA!!! Eu estava com a mesma dúvida; e muitaaaa dificuldade para fazer! Está de um forma tão simples de entender que agora é até fácil! AGRADEÇOOO!
Boa noite, obrigado pelo elogio. =) Por enquanto, estou apertado no âmbito acadêmico e, daí, tempo pra produzir vídeo tá complicado. Como o fim do semestre se aproxima, logo retorno com o restante da série. :) Força sempre!
Para quem não entendeu: programa { /* HM Programming * {Portugol Studio} #8 - Laços de Repetição * @Guialpoim */ funcao inicio() { inteiro i=1 enquanto(i=0 ; j--){ escreva(j+", ") } escreva(" Fim do para")
Aulas maravilhosas mano, ta de parabéns. Alguém pode me explicar uma coisa no 6:53. Foi dito que a variável i só tem valor no loop do enquanto e nao no programa todo, ai eu fiquei em duvida : se i está fora do enquanto, ele nao deveria valer para o programa todo? Alguem me explica por favor?
Olá, Gustavo. Foi um erro meu, um vício linguístico. O que quis dizer é que essa variável "não serve pra mais nada" no resto do programa, isto é, não foi utilizada novamente, sendo declarada apenas para aquele laço.
Parabéns pelas aulas e pelo seu profissionalismo. Agora eu tenho uma dúvida: Por que na maioria dos casos usamos a mesma sintaxe no Portugol on line e no software no PC e produz erros do tipo de incompatibilidade, etc. ? Cheguei a copiar e colar o exemplo dos laços e e gerou :"Tipos incompatíveis! Não é possível somar uma expressão do tipo 'inteiro' (1) à uma expressão do tipo 'cadeia' (", ")."
Leonardo Almeida Teodoro defina o valor inicial da variável r fora do laço. Dentro do laço some dois e escreva. A condição é a mesma que você mencionou.
Leonardo Almeida Teodoro observe que, após a impressão, você está incrementando a variável em apenas um (r++). Faça o seguinte: inteiro r = 2 enquanto(r
Ahhh! obrigado professor! Então escrever r++ significa que o console somará 1 ao valor atribuído à essa variável e escrever r= r + 2 significa que o console somara de dois em dois? O mesmo vale para outras operações, se por exemplo, eu quiser montar uma pg, posso escrever r=r*2?
Leonardo Almeida Teodoro exatamente! "r++" é um _apelido_ para "r = r + 1", que é idêntico a "r += 1". Qualquer outra soma precisa ser explícita, inclusive as progressões geométricas!
Meu professor de Algoritmos passa Portugol mas se recusa a usar o Portugol Studio, aí tem umas diferenças de sintaxe. Então se você poder me ajudar com esse exercíciozinho, acho que vai aumentar minha expectativa de vida em 5 anos. Eu fico pensando nessa merda no chuveiro. É só calcular ''1/1+1/2+1/3+1/4...+1/N'' e exibir na tela, onde N é fornecido pelo usuário. Mas o máximo que consegui fazer foi exbir a conta na tela sem executar com: real N escreva("Informe o valor de N. ") leia(N) para(real J = 1 ; J
Opa amigo, tenho uma dúvida, se criar uma tarefa que precisa ser executada várias vezes, como posso fazê-la parar com um comando no console do próprio Portugol?
O faça enquanto difere do enquanto porque, caso a condição do enquanto seja falsa, o código NÃO será executado. No faca enquanto, o código com certeza será executado ao menos uma vez. De qualquer forma, verificar se não falei dessa estrutura e, caso não tenha, faço um vídeo extra.
Uma dúvida: em algum vídeo fala da SINTAXE? Eu estava apanhando por tentar usar VÍRGULAS no laço PARA, e não entendia o que estava de errado. Olhei até a ajuda (que não tem como aumentar a fonte) e demorei a acreditar que fosse isso (achei que usava direto vírgulas). Abração
Use o laço para ao contrário: para(inteiro i = 50 ; i>=0; i--){ escreva (i+", ") } Dessa forma, seu iterador começa valendo 50 e vai sendo decrementado enquanto for maior ou igual a zero.
Nesse caso, era melhor usar o para (como eu fiz na sequência), mas existem situações em que o enquanto é melhor, por exemplo, quando você quer monitorar uma condição que não necessariamente é simples como no para.
Meus parabéns.( Uma pequena sugestão.. )colocar mais conteúdo na sua pagina do Instagram, o Instagram é muito bom, porém é muito carente de paginas boas de programação, use a sua pra divulgar storys, e publicações interativas. Abraço, sucesso!
7) Escreva um programa que leia do usuário um valor inteiro n maior que 1 e então imprima na tela os n primeiros termos da série abaixo: 1, 4, 4, 2, 5, 5, 3, 6, 6, 4, 7, 7,... alguem sabe resolver isso no portugol
No minuto 13:13 você disse: 'Aqui no portugol eu tenho a opção de clicar no 'x'. Na linguagem final, não.' Que significa essa linguagem final que não dá pra clicar no x?
Pense num programa real que está rodando em sua máquina. Não existe uma opção simples pra fazer com que ele saia de um laço infinito. No Windows, você vai ver que a aplicação "Não está respondendo", e isso acontece quando há um laço infinito. Aí a opção é fechar pelo gerenciador de tarefas, pela linha de comando, ou aguardar o sistema detectar a anomalia e propor o encerramento do programa. Nenhuma dessas opções é tão simples ou adequada quanto clicar no botão X e interromper seu programa.
@@programacaopopular O word poderia ser um exemplo de aplicação em que aparece a mensagem: 'não está respondendo' ? Isso significa que houve algo lá no algoritmo que tá em laço infinito, ou nem sempre esse é o problema? E caso eu encerre a aplicação no gerenciador de tarefas, se caso o problema fosse o laço infinito, fechar o programa pelo gerenciador de tarefas corrigiria esse laço infinito? Ou precisa de um programador pra ir lá corrigir isso?
@@programacaopopular você sabe dizer como o word foi construído? Que linguagens foram usadas pra fazer o word? Quantas linhas de códigos será que o word tem?
Se o while pode incorrer em loop infinito, é por isso que se usa o for pra alguns códigos? Por que ele é mais enxuto e tende a dar menos problemas? Desculpe a pergunta que pode ser idiota...
Isso! O for nada mais é do que um while com o contador e a condição de parada embutidos. Então é mais difícil cometer erros com ele (mas também é menos flexível).
ola tudo bem, eu estou precisando de uma ajuda aqui na minha lição, para mim validar essa informações e em caso de informação invalida, escreva na tela uma mensagem informando ao usuário e solicite novo valor, isso eu nao sei fazer ainda( se quiser que eu mande a lição aqui eu mando mas nao precisa me dar a resposta, agradeço desde ja)
O + usado com tipos não numéricos é um operador de concatenação, ou seja, ele acopla as duas cadeias. Dessa forma, o código a seguir: *escreva("a"+"b")* equivale a: *escreva("ab")* A vírgula, entretanto, inicia outro comando escreva, de modo que o comando a seguir: *escreva ("a","b")* na verdade equivale a: *escreva("a")* *escreva("b")* Basicamente, como o uso da vírgula implica no uso de vários comandos, a concatenação acaba sendo muito mais rápida.
Olá, tudo bem? Consegue dar um help, meu código mostra esse erro: Tipos incompatíveis! Não é possível somar uma expressão do tipo 'inteiro' (1) à uma expressão do tipo 'cadeia' (", ").
Estou tendo dificuldades com o "enquanto". Tenho uns exercícios que pedem pro usuário digitar n números e eu preciso mostrar os x maiores e os x menores com o enquanto, mas não estou conseguindo pensar em uma maneira de fazer isso. Alguém poderia me ajudar a pelo menos começar? Grato desde já.
Crie uma variável de controle, por exemplo, *a*. ENQUANTO ainda sobrarem números, verifique se o número digitado (digamos, *x*) é maior que *a*. Em caso afirmativo, atribua o valor de *x* para *a* (a = x). No fim do laço, você terá a garantia se que *a* é o maior valor de todos. Desenvolva essa ideia de lógica.
Explicou muito bem amigo, mas tem algo que vem quebrando minha cabeça que é saber se tem como colocar o msm tempo de 1 segundo normal do relogio de cada contagem de 1 numero. Se tiver como me ajudar, desde já agradeço! Abraços
Se você quer executar o laço com intervalo de um segundo entre cada execução, use a função aguardar (ou algum nome semelhante, não me lembro ao certo agora) da biblioteca Util do Portugol Studio (você as encontra clicando em Bibliotecas na tela inicial do Portugol).
Você pode fazer um laço infinito que sempre repete a mesma operação. Ao final do laço, vc pergunta se o usuário quer continuar. Se a resposta for não, você "mata" o laço usando pare. Outra forma é definir uma variável como verdadeiro e colocá-la como condição do seu laço. Quando o usuário disser que não quer continuar, você atribui falso e seu laço vai parar.
Estou fazendo uma série resolvendo alguns algoritmos, lá você vai ver várias aplicações desses laços. São estruturas realmente fundamentais em programação.
Como eu faço pra criar um algoritmo em que ele analisa 3 alturas dadas e me diz qual delas tem determinada altura mínima? Preciso de um algoritmo assim utilizando repetição para uma atividade da faculdade. Pode me ajudar por favor?
Perdão, não vi o comentário a tempo. Caso mais alguém tenha a mesma dúvida no futuro e veja este comentário, basta colocar as alturas em um vetor e iterar 3 vezes, cada uma verificando se a altura atende ao mínimo. Aí dá pra armazenar em uma variável fora do laço o índice da que tem a altura mínima (se for uma regra que o máximo é um), ou em um outro vetor.
Essa sintaxe i++ é simplesmente um "syntactic sugar" (um termo em inglês que significa uma alternativa mais simples, mas que quer dizer a mesma coisa. Seria tipo usar "vc" em vez de "você"). No caso, as três linhas a seguir são equivalentes: i = i + 1 i += 1 i++ Quando você usa qualquer uma das duas formas de baixo, por baixo dos panos, isso será convertido para a primeira forma. Então o que você está fazendo é adicionar 1 ao valor que já existe naquela variável. Por exemplo, suponha que i seja: inteiro i = 12 Após fazer se eu digo que i = i + 1, i vai passar a valer 13. É o mesmo de dizer i++, quando o i também passa a valer 13. A mesma coisa vale pro i--, só que ao contrário (subtraindo em vez de somar).
alguém pode me ajudar a montar esse código não estou conseguindo resolver Considere o seguinte trecho de código na linguagem Portugol Studio e responda o que se pede.ind=3 cont10=0 contmaior=0 faca { leia(num; se (num > 1 && num < 10) cont10++ senao contmaior++ ind++; } enquanto (ind
Devo fazer um vídeo mais epistemológico sobre isso; mas, por agora, vou ser breve dizer: em vez do incremento (i++), use a função que precisar, por exemplo: i = i + 5 (incrementa cinco a cada iteração do laço).
não sei se é alguma atualização ou sla, mas esse comando de 'escreva(i+", ")' da erro (⛔ Tipos incompatíveis! Não é possível somar uma expressão do tipo 'inteiro' (1) à uma expressão do tipo 'cadeia' (", ").
@@programacaopopular tive que aprender na marra pq só estou vendo que responderam agr kkkk, mas obg só consegui descobrir sozinho por causa das aulas😁😁
Cara aula sensacional, so que voce esqueceu do faca{ //bloco de codigo}equanto(), acho importante pois diferente do enquanto. exemplo: enquanto(condicao){ // bloco de codigo } no enquanto, sera analisado se a condicao esta verdadeira, se sim executa o bloco de codigo, essa analise, eh feita antes da execucao do bloco de codigo, logo se ela for falsa o bloco nao sera executado, diferentemende do "faca enquanto": faca{ //bloco de codigo }equanto(condicao) que executa o bloco de codigo ao menos 1 vez antes de avaliar se a condicao eh verdadeira.
De fato. Havia um motivo, que eu não me lembro qual, para essa estrutura não aparecer aqui. Vou gravar um vídeo extra e colocar na playlist. Obrigado pelo toque!
No portugol studio on line essa foma de escreva( j + ", " ) não funcionou ! eu fiz somente escreva ( J ) e funcionou ,porem os números ficaram juntos !
Inicialize uma variável em zero, e comece a iterar de 1 a 100. A cada iteração, some 1 à variável. Ao final do laço, você terá o resultado. Claro que esse algoritmo poderá ser melhorado usando truques matemáticos (de O(n) para O(1)).
Na maioria dos casos, o loop vai ser interrompido quando a condição não for mais atendida. Porém, em alguns casos é útil parar antes (por exemplo, se não quiser que o loop dure mais que um determinado tempo). Nesse caso, você usa o comando pare.
Explicou em 15 minutos oque meu professor de programação não conseguiu explicar em 4 meses... Parabens !
😅😅😅
A senhora disse tudo! hahahaha
@@LW12386 e pq vc esta aq?
@@LW12386 Chegou o defensor de professor sem didática
volta a fazer video cara, sua didática é incrível!
Obrigado!! Tô planejando voltar muito em breve, já preparando o próximo vídeo por aqui.
Tamo de volta!!
minha faculdade faz videoaulas disso. Videoaulas de 50 minutos e que são extremamente lixosas em demonstrações. Parabéns! Além de poupar meu tempo, você demonstra a utilização de forma muito clara e efetiva.
Fico realmente muito feliz com o feedback, obrigado! Estou trabalhando em novos vídeos :)
Aprendi mais aqui do que na sala de info. ❤
Valeu 💜
Até que e enfim alguém definiu da melhor forma quando e como se aplica o enquanto e o para. Sensacional!!!
Tá me ajudando firme em lógica da programação
conteúdo sensacional mano, comecei do zero aqui e vendo seus vídeos já tô aprendendo dms, valeu
Porque não conheci seu canal antes.... muito satisfeito com essa série... REALMENTE APRENDENDO SOBRE LOGICA DE PROGRAMAÇÃO. OBRIGADO
Cara gostei muito de seus videos,você explica as coisas direitinho!
Obrigado! Em breve eu volto a postar mais vídeos =)
Força sempre!
Estava quebrando a cabeça com isso! Que explicação perfeita, obrigada!
Ótima explicação parabéns.
Você tem também a explicação da logica de laço tipo "taca enquanto"
Muito boas as aulas, amo demais suas aulas. Embora ter pouco tempo para as aulas aproveito muito tudo porque são muito enxuta e objetivo.
Muito obrigado por estar ajudando tantas pessoas, esotu no primeiro período de ADS e seus vídeos estão sendo de grande ajuda!
Mano sua explicação é melhor que o do meu professor , Parabéns !!
Parabéns pelo canal!
Tenho essa disciplina na faculdade e infelizmente o professor não tem a metade da didática.
Eu gosto do assunto mas com as aulas o desânimo já estava grande.
Ainda bem que encontrei o canal de vocês.
Fico muito feliz que esteja sendo útil pra você! Muito obrigado, abraço!
Melhor canal de aulas em portugol
Boa, finalmente encontrei um conteúdo de Portugol Studio atualizado para seguir. Agora posso estudar melhor! Espero que continue com os vídeos e com o canal por muito tempo. Abraço
Vamos continuar sim! Só preciso arranjar um tempo pra gravar rsrs
Força sempre!
bom dia tudo bem , sabe pode me ajudar por favor , veja Implementar o seguinte algoritmo utilizando o Portugol Studio:
A Mudança
Por Samuel Lucas Santos Gomes, IFSULDEMINAS
Júlio está criando um novo Smart Watch especialmente para programadores. É impressionante as vantagens que ele oferece e o conforto pra codar que ele tem. O relógio ainda está em desenvolvimento e ele prometeu consertar os bugs e colocar uns apetrechos melhores e, em troca, pediu um sistema simples para o modo Standy Bay. O problema é que o relógio por si só sempre tem o ângulo de inclinação do Sol/Lua(de 0 a 360). Valendo um relógio, caso deseja aceitar: dada em grau da inclinação do Sol/Lua, informe em qual período do dia ele se encontra.
Entrada
A entrada contém um número inteiro M (0 ≤ M ≤ 360) representando o grau do Sol/Lua. Como a posição muda constantemente seu programa receberá diversos casos a cada segundo(EOF).
Saída
Imprima uma saudação referente ao período do dia que ele se encontra: "Boa Tarde!!", "Boa Noite!!", "Bom Dia!!" e "De Madrugada!!".
Oi, quando eu assisti esta aula eu tinha 10 anos, voltei aqui com 12 anos para voltar a programar.
O que te levou a se interessar por programação?
@@alvarodinamo8397 o fato de que tudo que mexo no computador é feito de uma forma que nem ao menos sei como é, então quero aprender como é feito tudo que uso e criar novas ferramentas
Que legal, também comecei a me interessar aos 10. E peguei firme aos 12.
Ótimo vídeo, me ajudou muito... Achei essa parte mais difícil do que vetores kkkkkk
cara voce é um excelente professor. Parabens
Melhor aula que já vi, queria ver em linguagem c, do codeblocks, espero por isso ainda kkk
Muito obrigado, Felipe! Pode ser que no futuro tenha C sim. Estou planejando várias coisas...
Parabéns pelo conteúdo. Estou estudando para pegar o básico, pois pretendo entrar em um curso de programação.
simplesmente amei a aula, parabéns aos envolvido!
Produza um algoritmo que leia uma quantidade indeterminada de valores e para cada um deles apresente o seu fatorial. A entrada de dados deve ser encerrada quando for digitado um valor zero ou negativo.
Escreva um um algoritmo que leia uma quantidade indeterminada de valores. Se
o valor for par, apresente o seu quadrado. Se o valor for ímpar, apresente a raiz quandrada. A entrada deve ser encerrada quando for digitado um valor zero ou negativo.
Que isso, Animal demais, +1 inscrito e curtidor nas redes sociais, tamo junto!!!
obrigado professor realmente entendi com sua aula!!
Sem palavras para agradecer ^_^, muito TOP amigo. Assistindo em 2020
Lindíssimo. Continue com esses vídeos maravilhosos
kkkkkkkkk rapaz eu invertendo os códigos e fazendo experimento sem entender nada, entrou no loop e derrubou minha internet. , agr entendi a parada
Kkkkkkkkkkkkkkkkk!
Eu sempre 'danço' com essa musiquinha de abertura
Prefeito!Obrigada excelente explicação.
Muito legal esse canal! Tem me ajudado bastante. Parabéns!
Muito bom, está me salvando na faculdade kkkk
04:11 Não entendi a expressão da 7a linha:
escreva(i+", ")
O que significa o sinal '+' nessa expresão?
É o operador de concatenação, falei sobre ele no vídeo sobre entrada e saída se não me engano.
@@programacaopopular Tem a mesma função que a vírgula?
Não exatamente. "a"+"b" é equivalente a "ab". Enquanto escreva("a", "b") é equivalente a:
escreva("a")
escreva("b")
Veja que, no primeiro caso, eu primeiro crio a cadeia composta e depois imprimo apenas uma vez na tela o resultado da concatenação. Quando eu uso vírgula, eu não gero outra string antes de imprimir, mas imprimo duas vezes seguidas. O efeito final é o mesmo, mas é importante entender essa diferença. Deu pra entender?
Consegui entender sim. Obrigado.
é uma pena n entrar na minha cabeça, mas tu explica super bem
só falar a sua dúvida mano
É que vc não insistiu o suficiente. As vezes demora pra entender. A diversão é essa, é gastar tempo tentando entender kkkkkkkk, isso dá mó raiva.
que didática incrível
cara tu é foda
Continue
muito bom. aprendo bastante.
Didática incrível!
ótima aula, só faltou explicar o "do while"
Como que faz para fazer um somatório de 5 números escolhidos por um "usuário", utilizando o "para" como laço? fiz um esquema de comandos mais só pede para digitar um numero, e ele fica sendo o resultado do somatório.
Só assim pra mim aprender!
Bom demais o curso, continue o trabalho !! Uma pena que tenho uma prova sobre matriz e os ""sorts"" nessa semana e não ter material sobre no canal. Até o próximo vídeo.
Olá. A série ainda não terminou e, logo que eu puder, vou continuar o assunto, passando por vetores, matrizes e afins. :)
Força sempre!
O Canal esta de Parabéns!!!!
Muito obrigado pelo reconhecimento. Comentários assim incentivam a continuar o trabalho. Força sempre!
Ótimo vídeo, parabéns!
Oi, estou precisando de uma ajuda urgente e não sei se tem jeito de fazer no portugol. Há alguma maneira utilizando o laço de repetição "PARA" , para contar de 1 a 10 pulando de 2 em 2? Tentei manipular alguns comandos mais ainda não consegui.
Olá, é possível sim. Em vez do operador de incremento i++ (equivalente a i=i+1) voce pode usar uma expressão, no seu caso, i=i+2.
para(inteiro i = 1, i
@@programacaopopular muito obrigada, deu certo.
@@programacaopopular MUITO OBRIGADA!!! Eu estava com a mesma dúvida; e muitaaaa dificuldade para fazer! Está de um forma tão simples de entender que agora é até fácil! AGRADEÇOOO!
Muito bem explicado, obrigado!
só final que pecou ,,,,,mas aula é otima
Boa explicação...
Esperando por Matriz.
Boa noite, obrigado pelo elogio. =) Por enquanto, estou apertado no âmbito acadêmico e, daí, tempo pra produzir vídeo tá complicado. Como o fim do semestre se aproxima, logo retorno com o restante da série. :)
Força sempre!
entendo.
Se colocar + da erro, tem que ser virgula
Para quem não entendeu:
programa
{
/* HM Programming
* {Portugol Studio} #8 - Laços de Repetição
* @Guialpoim
*/
funcao inicio()
{
inteiro i=1
enquanto(i=0 ; j--){
escreva(j+", ")
}
escreva("
Fim do para")
}
}
bugs(extras):
programa
{
/* HM Programming
* {Portugol Studio} #8 - Laços de Repetição
* @Guialpoim
*/
funcao inicio()
{
enquanto(verdadeiro){
escreva("Eu te amo!")
limpa()
}
}
}
programa
{
/* HM Programming
* {Portugol Studio} #8 - Laços de Repetição
* @Guialpoim
*/
funcao inicio()
{
enquanto(verdadeiro){
escreva("Eu te amo!")
}
}
}
Muito boa essa videoaula!
Aulas maravilhosas mano, ta de parabéns.
Alguém pode me explicar uma coisa no 6:53. Foi dito que a variável i só tem valor no loop do enquanto e nao no programa todo, ai eu fiquei em duvida : se i está fora do enquanto, ele nao deveria valer para o programa todo? Alguem me explica por favor?
Olá, Gustavo. Foi um erro meu, um vício linguístico. O que quis dizer é que essa variável "não serve pra mais nada" no resto do programa, isto é, não foi utilizada novamente, sendo declarada apenas para aquele laço.
@@programacaopopular ah sim. muito obrigado cara vc é fera
Parabéns pelas aulas e pelo seu profissionalismo.
Agora eu tenho uma dúvida: Por que na maioria dos casos usamos a mesma sintaxe no Portugol on line e no software no PC e produz erros do tipo de incompatibilidade, etc. ? Cheguei a copiar e colar o exemplo dos laços e e gerou :"Tipos incompatíveis! Não é possível somar uma expressão do tipo 'inteiro' (1) à uma expressão do tipo 'cadeia' (", ")."
voces poderiam colocar um exemplo de um jogo de adivinhação? para termos uma noção de como criar um jogo
Olá, Débora. Poderia dar mais detalhes do que gostaria? Tentarei fazer um vídeo sobre.
Programação quebrada, Linguagem C é melhor, tentei programar sempre fica dando erro de compilação, na primeira linha sempre
Pode enviar o link completo do seu código? th-cam.com/video/3VHIZT42f9c/w-d-xo.html
Como faço para somar a variável inteira r(que é =2) de dois em dois, definindo a condição r
Leonardo Almeida Teodoro defina o valor inicial da variável r fora do laço. Dentro do laço some dois e escreva. A condição é a mesma que você mencionou.
programa
{
funcao inicio()
{
inteiro r=2
enquanto(r
Leonardo Almeida Teodoro observe que, após a impressão, você está incrementando a variável em apenas um (r++). Faça o seguinte:
inteiro r = 2
enquanto(r
Ahhh! obrigado professor! Então escrever r++ significa que o console somará 1 ao valor atribuído à essa variável e escrever r= r + 2 significa que o console somara de dois em dois? O mesmo vale para outras operações, se por exemplo, eu quiser montar uma pg, posso escrever r=r*2?
Leonardo Almeida Teodoro exatamente!
"r++" é um _apelido_ para "r = r + 1", que é idêntico a "r += 1". Qualquer outra soma precisa ser explícita, inclusive as progressões geométricas!
Qual a condição que eu teria que usar para somar todos os valores que você passou? Por exemplo de 0 a100? Usando o para
Você precisa inicializar a variável em 0, depois iterar até que ela seja 100. Consegue encontrar a condição pra esse caso?
Meu professor de Algoritmos passa Portugol mas se recusa a usar o Portugol Studio, aí tem umas diferenças de sintaxe. Então se você poder me ajudar com esse exercíciozinho, acho que vai aumentar minha expectativa de vida em 5 anos. Eu fico pensando nessa merda no chuveiro.
É só calcular ''1/1+1/2+1/3+1/4...+1/N'' e exibir na tela, onde N é fornecido pelo usuário. Mas o máximo que consegui fazer foi exbir a conta na tela sem executar com:
real N
escreva("Informe o valor de N.
")
leia(N)
para(real J = 1 ; J
Vê se é isso o que queria fazer:
programa
{
funcao inicio()
{
inteiro N
escreva("Informe o valor de N:
")
leia(N)
para (inteiro J = 1 ; J
Pode usar caractere ? Minha maior dúvida
Opa amigo, tenho uma dúvida, se criar uma tarefa que precisa ser executada várias vezes, como posso fazê-la parar com um comando no console do próprio Portugol?
Precisa criar uma função!
Boa tarde meu consagrado, teria algum vídeo sobre o "faça enquanto"? Adoraria entender melhor a diferença entre esses três. Muito bom o vídeo. Abraço.
O faça enquanto difere do enquanto porque, caso a condição do enquanto seja falsa, o código NÃO será executado. No faca enquanto, o código com certeza será executado ao menos uma vez.
De qualquer forma, verificar se não falei dessa estrutura e, caso não tenha, faço um vídeo extra.
@@programacaopopular Você não falou do faça enquanto. Eu nem sabia que existia esse 'faça enquanto'
Uma dúvida: em algum vídeo fala da SINTAXE?
Eu estava apanhando por tentar usar VÍRGULAS no laço PARA, e não entendia o que estava de errado.
Olhei até a ajuda (que não tem como aumentar a fonte) e demorei a acreditar que fosse isso (achei que usava direto vírgulas).
Abração
Olá, em cada vídeo eu mostro a sintaxe específica do que estou falando.
E se eu quiser colocar os numeros só que em ordem decrescente,como faço?
Use o laço para ao contrário:
para(inteiro i = 50 ; i>=0; i--){
escreva (i+", ")
}
Dessa forma, seu iterador começa valendo 50 e vai sendo decrementado enquanto for maior ou igual a zero.
2022 aqui.
Só pra eu entender; porque 6:40 o incremento foi declarado em outra linha
Nesse caso, era melhor usar o para (como eu fiz na sequência), mas existem situações em que o enquanto é melhor, por exemplo, quando você quer monitorar uma condição que não necessariamente é simples como no para.
Ótima aula!
Muito obrigado! Força sempre :)
Como faz um exemplo de REPITA com PARA no Portugol Studio??????????????
Meus parabéns.( Uma pequena sugestão.. )colocar mais conteúdo na sua pagina do Instagram, o Instagram é muito bom, porém é muito carente de paginas boas de programação, use a sua pra divulgar storys, e publicações interativas. Abraço, sucesso!
Obrigado! Vou tentar trabalhar nessa linha também.
7) Escreva um programa que leia do usuário um valor inteiro n maior que 1 e então imprima
na tela os n primeiros termos da série abaixo:
1, 4, 4, 2, 5, 5, 3, 6, 6, 4, 7, 7,...
alguem sabe resolver isso no portugol
meu professor passou isso de tarefa, tbm n sei resolver to com essa dúvida
No minuto 13:13 você disse: 'Aqui no portugol eu tenho a opção de clicar no 'x'. Na linguagem final, não.'
Que significa essa linguagem final que não dá pra clicar no x?
Pense num programa real que está rodando em sua máquina. Não existe uma opção simples pra fazer com que ele saia de um laço infinito. No Windows, você vai ver que a aplicação "Não está respondendo", e isso acontece quando há um laço infinito. Aí a opção é fechar pelo gerenciador de tarefas, pela linha de comando, ou aguardar o sistema detectar a anomalia e propor o encerramento do programa. Nenhuma dessas opções é tão simples ou adequada quanto clicar no botão X e interromper seu programa.
@@programacaopopular O word poderia ser um exemplo de aplicação em que aparece a mensagem: 'não está respondendo' ? Isso significa que houve algo lá no algoritmo que tá em laço infinito, ou nem sempre esse é o problema?
E caso eu encerre a aplicação no gerenciador de tarefas, se caso o problema fosse o laço infinito, fechar o programa pelo gerenciador de tarefas corrigiria esse laço infinito? Ou precisa de um programador pra ir lá corrigir isso?
@@programacaopopular você sabe dizer como o word foi construído? Que linguagens foram usadas pra fazer o word? Quantas linhas de códigos será que o word tem?
Se o while pode incorrer em loop infinito, é por isso que se usa o for pra alguns códigos? Por que ele é mais enxuto e tende a dar menos problemas? Desculpe a pergunta que pode ser idiota...
Isso! O for nada mais é do que um while com o contador e a condição de parada embutidos. Então é mais difícil cometer erros com ele (mas também é menos flexível).
ola tudo bem, eu estou precisando de uma ajuda aqui na minha lição, para mim validar essa informações e em caso de informação invalida, escreva na
tela uma mensagem informando ao usuário e solicite novo valor, isso eu nao sei fazer ainda( se quiser que eu mande a lição aqui eu mando mas nao precisa me dar a resposta, agradeço desde ja)
Porque se coloca um + ao invés da virgula? Eu testei dos dois jeitos, e quando coloco o + fica muito mais rápida a contagem.
O + usado com tipos não numéricos é um operador de concatenação, ou seja, ele acopla as duas cadeias. Dessa forma, o código a seguir:
*escreva("a"+"b")*
equivale a:
*escreva("ab")*
A vírgula, entretanto, inicia outro comando escreva, de modo que o comando a seguir:
*escreva ("a","b")*
na verdade equivale a:
*escreva("a")*
*escreva("b")*
Basicamente, como o uso da vírgula implica no uso de vários comandos, a concatenação acaba sendo muito mais rápida.
Entendi, muito obrigado! =D
Olá, tudo bem?
Consegue dar um help, meu código mostra esse erro:
Tipos incompatíveis! Não é possível somar uma expressão do tipo 'inteiro' (1) à uma expressão do tipo 'cadeia' (", ").
Eiii, tudo bem? Fiquei um tempo fora, mas tô de volta. Conseguiu resolver? Entra em contato comigo pra conversarmos ( hellmrf.dev.br/aulas )!
vindo aqui dá uma revisada rápida pra tentar resolver um código.
Estou tendo dificuldades com o "enquanto". Tenho uns exercícios que pedem pro usuário digitar n números e eu preciso mostrar os x maiores e os x menores com o enquanto, mas não estou conseguindo pensar em uma maneira de fazer isso. Alguém poderia me ajudar a pelo menos começar? Grato desde já.
Crie uma variável de controle, por exemplo, *a*. ENQUANTO ainda sobrarem números, verifique se o número digitado (digamos, *x*) é maior que *a*. Em caso afirmativo, atribua o valor de *x* para *a* (a = x). No fim do laço, você terá a garantia se que *a* é o maior valor de todos. Desenvolva essa ideia de lógica.
Explicou muito bem amigo, mas tem algo que vem quebrando minha cabeça que é saber se tem como colocar o msm tempo de 1 segundo normal do relogio de cada contagem de 1 numero. Se tiver como me ajudar, desde já agradeço! Abraços
Se você quer executar o laço com intervalo de um segundo entre cada execução, use a função aguardar (ou algum nome semelhante, não me lembro ao certo agora) da biblioteca Util do Portugol Studio (você as encontra clicando em Bibliotecas na tela inicial do Portugol).
Consegui, muito obrigado! Abraços
OIII, eu gostaria de saber como eu faço pra colocar a condição se o usuário quer continuar somando " sim ou não ".@HM Programming
Você pode fazer um laço infinito que sempre repete a mesma operação. Ao final do laço, vc pergunta se o usuário quer continuar. Se a resposta for não, você "mata" o laço usando pare. Outra forma é definir uma variável como verdadeiro e colocá-la como condição do seu laço. Quando o usuário disser que não quer continuar, você atribui falso e seu laço vai parar.
O que mais da para fazer com o laços de repetição?
Estou fazendo uma série resolvendo alguns algoritmos, lá você vai ver várias aplicações desses laços. São estruturas realmente fundamentais em programação.
Como eu faço pra criar um algoritmo em que ele analisa 3 alturas dadas e me diz qual delas tem determinada altura mínima? Preciso de um algoritmo assim utilizando repetição para uma atividade da faculdade. Pode me ajudar por favor?
Perdão, não vi o comentário a tempo. Caso mais alguém tenha a mesma dúvida no futuro e veja este comentário, basta colocar as alturas em um vetor e iterar 3 vezes, cada uma verificando se a altura atende ao mínimo. Aí dá pra armazenar em uma variável fora do laço o índice da que tem a altura mínima (se for uma regra que o máximo é um), ou em um outro vetor.
Obrigado!!!
Olá, preciso de um exemplo de FAÇA ENQUANTO
eu só queria entender melhor como funciona o encremento
Essa sintaxe i++ é simplesmente um "syntactic sugar" (um termo em inglês que significa uma alternativa mais simples, mas que quer dizer a mesma coisa. Seria tipo usar "vc" em vez de "você"). No caso, as três linhas a seguir são equivalentes:
i = i + 1
i += 1
i++
Quando você usa qualquer uma das duas formas de baixo, por baixo dos panos, isso será convertido para a primeira forma. Então o que você está fazendo é adicionar 1 ao valor que já existe naquela variável. Por exemplo, suponha que i seja:
inteiro i = 12
Após fazer se eu digo que i = i + 1, i vai passar a valer 13. É o mesmo de dizer i++, quando o i também passa a valer 13.
A mesma coisa vale pro i--, só que ao contrário (subtraindo em vez de somar).
alguém pode me ajudar a montar esse código não estou conseguindo resolver
Considere o seguinte trecho de código na linguagem Portugol Studio e responda o que se pede.ind=3
cont10=0
contmaior=0
faca
{ leia(num;
se (num > 1 && num < 10)
cont10++
senao
contmaior++
ind++;
}
enquanto (ind
Seria interessante esse teste em PHP. Aliás, vocês irão ensinar novas linguagens?
Sim! Comecei uma série de Python :)
@@programacaopopular cara, sinceramente, agradecimentos é muito raso pela ajuda que você(s) nos está dando. Muita prosperidade para você(s).
E se precisar colocar números de 5 em 5 em vés de contar de 1 em um?
Devo fazer um vídeo mais epistemológico sobre isso; mas, por agora, vou ser breve dizer: em vez do incremento (i++), use a função que precisar, por exemplo: i = i + 5 (incrementa cinco a cada iteração do laço).
continua ae pfv
não está dando certo pra mim, fala que não são compatíveis (cadeia e inteiro). :(
não sei se é alguma atualização ou sla, mas esse comando de 'escreva(i+", ")' da erro (⛔ Tipos incompatíveis! Não é possível somar uma expressão do tipo 'inteiro' (1) à uma expressão do tipo 'cadeia' (", ").
O operador de concatenação só funciona entre tipos cadeia. Nesse caso, deve-se usar escreva(i, ", ").
@@programacaopopular tive que aprender na marra pq só estou vendo que responderam agr kkkk, mas obg só consegui descobrir sozinho por causa das aulas😁😁
Cara aula sensacional, so que voce esqueceu do faca{ //bloco de codigo}equanto(), acho importante pois diferente do enquanto.
exemplo:
enquanto(condicao){
// bloco de codigo
}
no enquanto, sera analisado se a condicao esta verdadeira, se sim executa o bloco de codigo, essa analise, eh feita antes da execucao do bloco de codigo, logo se ela for falsa o bloco nao sera executado, diferentemende do "faca enquanto":
faca{
//bloco de codigo
}equanto(condicao)
que executa o bloco de codigo ao menos 1 vez antes de avaliar se a condicao eh verdadeira.
De fato. Havia um motivo, que eu não me lembro qual, para essa estrutura não aparecer aqui. Vou gravar um vídeo extra e colocar na playlist. Obrigado pelo toque!
você é fera
como eu faço pro contador receber de 2 em 2 de vez de 1 em 1 com a expressão c++ ?
Em vez de i++, coloque i+2, ou a operação que preferir.
Ensina a fazer uma atividade de repetição
Este vídeo tem um exemplo, mas se tiver outra atividade em mente, envie pra gente pelo facebook ou pelo email contatohmprog@gmail.com . Obrigado!
mas tipo eu tenho que escrever a linhas, b
por exemplo
a = 7
b = 2
escreva a linhas, b
2
2
2
2
2
2
2
escrevi 7 vezes como posso fazer a programação
Olá, não entendi muito bem. Poderia entrar em contato via email (contatohmprog@gmail.com) ou facebook?
No portugol studio on line essa foma de escreva( j + ", " ) não funcionou ! eu fiz somente escreva ( J ) e funcionou ,porem os números ficaram juntos !
Tenta escreva(j, ", ")
Nessa parte aqui:
escreva(i+", ")
que significa esse + após o i ?
É um operador de concatenação. i deve ser do tipo cadeia, e aí ele vai juntar as duas cadeias em uma só.
@@programacaopopular mas no vídeo o i está do tipo inteiro.
como eu faria para soma todos esse numeros tipo o 1+2+3 ...100 (fazendo oque tu fez ai)
Inicialize uma variável em zero, e comece a iterar de 1 a 100. A cada iteração, some 1 à variável. Ao final do laço, você terá o resultado. Claro que esse algoritmo poderá ser melhorado usando truques matemáticos (de O(n) para O(1)).
2021, alguém? 😅😅
Como paro o loop?
Na maioria dos casos, o loop vai ser interrompido quando a condição não for mais atendida. Porém, em alguns casos é útil parar antes (por exemplo, se não quiser que o loop dure mais que um determinado tempo). Nesse caso, você usa o comando pare.