Será que esse cara tem noção do quanto está ajudando as pessoas que estão começando na área de TI?... BRIGADO SEU LINDO!obs: você é um dos motivos de não me fazer desistir da programação hehe.. sempre achei meio difícil, mas você é um educador nato! CONTINUE!!
Exatamente, quebrei muito a cabeça para fazer a inversão de uma lista de nomes no Portugol, aí vem um professor com um vídeo de 7 anos atrás e de forma simples e didática resolve o caso, olha só, nenhuma outra explicação na internet, nenhuma mesmo, não estou falando meia explicação, é que não existe mesmo. Muito obrigada, Programação Popular, você é The Best.
Estou assistindo à esta aula no dia da minha prova, e aprendi tudo o que não consegui o semestre todo em sala. Parabens e obrigado pela aula, professor!
Nossa que da hora! Geralmente outros professores ensinam para quem já tem alguma experiência ou conhece termos técnicos, mas você não. Você ensina do zero mesmo! Estava lendo os ebooks da faculdade e me parece grego, mas sua explicação da clareza ao estudo. Pra quem e totalmente leigo ama tecnologia mas tem maus educadores esse vídeo e ótimo para leigos.
Cara muito top deu para compreender e entender como funciona as matrizes voce está de parabéns pela sua iniciativa e dedicação em tirar dúvidas fique com Deus
Muito bom, vc tem sido meu companheiro de todas madrugadas... no mundo atual é mais fácil encontrar quem te prejudique ou deseje q vc se ferre do q quem te ajude!!!
Parabéns pela didática, um ser humano com muita empatia e que incentiva a quem como eu tem curiosidade em aprender. Sua forma de ensinar, mostra que realmente ama o que faz, Parabéns
Dando meus primeiros passos na área, fazendo curso técnico. Espero que meus planos dêem certo: fundir minha carreira atual com a de T.I. A sua parte nisto tudo é ser um grande apoio pedagógico justamente no "beabá" da lógica de programação. Grande abraço e obrigado!!
Sem dúvida, encontrei nos vídeos desse canal as melhores explicações possíveis com didática praticamente impecável e vontade de ensinar! Muito obrigada!
Vc explica com uma perfeição de detalhes e exemplo sensacionais. Vc usa gêneros neutros, tem vídeos com fora temer, eu não consigo achar defeitos, muito obrigada pelos videos maravilhosos
@@dougl4s263 não existe para preconceituosos, de fato. Mas ai seu caráter é outra história. Aqui fiz um elogio ao excelente professor e pessoa que fez esse vídeo.
@@dougl4s263 apoio não tem acento. Não estamos falando de uma linguagem inventada por garotas de 14 anos de idade. Na verdade o primeiro idioma que incluiu pronome neutro foi o Sueco. E não, não foram as garotas suecas do twitter que o fizeram. Estamos falando de uma proposta de mudança de linguagem que que seja diversa e consciente. Como vc parece não ter muito embasamento teórico sobre o assunto, recomendo que pesquise e aprenda sobre. Vale a pena.
Olá, Estela. Fico extremamente grato pelo elogio, e peço perdão por não ter visto o comentário antes (não sei o que aconteceu, agora descobri vários comentários da mesma época que não havia lido). Muito obrigado por acompanhar, abraço!
@@dougl4s263, o interesse por linguagens de programação não está (de maneira alguma) desconectado do interesse por linguística (veja o grande linguista Noam Chomsky que embasa a teoria de linguagens de programação e de compiladores, por exemplo). Nós entendemos que a língua é inerentemente viva por ser uma manifestação de uma cultura social igualmente viva. O argumento de que a prova do Enem não aceita uma nova sintaxe não é válido porque palavras como facto perderam o c (tornando-se fato), verbos como pisar tornaram-se transitivos indiretos (de pisar o chão para pisar no chão), o termo em inglês layout originou um novo anglicismo leiaute, dentre outras alterações. Da mesma forma que código na última versão de uma linguagem pode lançar erro em versões anteriores (tente concatenar dicionários com | em Python 3.7 e em Python 3.9), a língua também se altera. Tanto quanto acredito que o signo linguístico é arbitrário (como concordaria Ferdinand de Saussure), penso que essas alterações que ocorrem ao longo do tempo são fundamentais para a manutenção dos recursos importantes da mesma e do abandono de reflexos de sociedades menos evoluídas. A semelhança com a teoria da evolução de Darwin não surge aqui por acaso: a genética está para os sistemas biológicos como a memética (termo cunhado pelo escritor e biólogo inglês Richard Dawkins) está para a sociedade. Um exemplo muito claro disso está no esforço que se tem feito para o abandono do signo "denegrir" quando este carrega o mesmo significado de "depreciar". Semelhante esforço tem sido feito para incluir igualitariamente todos os gêneros em um mesmo vocativo, para que possamos nos desvencilhar, ao menos linguisticamente, da superioridade histórica do gênero masculino. Ademais, gostaria de pedir que não compartilhasse, aqui, links que não estão relacionados diretamente à Ciência da Computação e suas tecnologias.
Adoreii, muuuito obrigada!! Um excelente profissional, está ajudando bastante os iniciantes de TI, inclusive eu. Seu canal merece muito mais atenção das pessoas!!
É fácil sim, só depois de treinar bastante é que fica fácil. Era pra eu estar aprendendo C++ ao mesmo tempo, mas meu tempo tá cheio então eu vou focar no portugol pra pegar a base pra poder desenrolar nas outras linguagens que eu for aprender.
Concordo! A prática torna as ideias de programação naturais. Como o Portugol tem uma sintaxe "C-like", aprender C++ depois vai ser um pouco mais fácil, porque a maioria das ideias permanecem.
Muito obrigado pela consideração, comentários assim incentivam a continuar o trabalho! O roteiro do vídeo de Matriz já está pronto, _só_ falta editar. Deve sair em pouco tempo.
Já começo dando os parabéns pelas aulas professor!! Muito obrigado de verdade, estou fazendo um curso no senai em programação em java, primeira matéria é 40 horas de lógica de programação no portugol... mas eu não estou conseguindo acompanhar a didática do professor de lá fora que é tudo muiro corrido. Um dia você vê vetor no outro já é matrizes e tipo não dá nem um ar para respirar. Só poderia me tirar uma dúvida? No minuto 23:45 que você quer que apareça a primeira opção sendo 1 em vez de 0 qual é a lógica?? Se podesse me explixar iria ajudar muito!! Agradeço desde já e abraços
esses videos estao me salvando, nao consigo entender da forma que meu professor explica, mas aqui com sua explicaçao e pratica eu consegui entender, mt obrg
Um ponto que não sei se ficou claro: os vetores podem ter apenas um tipo, mas esse tipo é escolhido por você. A questão é que você não pode alterá-lo depois, nem incluir dados de outros tipos.
Olá, @@evandrocelso3290 . Não sei se entendi bem, mas você não pode inserir inteiros dentro de um vetor do tipo cadeia. Terá que transformá-lo em uma cadeia antes (por exemplo, transformar 2020 em "2020").
Estou com dúvida, você poderia explicar a função desses sinais de mais(+) nestas linhas de código de acordo com o que foi exposto na vídeo aula: escreva("Digite a posição "+i+": ") escreva(i+": "+nome[i]+" | ")
Nesse caso, o + é o operador de concatenação, que junta as duas variáveis em uma cadeia maior. Falei sobre isso no vídeo sobre operadores aritméticos, se quiser dar uma olhada.
sou iniciante em Php, mas consegui fazer meus primeiros cruds, porém ao colocar dentro de um projeto que quero fazer no meu trabalho não consegui realizar update corretamente, exemplo dentro formulário o update esta dentro de um input e quando faço um editar ok funciona, no meu formulário eu tenho campos como select(option) e também tenho campos com textarea, para estes casos ao editar o valor vem em branco, se eu altero um campo que tem input e edito novamente este campos que mencionei vão em branco (para o banco de dados ) ou eu tenho que editar novamente a mesma coisa de antes pq não trouxe os dados ... rsrs desculpa o texto longo não sei se para estes tipos de campos da para editar
Professor, e se eu quiser que o tamanho do vetor seja definido pelo usuário. Tem como? Eu quero calcular a média de idade de uma família qualquer, e queria que o usuário me dissesse quantos membros tem na família dele, e daí criar um vetor com esse valor pra somar e calcular a média. Tem como? Não achei em lugar nenhum. Obrigado desde já! O código é esse, se precisar ver: programa { funcao inicio() { inteiro pessoas, i, idade[pessoas] real soma = 0.0, media escreva("Vamos calcular a média da idade da sua família. ") escreva("Quantas pessoas tem na sua família? ") leia(pessoas) para(i = 0; i
Infelizmente, no Portugol é impossível criar um vetor de tamanho definido pelo usuário. Você pode passar apenas um número ou uma constante como tamanho. A solução geralmente é alocar uma quantidade maior e, simplesmente, ignorar os campos gerados a mais. Por exemplo, crie um vetor de 50 posições e acesse apenas até a posição `pessoas`. Outra dica: em vez de `
@@programacaopopular Ah, sim! Faz sentido! Obrigado pela resposta e obrigado pela dica. Acabei de entrar na faculdade e isso já é pra um trabalho. Com certeza vou voltar com outras dúvidas, haha. Obrigado mesmo. Um abraço =D
Excelente aula, se possível, gostaria de saber como faço para ler uma string e guardar cada caracter em uma posição de um vetor ? Por exemplo, escreva ("Qual seu nome? ") e ler cada letra do nome digitado como uma posição do vetor. Obrigado
Então quando a gente tem uma variável 'normal' seria como se ela fosse uma gaveta onde só dá pra colocar um livro, por exemplo. Quando a gente transforma essa variável num vetor, ela se torna uma daquelas gavetas de arquivos, capaz de guardar vários documentos de uma vez. Seria isso?
A parte que fala sobre paises e seus idiomas. Vi que as unicas variaveis declaradas havia sido os idiomas porém, o nome dos países não. Estes estavam escritos entre parenteses em "escreva" como foi possivel aparecer o nome do países sem ter sido declarado seus nomes no inicio? A única parte que nao entendi
Olá. Ao declarar vetores, os valores são ordenados pelo índice numérico. O primeiro valor ("Japonês") tem índice 0. Quando o usuário digita "0", eu simplesmente acesso a posição 0 do vetor idiomas e obtenho Japonês.
Muito obrigado pela sugestão! Eu acho uma ótima ideia fazer uma série de C/C++, já que muitas universidades e faculdades usam essas linguagens nos cursos introdutórios. Também da espaço para falar sobre memória, que é importantíssimo. Vou providenciar!
Só me tira uma dúvida,qual a relação dos idiomas dentro do vetor,com os paises no escreva,pra você colocar uma opção numeral e bater certinho o país com o idioma?
15:48 eu fiz mas usando o "enquanto", porém, o programa ficou escrevendo os nomes infinitamente. Não sei como fazer para parar no final, depois de escrever nome. cadeia nome[5]={"Marcelo", "Tiago", "Juliana", "Priscila","Mauricio"} enquanto(nome !="Mauricio"){ escreva(nome," ")
Neste código, a onde especificamente está o laço? acho que é laço de repetição, ou tudo isso junto ai é o laço? Se não for, eu gostaria de saber especificamente onde se localiza o laço dentro deste código escreva nome [5] = {"Karran", "Bianca", "Zir", "Dolores" "kabala"} para(inteiro i = 0; i
Existem vários algoritmos possíveis, uns mais eficientes, outros nem tanto. A forma mais simples (e menos eficiente) é, pra cada posição, verificar se aquele elemento existe antes no array, então são dois laços, o primeiro i de 0 a N-1 e o segundo de 0 a i-1. O algoritmo é O(N²) nesse caso (ruim, mas funcional). Mas existem formas mais eficientes com estruturas de dados como hashmaps e etc. Deu pra pegar a ideia?
Com == mesmo. A comparação será feita caractere a caractere, semelhante ao strcmp do C. Então "hello" == "hello" avalia para verdadeiro, enquanto "hello" == "Hello" avalia para falso (porque 'H' é diferente de 'h').
Eu não quero que quando o usuário for escolher um número, não quero que comece em zero e sim em 1. Como faz pra que comece em 1 e não em zero? Se eu tiver uma lista de 4 países e eu quero que ele escolha entre 1 e 4, como faço? eu coloco: escreva(idiomas[pais-1]) ??
Não é que "só funciona" assim. É que quis adicionar quebras de linha ao final de cada nome pra mostrar um por linha. Poderia adicionar só uma vírgula e um espaço, ou nem adicionar nada (aí neste último caso teria algo do tipo RobertaCarlosMarianaRenata).
Olá, Marcelo. O Portugol Studio não tem nenhuma forma de fazer isso. Ele apenas permite criar um vetor atribuindo um tamanho através de um valor ou de uma constante. Nem valores, nem constantes permitem informações vindas do usuário.
Infelizmente, no Portugol Studio todos os vetores são de tamanho fixo, o que significa que é impossível declarar um vetor com um tamanho definido em tempo de execução (de uma variável, por exemplo). A solução pra contornar isso pode ser, por exemplo, declarar um vetor com um tamanho maior do que o necessário, e que dificilmente será atingido, e então ignorar intencionalmente a parte do vetor que excede o tamanho necessário. Aqui um exemplo mínimo que que preparei para dar uma melhor noção do que estou dizendo: gist.github.com/hellmrf/4d8d6869f172a55a3ce2e4f91c7fd3a9
Na prática, tanto faz; mas o "+" concatena as string e, depois, exibe na tela. A vírgula executa o comando escreva diversas, uma pra cada parâmetro (os parâmetros são divididos por vírgula).
como faço para criar uma variavel armazenadora , por exemplo quis criar um programa onde na escola a professora iria declarar a quantidade de alunos e pela quantidade ela iria conseguir colocar os nomes, ou seja, se fosse 3 alunos seria 3 nomes, veja o codigo: inteiro qnt escreva("Quantos alunos há na sala ") leia(qnt) limpa() escreva("Qual o nome dos alunos ") para(qnt;qnt>0;qnt--){ inteiro nome[] leia(nome[qnt]) limpa() } escreva(nome[qnt]) me ajuda nessa pf
alguem pode me dizer se tem como eu fazer com que o usuário escolha a quantidade que um vetor armazene? Por exemplo, ao invés de "nome[5]" ---- "nome[quantidadeQueOUsuarioEscolheu"?
Não, porque os vetores são de tamanho fixo no Portugol (como são em C, por exemplo). Você pode predefinir o vetor com um número grande de valores e armazenar quantos valores estão sendo usados. Aí você lê até onde sabe que tem valor. Isso é meio que uma forma de "burlar" essa limitação, mas não vai funcionar sempre e custa memória.
Olá Boa Tarde alguém poderia me ajudar, nunca consegui entender Porque o limpa no final da estritura de repitição quando esta recebendo valores do usuario, eu uso mas não sei o motivo
É para limpar a tela. Não afeta em nada seu programa, só serve pra esconder as informações da execução anterior, pra não confundir o usuário (e pra não ficar feio e bagunçado também). Mas se não usar não vai ter diferença prática no resultado do programa.
Olá, Diego, a divisão vetorial não é definida matematicamente, então não é mesmo possível (a menos que você defina a operação). A questão aqui é que os índices do vetor é que começam em zero, não necessariamente seus valores. Na matemática, costumamos utilizar a notação (x₁, x₂, ..., xₙ) para definir elementos gerais de um vetor (x⃗ ∈ ℝⁿ, neste caso). A única diferença é que, em muitas linguagens de programação, o primeiro índice é o zero, então definiríamos o mesmo vetor como {x₀, x₁, ..., xₙ₋₁}. Colocando em números, isso significa que quando declaramos um vetor inteiro a[] = {1, 2, 3, 5, 8, 13} por exemplo, 13 é o elemento de índice 5 (a[5] == 13), porque o 1 na verdade é o elemento de índice zero (a[0] == 1). Voltando à questão da divisão. Se quisermos *definir* uma operação de divisão vetorial como a⃗ ⊘ b⃗ ≡ (a₁/b₁, a₂/b₂, ..., aₙ/bₙ), isto é, dividir os dois vetores significa dividir os elementos correspondentes (como é a soma vetorial), podemos programar c⃗ = a⃗ ⊘ b⃗ = (2, 4) ⊘ (2, 2), como exemplo. Então teríamos, em Portugol, o seguinte laço: inteiro a[] = {2, 4} inteiro b[] = {2, 2} inteiro c[2] para(inteiro i = 0; i < 2; i++) { c[i] = a[i]/b[i] } E isso resultaria no vetor (1,2) que esperamos (observe os valores de i).
Será que esse cara tem noção do quanto está ajudando as pessoas que estão começando na área de TI?... BRIGADO SEU LINDO!obs: você é um dos motivos de não me fazer desistir da programação hehe.. sempre achei meio difícil, mas você é um educador nato! CONTINUE!!
@Natan dificuldade em linguagem c? Java? Javascript? por causa de qual linguagem você quis desistir ?
seu lindo?
Poxa, Alex, deixa eu ser lindo 🥺. Brigado, Natan 🥰
vc sabe que o professor é bom quando em um video que ele fez a 6 anos atras consegue explicar melhor que meus professores de hoje em dia
Exatamente, quebrei muito a cabeça para fazer a inversão de uma lista de nomes no Portugol, aí vem um professor com um vídeo de 7 anos atrás e de forma simples e didática resolve o caso, olha só, nenhuma outra explicação na internet, nenhuma mesmo, não estou falando meia explicação, é que não existe mesmo. Muito obrigada, Programação Popular, você é The Best.
Estou assistindo à esta aula no dia da minha prova, e aprendi tudo o que não consegui o semestre todo em sala. Parabens e obrigado pela aula, professor!
Fico feliz com o feedback, e, como sua prova já passou, espero que vá bem nas próximas!
Estou a fazer o mesmo! xD
Nossa que da hora! Geralmente outros professores ensinam para quem já tem alguma experiência ou conhece termos técnicos, mas você não. Você ensina do zero mesmo! Estava lendo os ebooks da faculdade e me parece grego, mas sua explicação da clareza ao estudo. Pra quem e totalmente leigo ama tecnologia mas tem maus educadores esse vídeo e ótimo para leigos.
Sim exatamente, tô fazendo Ciência da Computação e tô pra endoidar em Algoritmo😢
Cara você muito humilde disponibilizando esse conteúdos gratuitamente.
Cara muito top deu para compreender e entender como funciona as matrizes voce está de parabéns pela sua iniciativa e dedicação em tirar dúvidas fique com Deus
Perfeitamente didático, vc seria um ótimo professor!
este professor é simplesmente o melhor!! Consegui aprender mais do que durante o semestre inteiro de faculdade. Parabens professor.
Muito obrigado, Marllon! Fico muito feliz em poder ajudar.
Muito bom, vc tem sido meu companheiro de todas madrugadas... no mundo atual é mais fácil encontrar quem te prejudique ou deseje q vc se ferre do q quem te ajude!!!
Muito bom cara,video super explicado,cada detalhe,cada limitação.Muito melhor que o professor da faculdade.
Cara é tão gratificante realmente entender, muito obrigado.
Preciso mto do vídeo de Matriz
Parabéns, o YT precisa de mais professores como vc, ensina mto bem
Extremamente grato pela consideração. O vídeo sobre Matriz está sendo preparado, não deve demorar muito.
Parabéns pela didática, um ser humano com muita empatia e que incentiva a quem como eu tem curiosidade em aprender. Sua forma de ensinar, mostra que realmente ama o que faz, Parabéns
Eu olhei a videoaula, entendi um pouco sobre vetores e vou fazer uma prova codando em Portugol
Que aula maravilhosa. Parabéns!
Valeu! Não deixa de inscrever no canal 💜
Dando meus primeiros passos na área, fazendo curso técnico. Espero que meus planos dêem certo: fundir minha carreira atual com a de T.I. A sua parte nisto tudo é ser um grande apoio pedagógico justamente no "beabá" da lógica de programação. Grande abraço e obrigado!!
Eu estudo Química Computacional, então sei bem como é "fundir" a área com a TI rsrs. Valeu pelas palavras!
Estou no primeiro ano do IF e essas aulas estão perfeitas 😍
Sem dúvida, encontrei nos vídeos desse canal as melhores explicações possíveis com didática praticamente impecável e vontade de ensinar! Muito obrigada!
meu professor estava ensinando sobre vetores e a quase ninguém entendeu, seu vídeo esta bem explicativo, entendi tudo!!
Caramba!! Você me tirou muita dúvida que meu professor nao soube explicar muito bem! Muito obrigado!!
Em 2020: Parabéns, finalmente entendi Vetores. Excelente didática. Aguardando novos cursos!!
Fico feliz! Novos vídeos virão (aceito sugestões).
Vc explica com uma perfeição de detalhes e exemplo sensacionais. Vc usa gêneros neutros, tem vídeos com fora temer, eu não consigo achar defeitos, muito obrigada pelos videos maravilhosos
@@dougl4s263 não existe para preconceituosos, de fato. Mas ai seu caráter é outra história. Aqui fiz um elogio ao excelente professor e pessoa que fez esse vídeo.
@@dougl4s263 apoio não tem acento. Não estamos falando de uma linguagem inventada por garotas de 14 anos de idade. Na verdade o primeiro idioma que incluiu pronome neutro foi o Sueco. E não, não foram as garotas suecas do twitter que o fizeram. Estamos falando de uma proposta de mudança de linguagem que que seja diversa e consciente. Como vc parece não ter muito embasamento teórico sobre o assunto, recomendo que pesquise e aprenda sobre. Vale a pena.
Olá, Estela. Fico extremamente grato pelo elogio, e peço perdão por não ter visto o comentário antes (não sei o que aconteceu, agora descobri vários comentários da mesma época que não havia lido). Muito obrigado por acompanhar, abraço!
@@dougl4s263, o interesse por linguagens de programação não está (de maneira alguma) desconectado do interesse por linguística (veja o grande linguista Noam Chomsky que embasa a teoria de linguagens de programação e de compiladores, por exemplo). Nós entendemos que a língua é inerentemente viva por ser uma manifestação de uma cultura social igualmente viva. O argumento de que a prova do Enem não aceita uma nova sintaxe não é válido porque palavras como facto perderam o c (tornando-se fato), verbos como pisar tornaram-se transitivos indiretos (de pisar o chão para pisar no chão), o termo em inglês layout originou um novo anglicismo leiaute, dentre outras alterações. Da mesma forma que código na última versão de uma linguagem pode lançar erro em versões anteriores (tente concatenar dicionários com | em Python 3.7 e em Python 3.9), a língua também se altera.
Tanto quanto acredito que o signo linguístico é arbitrário (como concordaria Ferdinand de Saussure), penso que essas alterações que ocorrem ao longo do tempo são fundamentais para a manutenção dos recursos importantes da mesma e do abandono de reflexos de sociedades menos evoluídas. A semelhança com a teoria da evolução de Darwin não surge aqui por acaso: a genética está para os sistemas biológicos como a memética (termo cunhado pelo escritor e biólogo inglês Richard Dawkins) está para a sociedade. Um exemplo muito claro disso está no esforço que se tem feito para o abandono do signo "denegrir" quando este carrega o mesmo significado de "depreciar". Semelhante esforço tem sido feito para incluir igualitariamente todos os gêneros em um mesmo vocativo, para que possamos nos desvencilhar, ao menos linguisticamente, da superioridade histórica do gênero masculino.
Ademais, gostaria de pedir que não compartilhasse, aqui, links que não estão relacionados diretamente à Ciência da Computação e suas tecnologias.
Adoreii, muuuito obrigada!! Um excelente profissional, está ajudando bastante os iniciantes de TI, inclusive eu. Seu canal merece muito mais atenção das pessoas!!
Excelente didática, intuitivo, simples e objetivo! Obrigado por proporcionar o conteúdo com tanta qualidade!
Que sensacional essa aula e que didática incrivel p ensinar!
Vocês são ótimos aprendi muito sobre vetores. Minha dificuldade era enorme mias conseguir deixa - lá de lado.. PARABÉNS vocês merecem
Fico feliz que tenha sido útil para você, Ellem! Superar as dificuldades sempre é motivo de comemoração 🥳
Simplesmente, incrível cara!
Procurei conteúdo sobre Resgistro aqui e não encontrei. Como declaro Registro em Portugol?
É fácil sim, só depois de treinar bastante é que fica fácil. Era pra eu estar aprendendo C++ ao mesmo tempo, mas meu tempo tá cheio então eu vou focar no portugol pra pegar a base pra poder desenrolar nas outras linguagens que eu for aprender.
Concordo! A prática torna as ideias de programação naturais. Como o Portugol tem uma sintaxe "C-like", aprender C++ depois vai ser um pouco mais fácil, porque a maioria das ideias permanecem.
@@programacaopopular O que é 'C-like'?
@@alvarodinamo8397 é semelhante às linguagens C, C+, C++ e C#
Excelente video
Parabéns pela aula . Você é um ótimo professor!
Cara, didática excelente, parabéns pelo trabalho.
Mais um inscrito!!
Precisando muito do vídeo de matriz, só consigo entender com a tua explicação. NOTA 10
Muito obrigado pela consideração, comentários assim incentivam a continuar o trabalho! O roteiro do vídeo de Matriz já está pronto, _só_ falta editar. Deve sair em pouco tempo.
Por favor, o vídeo de Matriz!! O ensino está sendo impecável!
Gratidão! Estou trabalhando hoje no vídeo de Matrizes, que deve sair ainda esta semana. Força sempre.
A sua aula ajudou me bastante
Mano parabéns, explicou muito bem. Entendi direitinho!
Cara, isso aqui vale ouro...Muito obrigado pelas aulas.
Que dicção maravilhosa a sua amigo! Show de bola a explicação.
Obrigado!! Algumas horas de gravação valem a pena kkkk
Faço desenvolvimento de sistemas, slk, tá ajudando dms
Didática incrível, muito obrigado pelo conteúdo e os ensinamentos ❤
Já começo dando os parabéns pelas aulas professor!! Muito obrigado de verdade, estou fazendo um curso no senai em programação em java, primeira matéria é 40 horas de lógica de programação no portugol... mas eu não estou conseguindo acompanhar a didática do professor de lá fora que é tudo muiro corrido. Um dia você vê vetor no outro já é matrizes e tipo não dá nem um ar para respirar. Só poderia me tirar uma dúvida? No minuto 23:45 que você quer que apareça a primeira opção sendo 1 em vez de 0 qual é a lógica?? Se podesse me explixar iria ajudar muito!! Agradeço desde já e abraços
MANO, OBIRGADO.. EU TO INDO POR AGUA A BAIXO EM ALGORITMOS NA FACULDADE, E TEU VIDEO ME AJUDOU MUITO, ADMIRO TUA EXPLICAÇÃO E TEU TRABALHO(sorry caps)
Olá, fico extremamente feliz por poder te ajudar! Compartilhe com seus amigos, talvez eles gostem :)
esses videos estao me salvando, nao consigo entender da forma que meu professor explica, mas aqui com sua explicaçao e pratica eu consegui entender, mt obrg
Olá, fico extremamente feliz de poder te ajudar!
@@programacaopopular MT obrg! :D
Cara eu te amo. Gratidão de mais.
Espetáculo de aula parabéns...
exercicios pra ajuda a fixa o que a gente ta estudando
Um ponto que não sei se ficou claro: os vetores podem ter apenas um tipo, mas esse tipo é escolhido por você. A questão é que você não pode alterá-lo depois, nem incluir dados de outros tipos.
A dúvida é como inserir um inteiro dentro de um dos dados de um cadeia (vetor) sem que seja digitado pelo usuário.
Olá, @@evandrocelso3290 . Não sei se entendi bem, mas você não pode inserir inteiros dentro de um vetor do tipo cadeia. Terá que transformá-lo em uma cadeia antes (por exemplo, transformar 2020 em "2020").
Parabéns pelo conteúdo cara! Estava com dificuldades em um bootcamp que estou fazendo … esse vídeo salvou!! Continue assim
Olá professor, Muito Obrigado pelo conteúdo!
Que didática ! muito bom ! cara isso é um dom divino , parabéns
Tava exatamente com essa duvida sobre como armazenar nomes e dados desse jeito.
Muito obrigado professor !!!!!
aprendendo tudo que não aprendi no semestre
Obrigado prlo material!🙌🙏
Estou com dúvida, você poderia explicar a função desses sinais de mais(+) nestas linhas de código de acordo com o que foi exposto na vídeo aula:
escreva("Digite a posição "+i+": ")
escreva(i+": "+nome[i]+" | ")
Nesse caso, o + é o operador de concatenação, que junta as duas variáveis em uma cadeia maior. Falei sobre isso no vídeo sobre operadores aritméticos, se quiser dar uma olhada.
Agradeço pelos videos, muito bom mesmo parabéns, Aguardando matrizes.
Grato pelo reconhecimento. Estou, agora mesmo, editando o vídeo de Matriz, que não deve demorar muito pra sair. Força sempre!
Extraordinário! Obrigado.
seus vídeos são excelentes e estão me ajudando muito, por favor faça videos sobre PHP
Olá, claro! O que você deseja saber sobre PHP?
sou iniciante em Php, mas consegui fazer meus primeiros cruds, porém ao colocar dentro de um projeto que quero fazer no meu trabalho não consegui realizar update corretamente, exemplo dentro formulário o update esta dentro de um input e quando faço um editar ok funciona, no meu formulário eu tenho campos como select(option) e também tenho campos com textarea, para estes casos ao editar o valor vem em branco, se eu altero um campo que tem input e edito novamente este campos que mencionei vão em branco (para o banco de dados ) ou eu tenho que editar novamente a mesma coisa de antes pq não trouxe os dados ... rsrs desculpa o texto longo não sei se para estes tipos de campos da para editar
Certo, vou planejar uma série desenvolvendo um crud simples em PHP!
Se puder enviar seu código via pastebin ou zip (por email), posso enfatizar o que você errou pra que as outras pessoas não cometam o mesmo erro.
@@programacaopopular O que é crud?
Canal excelente!
ótima explicação estamos na espera para o vídeo de matriz
ps: com certeza vou recomendar seus videos ótimo trabalho
Olá, muito obrigado pelo reconhecimento. Devo gravar os novos vídeos no decorrer desta e da próxima semana. Abraço e força sempre!
Muito bom seus videos, tornou meu aprendizado bem mais fácil. Continue fazendo videos. :)
Agradeço imensamente pelo reconhecimento. Comentários assim incentivam a continuar o projeto, muito obrigado. Força sempre!
PARABENS EXCELENTE CURSO
Professor, e se eu quiser que o tamanho do vetor seja definido pelo usuário. Tem como?
Eu quero calcular a média de idade de uma família qualquer, e queria que o usuário me dissesse quantos membros tem na família dele, e daí criar um vetor com esse valor pra somar e calcular a média. Tem como? Não achei em lugar nenhum.
Obrigado desde já!
O código é esse, se precisar ver:
programa
{
funcao inicio()
{
inteiro pessoas, i, idade[pessoas]
real soma = 0.0, media
escreva("Vamos calcular a média da idade da sua família.
")
escreva("Quantas pessoas tem na sua família? ")
leia(pessoas)
para(i = 0; i
Infelizmente, no Portugol é impossível criar um vetor de tamanho definido pelo usuário. Você pode passar apenas um número ou uma constante como tamanho. A solução geralmente é alocar uma quantidade maior e, simplesmente, ignorar os campos gerados a mais. Por exemplo, crie um vetor de 50 posições e acesse apenas até a posição `pessoas`.
Outra dica: em vez de `
@@programacaopopular Ah, sim! Faz sentido! Obrigado pela resposta e obrigado pela dica. Acabei de entrar na faculdade e isso já é pra um trabalho. Com certeza vou voltar com outras dúvidas, haha.
Obrigado mesmo. Um abraço =D
Tmj!
Muito bom, mas eu ainda não sei se entendi de fato a diferença entre i+, i++ e +i+ que você usou.
Muito bom meu caro, está de parabéns!
Meu amigo, me salvou!
Excelente aula, se possível, gostaria de saber como faço para ler uma string e guardar cada caracter em uma posição de um vetor ? Por exemplo, escreva ("Qual seu nome?
") e ler cada letra do nome digitado como uma posição do vetor. Obrigado
Muito bom! Me ajudou muito!
Portugol para eu é um jogo kkkkkkkkk gosto muito
Man seria legal você manda um exercício no final dos seus próximos vídeos
Minhas aulas de algoritmo na faculdade poderiam ser somente esses vídeos, seria tão mais fácil e simples.
Cara muito legal me salvou nessa prova que vai ter no meu Instituto VLW mesmo
Então quando a gente tem uma variável 'normal' seria como se ela fosse uma gaveta onde só dá pra colocar um livro, por exemplo. Quando a gente transforma essa variável num vetor, ela se torna uma daquelas gavetas de arquivos, capaz de guardar vários documentos de uma vez. Seria isso?
Exato. Um vetor seria equivalente a um armário com todas as gavetas em sequência e do mesmo tamanho. Por isso não podemos misturar os tipos.
Cara vocé muito foda mano
A parte que fala sobre paises e seus idiomas. Vi que as unicas variaveis declaradas havia sido os idiomas porém, o nome dos países não. Estes estavam escritos entre parenteses em "escreva" como foi possivel aparecer o nome do países sem ter sido declarado seus nomes no inicio? A única parte que nao entendi
Ou seja nao peguei a estrutura que relaciona o pais com seu idioma.
Olá. Ao declarar vetores, os valores são ordenados pelo índice numérico. O primeiro valor ("Japonês") tem índice 0. Quando o usuário digita "0", eu simplesmente acesso a posição 0 do vetor idiomas e obtenho Japonês.
Parabéns aceita sugestôes? começa uma série em C++ seria ótimo !!!
Muito obrigado pela sugestão! Eu acho uma ótima ideia fazer uma série de C/C++, já que muitas universidades e faculdades usam essas linguagens nos cursos introdutórios. Também da espaço para falar sobre memória, que é importantíssimo. Vou providenciar!
Excelente!
Parece o Renato Russo falando. Que voz!!!!!
Obrigado!! 😍😍😍
Só me tira uma dúvida,qual a relação dos idiomas dentro do vetor,com os paises no escreva,pra você colocar uma opção numeral e bater certinho o país com o idioma?
Não entendi a pergunta
@@programacaopopular como vc faz pra o comando do escreva (idioma [país]) bater certinho o vetor?
Parabéns vídeo muito bom, obrigado!
Agradeço o reconhecimento. Comentários assim incentivam a continuar o trabalho. Obrigado. Força sempre!
15:48 eu fiz mas usando o "enquanto", porém, o programa ficou escrevendo os nomes infinitamente. Não sei como fazer para parar no final, depois de escrever nome.
cadeia nome[5]={"Marcelo", "Tiago", "Juliana", "Priscila","Mauricio"}
enquanto(nome !="Mauricio"){
escreva(nome,"
")
Nesse caso, o ideal é usar um laço para!
Neste código, a onde especificamente está o laço? acho que é laço de repetição, ou tudo isso junto ai é o laço? Se não for, eu gostaria de saber especificamente onde se localiza o laço dentro deste código
escreva nome [5] = {"Karran", "Bianca", "Zir", "Dolores" "kabala"}
para(inteiro i = 0; i
O laço é a parte do para!
@@programacaopopular O que está abaixo do para, ali, o escreva(nome[i] + "
") também faz parte do para ou não?
A sintaxe é:
para(...) {
// faz parte do para
}
// não faz parte do para
Tudo o que está entre as chaves vai ser repetido nesse laço
Se eu quero criar um vetor e exibir apenas os valores distintos (ignorar números iguais) como faço?
Existem vários algoritmos possíveis, uns mais eficientes, outros nem tanto. A forma mais simples (e menos eficiente) é, pra cada posição, verificar se aquele elemento existe antes no array, então são dois laços, o primeiro i de 0 a N-1 e o segundo de 0 a i-1. O algoritmo é O(N²) nesse caso (ruim, mas funcional). Mas existem formas mais eficientes com estruturas de dados como hashmaps e etc. Deu pra pegar a ideia?
Você usou o "para" como exemplo, funciona sem problemas se usar o "enquanto"?
Sim, só que aí precisamos criar uma variável que não estará sintaticamente ligada ao laço. É preferível usar para, mas enquanto também funciona.
Como que faz comparação de cadeia ?
Com == mesmo. A comparação será feita caractere a caractere, semelhante ao strcmp do C.
Então "hello" == "hello" avalia para verdadeiro, enquanto "hello" == "Hello" avalia para falso (porque 'H' é diferente de 'h').
obrigada!
Eu não quero que quando o usuário for escolher um número, não quero que comece em zero e sim em 1. Como faz pra que comece em 1 e não em zero? Se eu tiver uma lista de 4 países e eu quero que ele escolha entre 1 e 4, como faço? eu coloco:
escreva(idiomas[pais-1]) ??
Exato!
Excelente.
como faz para escrever a soma de todos os termos de um vetor ?
Defina a soma para zero e use um laço para que percorre todas as posições do vetor e soma a posição pra sua variável soma (que era zero).
Show!!!!!
No minuto 14:30, a quebra de linha só funciona se colocar esse '+' ? Por quê?
Não é que "só funciona" assim. É que quis adicionar quebras de linha ao final de cada nome pra mostrar um por linha. Poderia adicionar só uma vírgula e um espaço, ou nem adicionar nada (aí neste último caso teria algo do tipo RobertaCarlosMarianaRenata).
Bom dia, para o vetor. Gostaria que ele perguntasse a quantidade do vetor. Como faria?
Olá, Marcelo. O Portugol Studio não tem nenhuma forma de fazer isso. Ele apenas permite criar um vetor atribuindo um tamanho através de um valor ou de uma constante. Nem valores, nem constantes permitem informações vindas do usuário.
@@programacaopopular ahhhh, por isso não achava em nenhum lugar hehehehe
Obrigado.
Obs: seus vídeos são ótimos para quem tá iniciando.
E se eu quiser que o usuário determine o número de variáveis dentro do vector?
Infelizmente, no Portugol Studio todos os vetores são de tamanho fixo, o que significa que é impossível declarar um vetor com um tamanho definido em tempo de execução (de uma variável, por exemplo). A solução pra contornar isso pode ser, por exemplo, declarar um vetor com um tamanho maior do que o necessário, e que dificilmente será atingido, e então ignorar intencionalmente a parte do vetor que excede o tamanho necessário.
Aqui um exemplo mínimo que que preparei para dar uma melhor noção do que estou dizendo: gist.github.com/hellmrf/4d8d6869f172a55a3ce2e4f91c7fd3a9
Nesse algoritmo aqui, eu acho que já perguntei isso mas vou perguntar novamente:
para(inteiro i = 0; i
É a concatenação de cadeias.
por que no escreva você utiliza o simbolo " + " ao em vez de " , " ? Pois usei a virgula e deu na mesma.
Na prática, tanto faz; mas o "+" concatena as string e, depois, exibe na tela. A vírgula executa o comando escreva diversas, uma pra cada parâmetro (os parâmetros são divididos por vírgula).
@@programacaopopular O que é string mesmo?
como faço para criar uma variavel armazenadora , por exemplo quis criar um programa onde na escola a professora iria declarar a quantidade de alunos e pela quantidade ela iria conseguir colocar os nomes, ou seja, se fosse 3 alunos seria 3 nomes, veja o codigo:
inteiro qnt
escreva("Quantos alunos há na sala
")
leia(qnt)
limpa()
escreva("Qual o nome dos alunos
")
para(qnt;qnt>0;qnt--){
inteiro nome[]
leia(nome[qnt])
limpa()
}
escreva(nome[qnt])
me ajuda nessa pf
eu coloquei o nome como cadeia e mesmo assim deu erro
vamos para a próxima vídeo aula ok
alguem pode me dizer se tem como eu fazer com que o usuário escolha a quantidade que um vetor armazene?
Por exemplo, ao invés de "nome[5]" ---- "nome[quantidadeQueOUsuarioEscolheu"?
Não, porque os vetores são de tamanho fixo no Portugol (como são em C, por exemplo). Você pode predefinir o vetor com um número grande de valores e armazenar quantos valores estão sendo usados. Aí você lê até onde sabe que tem valor. Isso é meio que uma forma de "burlar" essa limitação, mas não vai funcionar sempre e custa memória.
Olá Boa Tarde alguém poderia me ajudar, nunca consegui entender Porque o limpa no final da estritura de repitição quando esta recebendo valores do usuario, eu uso mas não sei o motivo
É para limpar a tela. Não afeta em nada seu programa, só serve pra esconder as informações da execução anterior, pra não confundir o usuário (e pra não ficar feio e bagunçado também). Mas se não usar não vai ter diferença prática no resultado do programa.
Se o vetor sempre começa com zero como faço uma divisão entre vetores pois não existe divisão por zero
Olá, Diego, a divisão vetorial não é definida matematicamente, então não é mesmo possível (a menos que você defina a operação).
A questão aqui é que os índices do vetor é que começam em zero, não necessariamente seus valores. Na matemática, costumamos utilizar a notação (x₁, x₂, ..., xₙ) para definir elementos gerais de um vetor (x⃗ ∈ ℝⁿ, neste caso). A única diferença é que, em muitas linguagens de programação, o primeiro índice é o zero, então definiríamos o mesmo vetor como {x₀, x₁, ..., xₙ₋₁}.
Colocando em números, isso significa que quando declaramos um vetor
inteiro a[] = {1, 2, 3, 5, 8, 13}
por exemplo, 13 é o elemento de índice 5 (a[5] == 13), porque o 1 na verdade é o elemento de índice zero (a[0] == 1).
Voltando à questão da divisão. Se quisermos *definir* uma operação de divisão vetorial como a⃗ ⊘ b⃗ ≡ (a₁/b₁, a₂/b₂, ..., aₙ/bₙ), isto é, dividir os dois vetores significa dividir os elementos correspondentes (como é a soma vetorial), podemos programar c⃗ = a⃗ ⊘ b⃗ = (2, 4) ⊘ (2, 2), como exemplo. Então teríamos, em Portugol, o seguinte laço:
inteiro a[] = {2, 4}
inteiro b[] = {2, 2}
inteiro c[2]
para(inteiro i = 0; i < 2; i++) {
c[i] = a[i]/b[i]
}
E isso resultaria no vetor (1,2) que esperamos (observe os valores de i).