Procedimentos - Curso de Algoritmos #12 - Gustavo Guanabara
HTML-код
- Опубликовано: 24 авг 2024
- Procedimentos em Algoritmos. Aprenda a criar rotinas a serem executadas por programas. Nessa primeira aula de rotinas, aprenderemos como funciona a passagem de parâmetros por valor e referência.
Aula do Curso de Algoritmos criado pelo professor Gustavo Guanabara para o portal CursoemVideo.com. Download de pacotes e curso com certificado GRÁTIS: cursoemvideo.co...
Curso em Vídeo
Site: www.cursoemvide...
RUclips: / cursosemvideo
Facebook: / cursosemvideo
Twitter: / cursosemvideo
Google+: plus.google.com...
Patrocínio
HOSTNET: www.hostnet.com.br
Estude pelo nosso site e tire certificado de 40 horas. Curso completo em:
www.cursoemvideo.com/curso/curso-de-algoritmo/
Quem estiver aprendendo em abril de 2024 deixa um Salve aqui nesse comentario !
salve
Salve!
Como estão no estudos?
@@mi_lla1310 bom dia , estou prosseguindo pra ultima aula do curso hoje.
salve!
@@AdriannyJoqueres como andam os estudos adrianny ?
o escopo GLOBAL é a "realidade". O escopo LOCAL é um "sonho".
Se a gente passa parâmetros por valor, tudo que rolar no procedimento, vai rolar somente lá dentro do procedimento, ou seja, o sonho vai ficar só no sonho. Uma vez que o procedimento acabar e tudo voltar pro escopo GLOBAL, os valores da variáveis globais permanecem os mesmos, ou seja, uma vez que o sonho acabar, tudo volta à realidade como era antes.
Se a gente passa parâmetros por referência, tudo que rolar no procedimento, vai rola dentro do procedimento e vem pro escopo GLOBAL mesmo quando o procedimento acabar, ou seja, o sonho vira realidade, pois os valores das variáveis globais mudam conforme o que rolou lá dentro do procedimento (no caso, do "sonho").
Viajei, né? rs
Mas foi essa metáfora que me fez finalmente entender a diferença entre passagem de parâmetro por VALOR e por REFERÊNCIA.
Espero ter contribuído de alguma forma.
Resumindo,isso é um genjutso!
Kkkkkkkkkkkkkkkkkkk
@@PhantomFramesTV Que maasssssa!!!!
@@PhantomFramesTV parâmetro por VALOR é uma forma de dizer que oq acontecer dentro do escopo LOCAL, fica lá.
parâmetro por REFERÊNCIA é uma forma de dizer que oq acontecer dentro do escopo LOCAL, vem pro GLOBAL também e as variáveis do escopo GLOBAL vão mudar fazendo uma "referência" ao que aconteceu lá dentro do escopo LOCAL
@@mayksoares8982 vei me explica pfv oq é um genjutso
@@julianapereira381 é a habilidade do clã uchiha,em naruto,de criar uma realidade que só existe na mente do inimigo,apenas olhando em seu olho.
obs; não assista viciante!
Isso que vou dizer é algo óbvio,mas nós muitas das vezes nos desanimamos, porque não aprendemos aquilo que foi passado pelo professor Guanabara logo na primeira vez que assistimos a vídeo aula, por se tratar de conceitos um pouco mais difíceis, que vinhamos lidando. Para solucionar isso basta deixar a preguiça de lado e assistir quantas vezes forem necessárias, que eu te garanto que você irá entender, eu sou exemplo,pois a primeira vez que vi a aula de procedimentos e função, tive muita dificuldade, mas depois de várias vezes assistindo e tentando, consegui entender o necessário.Por isso quando o Guanabara diz que: Nós só aprenderemos o que ele ensina, e nos tornaremos programadores, a partir do momento que praticarmos até chegar a exaustão, caso contrário a desistência é o caminho mais viável.
Estou passando por isso!!
pratica bastante que você consegui, procura livros e outros cursos e se dedica muito.
repeti diversas vezes e entendi
nossa muito facil
quando não entendemos, botamos na cabeça que isso é um bicho de sete cabeças
mas não!
so o que mata em programação é a matematica kkk
de resto vai aprendendo de boa
Resiliência amigo, Resiliência.
Eu tava ficando com preguiça, eu to fazendo essa aula, vendo de html 5, python e c++...nao vou desistir.
Quando o Naruto cria os clones das sombras (LOCAL) no meio da luta, eles recebem a aparência e habilidades dele (VALOR), mas se eles apanham, o Naruto original (GLOBAL) não sofre nada, eles só desaparecem - O Naruto tá fazendo uma passagem por VALOR - O Local recebe o Valor do Global mas não afeta o Global depois
Quando ele cria os clones das sombras pra treinar o rasengan, toda experiência q os clones ganham tentando o rasengan volta pro Naruto original quando eles somem - Ele tá fazendo um passagem por REFERÊNCIA - O que acontece com o Local muda o Global depois q desaparece
KKKKKKKKK que explicação perfeita
a explicação de milhões
Assisti pouco Naruto, mas o suficiente para entender seu comentário, perfeito! Vou até anotar isso no meu caderno de estudos de lógica de programação.
gênio
Com essa aí, até eu que nunca assisti Naruto! 😂😂😂
Tenho duas analogias que criei ao tentar entender.
Passagem por valor: É como se em um sonho você se mijasse, mas quando acordasse você estaria suave.
Passagem por referência: É como se em um sonho você se mijasse, e acordasse todo mijado.
Ou seja, na passagem por valor o que aconteceu no sonho ficou lá e nada alterou na realidade. Já na passagem por referência, o que você fez no sonho afetou a vida real.
kkkkkkk boa
Boa! Escuta , vc sabe como que faz para passar um vetor como parâmetro de uma função usando o visualg?
@@cesaroliveira9051 no visualG funções não aceitam vetores como parâmetros, mas em linguagens de fato, isso acontece dboa.
Adorei, mas só nao entendi pra que servem essas passagens, pq nao faço direto com elas? Quando usar e pq usar?
Não desistam, galera!!!! Passei dois dias só nessa aula pra eu entender bem.. daí que eu fui pra aula de funções... Pra cima TIMEEEE
Olá 🦗! Parabéns pela sua dedicação e persistência! Sabemos que nem sempre o aprendizado é fácil, e muitas vezes enfrentamos desafios ao longo do caminho. Mas é exatamente essa determinação e vontade de aprender que nos impulsiona a ir além e alcançar resultados incríveis.
Passar dois dias se dedicando a uma aula para entender bem o conteúdo é uma atitude admirável. É importante lembrar que cada pessoa tem seu próprio ritmo de aprendizado, e o importante é não desistir. O esforço e o tempo investidos valerão a pena.
Continue com essa atitude positiva e determinação. O céu é o limite! Estamos torcendo por você e pela sua jornada de aprendizado.
Vamos em frente, TIMEEEE! 💪🌟🖖
Passei quase 1 semana nessa aula para entender tbm, todas as vezes que assisti para entender eu fazia os exercícios que ele fazia tudo de novo, e assim no final entendi, mas vou assistir novamente para vê se não deixei nada passar!
@@CarlosAlmeida-lr3hh esse é o espírito.. Vamos pra cima
@@CarlosAlmeida-lr3hh vi que na programação dá certo com calma, mas com persistência
@@lucasprimo17 Eae man, já aprendeu alguma linguagem de programação, ou já arrumou algum estágio ou emprego? É que já faz 7 meses que tem esse comentário seu, quero saber da sua evolução.
pessoal, não desistam! começar a aprender algo novo é difícil mesmo. mas olha quanta coisa você já aprendeu! a bíblia diz: melhor o fim das coisas do que o princípio delas. foque no seu propósito. por que você começou a aprender algoritmo? aonde você quer chegar estudando programação? lembre-se: nada e nem ninguém pode parar aqueles que são movidos por um propósito. se dedique mesmo e não desista! você chegou até aqui e não vai parar né? que Jesus abençoe sua vida :)
:)
🤩🥰🙏
Que Deus abençoe a você também!
Amém!
Muito obrigado pelo comentário @jhulycurty4964
Mano, quem da "nao gostei"? o cara ensina bem e o conteúdo ainda é grátis!
Quem não consegue fazer os exercícios kskskkskks
@@JoaoGabriel-tu3qu hahahaha verdade
Foi mal mano , tava com o cllr de ponta cabeça
N sei se é ingratidão ou fdputagem
Galera sem noção 😂😂😂
Explicação dos conceitos abordados no vídeo:
Rotina: Uma rotina é uma sequência de passos que são executados repetidamente.
Procedimento: Um procedimento é utilizado para simplificar o uso das rotinas, tornando-as mais fáceis de aplicar. Por exemplo, o procedimento "RotinaPreparo" executa todos os passos necessários quando chamado, sem a necessidade de repetir linha por linha da rotina manualmente.
Parâmetro por valor: Quando a passagem de valores é feita por valor, os valores das variáveis GLOBAIS são copiados para as variáveis LOCAIS. No entanto, qualquer alteração feita nas variáveis GLOBAIS não afeta as variáveis LOCAIS.
Parâmetro por referência: Quando a passagem é feita por referência, os valores das variáveis GLOBAIS também são copiados para as variáveis LOCAIS. No entanto, a diferença é que qualquer alteração feita nas variáveis GLOBAIS afetará diretamente as variáveis LOCAIS.
👏👏👏
Acho q sou um animal por mesmo assim n ter entendido :( eu n consigo entender pq no procedimento os valores nos () são um e no corpo do programa os valores das variaveis são outros, ne me entra na ca beça o do pq
Amigo posso estar enganado mas no conceito de Parametro por referencia voce confundiu os escopos
Parâmetro por referência: Quando a passagem é feita por referência, os valores das variáveis GLOBAIS também são copiados para as variáveis LOCAIS. No entanto, a diferença é que qualquer alteração feita nas variáveis *LOCAIS* afetará diretamente as variáveis *GLOBAIS*
Quando a referencia é passada da variavel global para dentro da local ela pode sofrer alterações e voltar com valores diferentes pra dentro da global . nao sei bem como explicar mas é assim que eu coloquei dentro da minha cabeça
exempplo que no exercicio do Fibonnaci os valores de T1 e T2 mudaram apos dentro do procedimento receberem uma soma , voltando ao progama com numeros diferentes dentro da Variavel Global .
Espero nao estar falando besteira e gostaria de um feedback . Obrigado pelas explicações . Tmj 👊
@@tiagoferreira4543sim ele só inverteu a lógica , na verdade parâmetro por valor não muda as variáveis da global e já parametro por referência já muda as variáveis global.
só estou copiando e colando e durante esse processo vou entendendo o que cada linha esta dizendo. bora pra frente kkkk
uma dica, é, se ver duas vezes a aula e não conseguir resolver, deixe pro dia seguinte, difícil resolver um problema com a mesma mente que tinha no dia que não entendeu..
Valeu pela dica kkkk pqp ta muito dificil! Partiu estudar amanha 🤣🤣
Essa dica vale ouro! Fiz isso pois no primeiro dia o negócio me pareceu engenharia de foguete. Parei e depois quando voltei, fluiu como se eu estivesse vendo uma aula de 2 x 2!!!
Parabéns pela dica ,sem duvida se por em prática com certeza vai dar certo
Eae, já aprendeu alguma linguagem de programação, ou já arrumou algum estágio ou emprego? É que já faz um tempo que tem esse comentário seu, quero saber da sua evolução.
@@fabiokvalcantEae, já aprendeu alguma linguagem de programação, ou já arrumou algum estágio ou emprego? É que já faz um tempo que tem esse comentário seu, quero saber da sua evolução.
Que professor maravilhoso, já vi cada aula a partir da 11 umas 3 vezes, esse professor é melhor do que o da minha faculdade, Parabéns e obrigado por compartilhar seu conhecimento com seus alunos !
Eu a partir da aula 8 perdi a conta de quantas vezes vi e fiz os exercícios, o que se há-de fazer quando a cabeça é mais burra!
Melhor que o da minha também
Depois das aulas do Guanabara, não posso dizer que tenho professores na faculdade.
MELHOR DO QUE O DA MINHA FACULDADE TAMBÉM ........
Meu procedimento:
algoritmo "bilada"
var
sonodamulhersonogostososossegado: inteiro
tacaopirulitoparaforaedaumasonorostotipoumtapa: logico
procedimento bilada()
inicio
escreval("SE MULHER ESTIVER DORMINDO, DIGITE 1, SENÃO, 0")
leia(sonodamulhersonogostososossegado)
se (sonodamulhersonogostososossegado = 1) entao
tacaopirulitoparaforaedaumasonorostotipoumtapa
Para quem estiver com dúvida em alguns conceitos que foram falados no vídeo, aqui vai algumas anotações que fiz e que pode ajudar.
ESCOPO - é o local onde uma determinada variável vai funcionar.
Uma variável do tipo Escopo Global ela funcionará por todo o algoritmo.
Uma variável do tipo Escopo Local ela funcionará somente dentro do procedimento que ela está inserida.
Diferença entre parâmetro por valor e por referência:
Vamos supor que exista uma variável chamada “K” e vale 3.
Vamos supor que no procedimento será adicionado 2 ao parâmetro.
No parâmetro por valor, o parâmetro vai copiar o valor de K. Então, esse parâmetro também será 3 e no fim, como foi dito, será adicionado 2. Ou seja, agora o parâmetro será 5. Mas, K continuará sendo 3.
No parâmetro por referência, o parâmetro é 3, será adicionado 2, e, por fim, ele se tornará 5. Mas, agora a diferença, K também se tornará 5.
Ou seja, no parâmetro por referência tudo que fizer no parâmetro também vai ser feito na variável. E então a variável no início será diferente da variável ao final do algoritmo porque ela [a variável] foi modificada.
Mas, no parâmetro por valor tudo que fizer no parâmetro continuará somente no parâmetro e nada será feito com a variável. Então, a variável no início será a mesma coisa ao final do algoritmo porque a variável não foi modificada.
Eu tenho uma pergunta: há situações em que eu só poderei usar o parâmetro por valor? Eu entendo que, em dadas situações, há a necessidade de usar o parâmetro por referência (como na sequência de Fibonacci, que eu testei o uso do parâmetro por valor e não funcionou.); mas e por valor?
@@yenzoou rapaz, não sei te responder isso nao, desculpa, vou tentar escrever o que eu acho. Assim, eu acredito que não exista uma regra. Tu tem que analisar o que tu quer fazer, qual teu objetivo no algoritmo e ai tu vê quais são as melhores opções para resolver teu problema. Eu não tenho experiencia nenhuma com programação, entao nesse caso da tua pergunta, EU penso assim: eu quero que a variável mude com o parâmetro? entao uso tal. Eu nao quero que mude, eu quero que sempre permaneça o mesmo valor, entao uso tal. entendeu? nao sei se isso ti ajudou, é que realmente não sei uma resposta, mas tentei kkkk
@@gokukakaroto4673 Entendi. Acho que você tá certo mesmo, vai depender do que eu quero fazer, basta analisar. Obrigado por responder, mano.
@@yenzoou De nada, man!
Obrigado, amigo, você é um amigo!
Bom, pessoal eu ando procrastinando para um caramba pra assistir as aulas, pra conseguir compreender os conceitos foi um desastre, então rapaziada lute contra a sua mente e dÊ o passo para frente! CANSAÇO, PREGUIÇA, DOR, tudo isso ocorre quando eu começo uma vídeo aula, mas lutando contra meus pensamentos de desistir uns 5/10 minutos depois eu consigo assistir tranquilamente. VAMOS ATRÁS DOS NOSSOS OBJETIVOS! ( é a segunda vez que assisto e finalmente consegui compreender o conceito!)
Força, cara, eu já estou vendo pela terceira vez e agora que depurou mais minha mente. Quanto mais insistir, mais fácil fica, dê um descanso a mente para não ficar sobrecarregado, perdemos apenas quando desistimos.
Abraço!
Esse tipo de sentimento não é só preguiça, mas pode muito bem estar relacionado a fuga, mas não fuga por achar necessariamente dificil, mas também por não gostar. Programação é chato pra maioria das pessoas, tem que gostar, senao é insuportável estudar. Tem grande chances de eu te perguntar agora "Eae cara, o que tu ta programando hoje em dia?" E você me responder que desistiu.
Professor não sou religioso, mas porém acredito que pessoas do seu nível, é uma representação física
do Divino; pois você proporciona um saber de qualidade, e além de tudo gratuito. Não existe nenhuma
dúvida em mim de que você é o melhor professor de TI da atualidade. Honrado em aprender com você
mestre. Parabéns você é D+ : )
"mas porém" é foda né :/
@@matheuspolitapereira-4453 Se você entendeu a mensagem, melhor só dar o toque pro colega aí. Esse comentário seu n foi legal
mas e porem sao sinonimos amigo nao precisa dos dois valeu
No começo achei difícil, e no final parecia que tava no começo hahhahhaha
Mas não vou desistir, vou assistir quantas vezes forem necessárias!
Obrigada Prof, você é incrível!
Eu também senti dificuldades, mas revendo a aula no dia seguinte as coisas começaram a fazer sentido na minha cabeça. Apenas dê um tempo para o seu cérebro "digerir" tudo isso. Abraços e bons estudos!
Eu vou pra terceira vez refazendo este curto
Galera que está tendo dificuldade sendo nessa aula ou em outra, não assistam apenas 1 ou 2 vezes, assista várias, esse curso é essencial pra sua vida de programador, nas aulas de repetição onde tive a maior dificuldade, eu assisti cada vídeo pelo menos 4 vezes, não passem para a próxima aula sem ter certeza de que entendeu a última.
Dica pra galera que esta com duvida em algum topico ou não esta entendendo do jeito que o professor explica, sugiro usar o chatgpt ou o copilot, por experiencia propria o copilot e mais preciso .
MANO DO CÉU! Esse negócio de fibonacci era um demônio em sala de aula, nenhum professor consegue explicar essa joça direito só executando um código pronto por mais simples que ele seja, quanto mais colocando como parâmetro em função. Engraçado que isso é até parecido com matrizes, geral desiste de aprender programação quando aparece isso, mas tenho certeza que na ultima aula a explicação vai ser tão simples quanto as outras. Você é foda Guanaba!
Resumo:
Com referência ( var ) o Escopo Local vai interferir no Escopo Global e na Passagem por Valor não há interferência do Escopo Local no Escopo Global.
certo, entendi isso. mas como saber quando usar por valor ou referência? :(
uma simples analogia.
- quando tiver parametro por referencia ou (var a, b: inteiro) É IGUAL UM "CTRL + X" (RECORTAR)
- quando tiver parametro por valor ou (a, b: inteiro) É IGUAL UM "CTRL + C" (COPIAR)
@@pequenaleca entendi tudo bem, sobre como funciona, fiquei exatamente com essa duvida.
@@pequenaleca tbm to com essa duvida
@@pequenaleca Com a pratica vc vai saber quando usar um ou outro.
Galera, nao desistam. Serio, se precisar, volta pra assistir a aula mais uma vez. Melhor "perder" 30min revendo a aula do que PERDER uma grande oportunidade de aprender algo por preguica ou por ser cabeca dura. Estava tendo dificuldades em aplicar o procedimento aos exercicios antigos, e ja tava pronto rpa seguir pra proxima aula. Bati o pe e disse que ia conseguir aplicar, porque eu ja havia entendido a logica do procedimento. Reassisti a aula e achei a solucao pro meu problema, e entendi melhor ainda o que e o procedimento.
podecre, nem sempre é como a gente quer. tem que lutar pra entender msm
Carái, pra mim foi a parte mais difícil do curso. Tive que rever várias vezes pra entender
Estranho como as pessoas são diferentes. Quase morro nas estruturas de repetição. Já isso aprendi fácil. Enfim. Sigamos no estudo!
tbm achei facil isso
estruturas de repetição não precisei mais que uma aula de cada uma das 3 pra entender, já rotinas tive que ver 2 vezes e to praticando pra ver se entendi msm
@@lucasoad399 Também, eu não tinha quase nem tentado fazer os exercicios das estruturas, pelo as tinha entendido como funciona, já o inicio desse video eu entendi de primeira.
@@lucasoad399 exato!
Acabei de desistir da área da programação!!!
Rebatizei a máquina para "Guanabareichau 1900", patenteei e está a disposição pela "Tabajáras".
Vou ficar milionário!!!
Nossa!!! que piada ridícula!
Já quanto a aula, simplesmente sensacional.
Para quem ficou com dificuldade na Passagem de Parâmetro por referência (var), é só entender na área do Escopo que A->X é a mesma coisa que ler X
voltei aqui, em pleno 2019 pra assistir mais uma vez esse curso, estou estudando para um processo seletivo em desenv e as aulas do Guanabara estao me ajudando demais, ver a dedicação e comprometimento dele em ensinar (nota-se isso nas chamadas de procedimento "você precisa digitar comigo e nao somente olhar meu caro gafanhoto" repetidas vezes durante TODOS os cursos, um professor meia boca nao ia nem ligar se voce esta evoluindo e tendo resultados) e é por isso que eu desejo á voce Guanabara e a todos os professores que se empenham em ensinar as novas gerações de pensadores, todo o sucesso e felicidade deste mundo. Um dia serei rico e me lembrarei de voce nestas aulas feitas com tanto carinho, meus mais sinceros agradecimentos !
Passou?
Proff Guanabara, Nerckie, Rafael Procópio, Noslen e vários outros são os anjos da educação... Tem tantos professores ruins/desinteressados espalhados pelas escolas desse mundão, que é um prato cheio encontrar essas jóias aqui no youtube.
Incrível como um vídeo de 30 minutos dura 2 horas
Aqui durou 4. kkk
SIM...
Ksks é assim mesmo!
Meu irmão vivia me dizendo que programação é difícil e que eu deveria era desistir de fazer porque isso ''não é pra mim''. Mas eu estou aprendendo bem e NUNCA vou desistir. Terminarei esse curso e iria para o de Java.
posso te falar uma coisa, java n é de Deus n, java é uma das lingagens mais dificeis na minha opiniao mais se vc quer seguir ngm pode te parar irmao, vai na fé
O detalhe é:
Passagem por valor, só vai jogar o valor das variaveis do prog principal pra variáveis do procedimento, então se fizer alterações na variável lá no procedimento, não vai fazer efeito no programa principal.
Passagem por referência ai sim, as variáveis do procedimento recebem o ENDEREÇO das variáveis do prog principal, então qualquer mudança que fizer no procedimento tipo, operações aritméticas, mudança de valor ou até um simples leia(), vai enviar essa MUDANÇA pra variável do programa principal.
Primeiramente quero dar os parabéns. Você, Guanabara, está fazendo a diferença. Não só pra mim. Quando cursei Banco de Dados odiei programação, tanto que trabalhei sempre com suporte voltado à Redes. Resolvi tentar aprender de novo e está sendo massa aprender contigo. Sem palavras. E tenho planos para concluir JS, Java, Java OO e começar tentar uma vaga de programador.
Gratidão Guanabara.
Sucesso sempre em sua carreira!
Guanabara é ÚNICO!!!!!!!!!!!!!!
ate que enfim consegui entender os procedimentos de passagem por valor e referencia , criei um codigo que detalhava tudo certinho , mostrando as variaveis sendo mudadas, e depois consegui fazer o fibonacci por referencia e por valor .
@Felipe Soares pelo que lembro so neste msm mano , o limpa tela pode ser usado tanto em procedimento como em código na parte "inicio ", ele limpa oque estava antes , eu uso bastante em estruturas de repetição mano.
da aula 12 ate a 15 são as mais importante na minha opinião, essa é a mais fácil entre elas
Quem está vendo as aulas de algoritmos em 2017????
Esse canal é Show :D
Estou fazendo esse curso, junto com o de Python, ambos são bons
eu em 2018
2018
2019 o/
2023, como vc esta hj em dia, em relação a programação
@@ragnarlothbrok2617 nessa época ai eu não sabia de nada kkkkk
Cara,passando aqui pra te agradecer de vdd
Eu estou cursando um curso de técnico em desenvolvimento de sistemas,e n estou conseguindo entender muito bem as aulas,mais os seus vídeos estão me ajudando,vc n sabe o tanto,obgd de vdd ❤️
MELHOR PROFESSOR DE TODOS (APESAR DE ACHAR ESSA AULA UM SACO) GUANABARA, FEZ DE UMA MANEIRA INTERESANTE... RECOMENDO MUITO
Impressionante como este cara me faz amar ele
2022 e esse curso ainda sendo o melhor de todos
S2
meu pai amado, como é fácil aprender a programar com vocês , sou seu fã pra vida inteira amigo, e não tenho palavras para expressar minha gratidão. muito, mas muito obrigado pela sua ajuda!!
só um genio pra ter didática nessa aula.. assisti umas 5x, quebrei a cabeça e entendi. Obrigado professor
Eu também 🤣
Cara você deveria abrir uma faculdade, com certeza teríamos profissionais com diploma muito mais capacitados com sua didática. Eu faço faculdade hoje mas vira e mexe eu venho aqui pra aprender contigo por conta da sua didatica e formas de ensinar
O primeiro algoritmo em JS:
function FazSomaProcedimento(A, B) {
console.log(`Recebi o valor ${A}`);
console.log(`Recebi o valor ${B}`);
console.log(`A soma entre os dois é ${A+B}`);
}
let X = 5,
Y = 3;
FazSomaProcedimento(X, Y);
Eu só queria agradecer ao Gustavo pelas aulas maravilhosas e por estar me ajudando a estudar lógica de programação 🙏 com certeza, eu vou recomendar as aulas pra outras pessoas
já recomendou, e aqui estou eu haha
@@lukedavelyn3138 olá 😅
Rotinas
Rotina é a característica que uma sequência de códigos têm de se REPETIR no desenvolvimento de um programa.
Procedimento
Procedimento é um subprograma que não retorna valor algum.
Sintaxe:
procedimento [()]
[var]
inicio
fimprocedimento
É uma maneira de "encapsular" uma sequência de códigos, permitindo que você use-os ROTINEIRAMENTE. Ao criar um PROCEDIMENTO, local onde será escrito esta sequência de códigos, você pode futuramente CHAMA-LO a hora que você quiser e quantas vezes forem necessárias durante o desenvolvimento do programa apenas digitando o "" seguido de (). Usando procedimentos o código fica mais limpo, menos polúido e também você poupa trabalho, não havendo a necessidade de reescrever a mesma sequência de códigos várias vezes.
O Procedimento deve ser colocado ENTRE as variáveis e o inicio do programa.
Ex:
algoritmo "Xesquedele"
var
procedimento CodigoBrabo ()
var
blablabla: caractere
inicio
blablabla
Meu amigo , que textão em , Parabéns
Eu sou de moçambique, e os seus videos têm me ajudado muito... The best RUclipsr is your #Confia
guanabara seu lindo vc n tem noção de como vc clareou a minha mente agr, tava aqui frustrada aprendendo java pq n entendia por nd o q eram os parametros ai agr foi uma explosao mental parece q jesus me iluminou eu amo essa forma de explicação capaz de uma criança com 3 neuronios entender
Nossa ... tô amando o curso demais!
Tá certo que precisei repetir os vídeos de Estrutura de Repetição 4 vezes cada um, mas super valeu à pena. A cada vez que repito os exercícios, os próximos vão ficando mais fáceis. Essa é a ideia , né? :)
Obrigada demais professor! Você é genial!
@vinicius andrade assisto os videos e vou praticando junto. A assimilação é mt maior.
oioi vc seguiu carreira ?
@@leoaquino6462 Tô nela!
profº guanabara depois de voltar umas quatro vezes eu entendi
valeu profº
Estamos Juntos..kkk
Eae, já aprendeu alguma linguagem de programação, ou já arrumou algum estágio ou emprego? É que já faz um tempo que tem esse comentário seu, quero saber da sua evolução.
o curso que todo iniciante deveria fazer, eu ja construi muita coisa em código, mas tinha coisas básicas tipo essas das referencias que eu n sabia, acho que todo iniciante deveria entender isso antes de por a mão no codigo
Parabéns Gustavo Guanabara. Seu método de ensino é muito bom e supera vários outros modelos de ensino. Posso dizer que aprendi muito mais com suas aulas do que com minhas apostilas e web conferência de minha faculdade, com todo respeito aos meus tutores e professores que são ótimos profissionais. Mas, jeito é jeito!! Quando você puder postar aulas sobre Estruturas de Dados com linguagem Portugal no VisualG, vai ser TOP demais. Abraços e mais uma vez, PARABÉNS.
Guanabara essa vídeo aula ajudou muito, logo tive prova disso kkk
mas agora eu to tendo aula em java sobre Pilha, Lista e Fila se você tiver um vídeo sobre isso me avise por favor que ta muito difícil
Excelente curso professor, tive que re-assistir o vídeo três vezes, mas agora entendi tudo perfeitamente
Obg professor por todo o curso. Tô começando a aprender a programar e se Deus quiser Daqui um ano vou está iniciando no mercado de trabalho.
Nota 22/08/2023 - 22:15PM
Fiz meio que um sisteminha como se fosse um menu de celular com alguns programas que fui aprendendo no decorrer do curso(SuperContador e Tabuada), utillizando tudo que ele vem ensinando, mais o conteúdo desta aula sobre rotinas kkkkk. Fiquei horas fazendo, mas achei bem interessante e produtivo. Vamos com tudo, foco e fé em Deus!!!
Obrigado @Curso em vídeo, e obrigado @Guanabara
muito bom seus videos, faço ensino médio com curso no IFC.. e suas aulas me ajuda muito.. obrigado muito bom!!!
Suas aulas são simplesmente fantasticas !!! parabéns explica de uma forma muito clara e objetiva !!
Obrigada à todos da equipe curso em vídeo em especial: Guanabara, vc tem um modo simples e claro de ensinar,è possível perceber que gosta de ensinar, a sua didática é excelente!
Essa foi aquela aula que tive que assistir 4 vezes pra pegar cada detalhe. Valeu apena. Show Guanabara.
Rotina: Modo como se realiza alguma coisa, sempre da mesma forma
Procedimentos: procedimento é um subprograma que não retorna nenhum valor (corresponde ao procedure do Pascal). Sua declaração, que deve estar entre o final da declaração de variáveis e a linha inicio do programa principal
Passagem de parâmetro por VALOR: Apenas o valor é copiado para dentro do PARÂMETRO
Passagem de parâmetro por REFERÊNCIA: O parâmetro tem uma referência automática, ao valor da variável original. Qualquer alteração no parãmetro vai afetar na variável original.
GUANABARA É TOP NAS EXPLICAÇÕES
Como eu gostaria de saber quem são esses dois que deram Dislike!!!! Mais uma aula show Mestre Guanabara.
Essa aula foi hard.
Usei o chat gpt para me ajudar essa explicação clareou mais as ideias
Certo mas ainda não compreendi a ideia dos procedimentos
ChatGPT
Vou tentar simplificar ainda mais a ideia dos procedimentos para você.
Imagine que você tem um conjunto de instruções que precisa ser executado várias vezes em diferentes partes do seu programa. Em vez de repetir essas mesmas instruções em cada local onde elas são necessárias, você pode agrupá-las em um procedimento.
Um procedimento é como uma pequena sub-rotina dentro do seu programa. Ele tem um nome e pode receber argumentos (valores de entrada) se necessário. Quando você chama esse procedimento em qualquer ponto do seu código, ele executa a sequência de instruções que você definiu.
A principal vantagem dos procedimentos é a reutilização de código. Ao definir um procedimento, você pode chamá-lo quantas vezes quiser em diferentes partes do programa, evitando duplicação de código e tornando o programa mais eficiente, legível e fácil de manter.
Além disso, os procedimentos ajudam a modularizar o código. Ao agrupar instruções relacionadas em um procedimento, você pode pensar nele como uma unidade lógica que realiza uma tarefa específica. Isso torna o código mais organizado, dividindo-o em partes menores e mais gerenciáveis.
Espero que isso tenha ajudado a esclarecer a ideia dos procedimentos. Se você tiver alguma pergunta adicional ou quiser exemplos práticos, sinta-se à vontade para perguntar!
User
Gostaria de um exemplo prático o mais simplificado possível por favor
ChatGPT
Claro! Vamos supor que você precise calcular a área de um retângulo em várias partes do seu programa. Em vez de repetir o cálculo em cada ponto, você pode criar um procedimento para isso. Aqui está um exemplo em pseudocódigo:
scss
Copy code
procedimento calcularAreaRetangulo(altura, largura)
area = altura * largura
exibir(area)
// Em algum lugar do seu programa...
altura1 = 5
largura1 = 8
calcularAreaRetangulo(altura1, largura1)
// Em outro lugar do seu programa...
altura2 = 10
largura2 = 3
calcularAreaRetangulo(altura2, largura2)
Nesse exemplo, o procedimento calcularAreaRetangulo recebe dois argumentos: altura e largura. Ele calcula a área multiplicando esses dois valores e, em seguida, exibe o resultado. Você pode chamar esse procedimento em diferentes partes do seu programa, passando valores diferentes para calcular a área do retângulo em cada caso.
Dessa forma, você evita repetir o cálculo da área em vários lugares e mantém o código mais organizado e reutilizável.
Guanabara é o melhor! Só tenho a agradecer pelo conhecimento repassado com tanta maestria e zelo.
Fiquei horas tentando resolver o exercício de Fibonacci mas pra mim foi impossível. Tive que olhar a resolução do professor.
#Chateado
Você não ta sozinho amigo haha!
Também cara! hahaha.. Quando olhei a resposta fiquei tipo "como não pensei nisso?!" o problema no meu caso foi que fui desenvolvendo um codigo muito grande, que no final sugou todo minha paciencia e não deu em nada
eu conseguir resolve da forma pobre
tambem nao consegui
N fique chateado pois ele não disse que podia atribuir valores a variaveis antes do comando (Para)
Estou adorando as aulas! Parabéns!
Bom... De acordo com o que meu cérebro absorveu nessa aula, a melhor escolha é sempre declarar as variaveis como referência e não apenas como parâmetro. Declarar como referêcia, faz com que automaticamente seja eliminado algum erro ou resultado indesejado no final.
Estou fazendo esse e Java, desde a primeira aula. Vou fazer todos, porque as aulas da faculdade são o que de pior há na área. Posso afirmar sem sombra de dúvidas que estou tendo os piores professores da minha vida e olha que ela é longa. Já fiz outra faculdade, tenho pós graduação em outra área, mas isso que estou vivendo é sui generis.
Agradecer ao Guanabara é pouco. Parabéns pelo seu excepcional trabalho e parabéns aos patrocinadores que decidiram investir em qualidade na educação. Show!!
Para juntar um pouco de tudo que aprendi até agora, criei um algoritmo de Calculadora inteligente. Te pede 2 números e dps ele pergunta se vai querer somar, subtrair, multiplicar, dividir, ver a Raiz, Multiplicar os valores por PI, ver o seno, cosseno, tangente ou se vai querer apenas saber se o primeiro valor é maior que ou segundo ou se o primeiro é menor que o segundo. Se quiserem dar uma olha pra ver como ficou, seria bem legal kkk.
CÓDIGO:
algoritmo "CALCULADORAINTELIGENTE"
var
Digito,N1, N2, Soma, Subt, Multipli, N3, N4, N: Inteiro
Divi, Raiz, Raiz2, P, Seno, Seno2, Cose, Cose2, Tang, Tang2: Real
Desejo: Caractere
Maior, Menor: Logico
Procedimento Calculadora(var A: Inteiro)
inicio
Escolha A
Caso 1
Soma
top, irmao
Algoritmo "semnome"
// Disciplina : [Linguagem e Lógica de Programação]
// Professor : Antonio Carlos Nicolodi
// Descrição : Aqui você descreve o que o programa faz! (função)
// Autor(a) : Nome do(a) aluno(a)
// Data atual : 30/04/2021
Var
procedimento mediamax()
var
n1,n2,m,mem:real
nome,nn:caractere
c:inteiro
inicio
para c
Eu tenho 2 empregos e tô um pouco cansada, mas eu me esforço um pouco durante a semana e bastante aos finais de semana.
Pegam firme galera, vão plantando a semente agora e logo o fruto dos seus sonhos se realizarão !
amém 🙏, boa sorte Jaque.
Desejo sorte pra vc. Espero q ainda esteja fazendo algum curso.
Melhor professor, obrigado de mais.
Passagem de Parâmetro por Valor
Imagine que você tem uma receita de bolo e precisa de uma cópia dessa receita para dar a um amigo. Você faz uma cópia da receita em um papel e dá para ele. Se ele alterar alguma coisa na cópia, a receita original que você tem em casa não muda.
No mundo da programação, passar um parâmetro por valor é como fazer essa cópia da receita. O programa cria uma cópia do valor original e trabalha com essa cópia. Qualquer mudança feita na cópia não afeta o valor original.
Passagem de Parâmetro por Referência
Agora, imagine que ao invés de fazer uma cópia da receita, você dá a receita original para seu amigo. Se ele mudar algo na receita, essas mudanças aparecerão na receita que você tem em casa, porque é o mesmo papel.
Passar um parâmetro por referência é como dar a receita original. O programa trabalha com o valor original diretamente, e qualquer mudança feita ao parâmetro dentro da função afeta o valor original fora da função.
Obrigada! Sua explicação me ajudou muito e ajudará mais pessoas também!
Gratidão!😊
Com ele explicando eu até entendo, mas na hora de por em prática é osso kkkkkk. Cada aula que passa me pergunto se eu vou conseguir aprender isso , mas vamos que vamos kkkkk
Tou igual, iai já manja em programação??
@@wedisonramos6 e você irmão? Depois de um mês... Tá manjando de lógica já?
@@arthurpimenta8829 Não diria manjando, diria tendo uma boa noção. Com persistência e foco, dá pra conseguir aprimorar cada vez mais a lógica
@@wedisonramos6e 2 anos dps tá como?
Esse professor Gustavo é um Gênio e muito divertido! ótima aula, Se você esta quase desistindo de estudar algoritmo por quê seu professor é muito chato? venha assistir o Curso em Vídeo com ele Gustavo arrazando e ajudando o povo apaixonado pela pela tecnologia e programação no mundo da web.
Guanabara explicando parece facil,em todas as aulas ele diz pratiquem, no meio da aula eu largo logo um pause e começo a refazer os exercicios muito bom mesmo! Vc é fera Guanabara.
Calculadora de Equação de Segundo Grau com Procedimento.
algoritmo "Equação 2º Grau."
var
A, B, C : Real
Procedimento Calculo(X,Y,Z:Real)
Var
D, X1, X2: Real
Inicio
D = 0) entao
EscrevaL ("O valor de Delta é: ", D)
X1 0) e (C0) e (B0) Entao
EscrevaL ("A sua equação é: ", A, "x²", B, "x", "+",C, " = 0")
Senao
Se (A>0) e (B
Nao entendi pq a raiz vale X1:3:1 ?
O que significa o ":3:1"?
@@annanevesdevops é só uma questão "visual"... X1:3:1 significa que ele vai escrever o conteúdo de x1 considerando 3 espaços e 1casa decimal.
Obrigada pela resposta kkk eu fiquei procurando de onde vinha isso. ;-;
resolveu o problema, mas ficou enorme, daqui uns meses vc consegue deixar isso com algumas linhas em outra linguagem
@@dsb007 Realmente ficou enorme... isso foi ha 6 anos. :D
Eu fiz sem declarar a variável dentro do procedimento e deu certo
olha:
algoritmo "semnome"
// Função :
// Autor :
// Data : 17/04/2015
// Seção de Declarações
var
x,y:inteiro
procedimento fib( var A,B:inteiro)
inicio
repita
A
+AllGamesBrasil quando você faz isso aqui --->>> procedimento fib( var A,B:inteiro)
+AllGamesBrasil quando você faz isso aqui --->>> procedimento fib( var A,B:inteiro)
Tô acompanhando aqui! Não entendo como alguém pode dar "dislike" para um professor assim e com esse conteúdo...
Não canso de agradecer! Obrigado por compartilhar com todos!!!!
Consegui entender de primeira todos os conceitos dessa aula e consegui colocar grande parte deles em pratica nos exercícios anteriores misturando com as estruturas condicionais e de repetição, única que não consegui foi o procedimento por referencia. Eu entendi que o valor das variáveis Globais mudam caso exista mudança nas locais, eu só não consegui por em pratica nos exercícios anteriores.
Guanabara, mas em que situação deve-se usar a passagem de parametro por valor e por referência?
Teria um exemplo prático pra nos dar?
Senti falta de um exemplo prático também.
@@pamelamachado3752 isso mesmo que senti em alguns casos nas aulas de logica, e logo em seguida vinha os exercicios! Muitos eu peguei com facilidade enquanto outras pessoas estao com dificulade, mas tbm em alguns pontos fico travado justamente pela falta desses toque que podiam substituir outras coisas desnecessarias citadas nas aulas
@@pamelamachado3752 demais...to perdididaço por não ter um exemplo pratico
Calculadora XD:
algoritmo "Calculadora"
//==============================
//Autor: Diogo Steiner
//Data: 27/05/16
//Funão: Calculadora
//==============================
var
Resp, N1, N2, Soma, Sub, Mult: Inteiro
DivN: Real
//Procedimento Para A SOMA
Procedimento Adicao (A, B: Inteiro; var SomaAd: Inteiro)
Inicio
SomaAd B) entao
Subt
Curso em Vídeo é o único canal que eu desativo o AdBlocker, pois ele realmente merece
Isso é verdade, de incio parecia um coisa impossível mas depois de assistir pela 3° vez eu consegui entender bem
Olá, professor! Tem previsão de um curso em linguagem C/C++? Obrigado pela aula.
Uma dica para todos é SEMPRE ANOTE. Praticar é ótimo, mas o 2º mais importante é ANOTAR. "Ah, mas tô com preguiça de anotar na folha do papel", eu criei vários grupos no discord para os Cursos do Guanabara. Cada vez que preciso anotar eu pauso o vídeo, tiro uma print da tela de onde é parte onde eu vou anotar algo ou resumir com minhas palavras. Sim, você vai demorar muuuuuuuuuuuuuuito mais tempo em uma 1 aula. Numa aula que de 20 ou 30 minutos, eu paço umas 2 ou 3 hr, e, na maioria das vezes, beeeeeeeeem mais do que isso. Essa aula eu anotei pra um caramba, então demorou muito mais tempo mesmo. Além de te ajudar a entender os conceitos, sempre que ficar em dúvida em algo, nem precisa ficar caçando aula, é só você ir lá na suas anotações e tirar suas dúvidas. Então gente, mão na maça e BONS ESTUDOS PARA TODOS VOCÊS!!!!!!
Eu faço a mesma coida e a dica realmente funciona, ficou beeeeem mais facil algoritmo depois que eu passei a anota e ler o que eu anotei, eu uso o proprio wordpad junto a prints, ajuda bastante mais essa aula vou te que assitir novanebte do meio pro fim ...
Caramba Guanabara, me ferrei por culpa da pressa, no teste do final do curso tem várias questões relativas a escopo, agora que estou revendo a vídeo aula me veio elas a cabeça, :-/ pressa é inimiga da perfeição mesmo, mais ta valendo agora em diante sem desespero, vlw por compartilhar seu conhecimento conosco.
Guanabara é um monstro. Esse material faz parte do material auxiliar na faculdade em que estudo.
Seria correto dizer que o Procedimento é um Algoritmo dentro de outro Algoritmo???
Sim!
É um algoritmo secundário.
Valeuuuu
"A prática leva à perfeição." "Nada é perfeito." Ué
"A prática leva à perfeição" Está no escopo local: praticando você consegue a perfeição (resolução de um problema específico, que deixa de existir como um problema).
Já "Nada é perfeito" está no escopo global kkkkkk
@@Rafaelmllv Saquei, obrigado por comentar! :)
Cara, muito bom! Assistindo essas aulas, algoritmos nem parece tão difícil!
Não tenho palavras para agradecer essas aulas. VOCÊ È O CARA!
**ATENÇÃO SE VOCÊ ESTÁ APRENDENDO DE UMA OLHADA NESTE CODIGO:
----------------------------------------------------------------------------------------------
algoritmo "CALCULADORA INTELIGENTE"
var
X, Y, SOM, SUB, MULT, DIVI : real
resposta, Z, W : inteiro
//PROCEDIMENTO 1 ( SOMA)
Procedimento soma(A,B : inteiro)
Inicio
SOM B) Entao
SUB
N seria melhor ao inves de usar muito o comando SE usar o comando ESCOLHA não?
Sim vc tem razão, mas só falei pq achei q poderia deixa o código mais limpo, tbm fiz uma calculadora usando o escolha
algoritmo "CalculadoraInteligente"
var
Op: Inteiro
AdiN1, AdiN2, SubN1, SubN2, MulN1, MulN2, DivN1, DivN2: Real
Continue, SairP,Sair : Caractere
Procedimento Aviso()
Inicio
EscrevaL("PS.:Para conta com números decimais use ponto ao invés de virgula")
EscrevaL("-----------------------------------------------------------------")
FimProcedimento
//Menu
Procedimento Menu()
inicio
EscrevaL("=======================")
EscrevaL(" CALCULADORA |")
EscrevaL("=======================")
EscrevaL("Escolha a operação |")
EscrevaL("[1] Adição |")
EscrevaL("[2] Subtração |")
EscrevaL("[3] Multiplicação |")
EscrevaL("[4] Divisão |")
EscrevaL("[5] Sair |")
EscrevaL("=======================")
Leia(Op)
LimpaTela
FimProcedimento
//TelaFinal
Procedimento TelaFinal()
Inicio
EscrevaL("=====================")
EscrevaL("Obrigado por usar! :)")
EscrevaL("By: Stevan")
EscrevaL("=====================")
FimProcedimento
//ConfirmaçãoSaida
Procedimento SairP()
Inicio
EscrevaL("=======================")
EscrevaL("Você tem certeza? [S/N]")
EscrevaL("=======================")
Leia(sair)
Se sair = "N" entao
LimpaTela
Menu()
FimSe
FimProcedimento
//AdiçãoProcedimento
Procedimento Adicao(A, B: Real)
var
resp: real
Inicio
resp
@@stevan2122 mt bom mano
@@hugodossantos3882 vlw man c:
Quem aqui, assim como eu, faz, ou tenta rsrs, os exercícios antes dele mostrar?
Eu, sempre.
procrastinei infinitos 1 mes nessa aula pq fiz a meta de praticar com os exercicios anteriores e quando travei no fibonacci eu só larguei (final de ano tbm complicakk) mas entendi totalmente essa referencia depois que fiz.
algoritmo "semnome"
var
c: inteiro
procedimento seqfib(var cc: inteiro) //referencia
var
n0, n1, f: inteiro //variavel local
inicio
n10 faca
f
esse professor é muito bom......Parabéns professor....essas aulas são show demais ....
só nao entendi bem o por que usar o procedimento em algumas, tipo a sequencia de fibonacci daria pra fazer sem usar o procedimento, já o primeiro exemplo que ele deu ( DA PESSOA MAIS PESADA) eu entendi que fazendo aquilo economiza tempo, energia e linha. Mas as outras eu nao entendi por que usar procedimento já que ficaria a mesma coisa sem ele. É por motivo de organização, aparência ou esse é o jeito certo de se fazer mesmo e ele só nao ensinou no começo pra gente ter uma base e ficar mais acostumado com os algoritmos?
procedimento é útil em algoritmos muito extensos. onde é inviável ficar digitando 20 linhas pra fazer algo toda vez que precisar de um resultado especifico
ai vc tem um procedimento pra fazer isso infinitas vezes.
usando a criatividade da pra brincar
coloquei procedimento no algoritmo de calcular se um numero é par ou impar pra poder perguntar pro usuario se ele quer continuar a declarar numeros infinitamente
Fibonacci trava minha mente mas isso nao vai ficar assim, vou entender essa P044@
16:25 Escopo é onde uma determinada variável vai funcionar.
Essa aula foi o maior mind blown que eu já tive até agora envolvendo algorítimos kkkkk, isso de procedimentos gera tantas possibilidades diferentes que não dá pra contar.
disponibilizem as apostilas para o curso de algoritmos. os links expiraram!!!
Fala fera, tudo bem? So acessar no google drive: drive.google.com/file/d/1CdWk1uozeeWRUt1b8hN3r93qFw-B7pal/view?usp=sharing
@@davispalla obg brother
@@davispalla Vc é um anjo!
@@davispalla Eu conheci este curso semana passada, e sou novo nessa área de programação. Você possui todas as aulas ? É que tentei me inscrever no curso e lá fala que está "temporariamente suspenso" e com isso não consigo baixar nada. Estou precisando desde o exercício 01 até o último.
algoritmo "semnome"
// Função :
// Autor :
// Data : 20/09/2015
// Seção de Declarações
var
i : inteiro
mai ,peso : real
nome ,pesado : caractere
procedimento topo ()
inicio
limpatela
escreval ("------------------------------")
escreval ("detector de peso")
escreval ("maior peso :", mai)
escreval ("O gordo :", pesado)
escreval ("------------------------------")
fimprocedimento
inicio
topo ()
para i mai) entao
mai
Excelente explicação!
Antes do curso em video, eu havia feito outro curso de algoritmos e ficado com muitas duvidas. Graças ao professor Guanabara estou finalmente entendendo. Muitissimo obrigada pelo excelente trabalho e por disponibilizar isso a todos