Funções - Curso de Algoritmos #13 - by Gustavo Guanabara
HTML-код
- Опубликовано: 12 сен 2024
- Funções em Algoritmos são rotinas que são capazes de executar instruções e retornar um resultado, valor de retorno.
Você pode ter dois tipos de passagem de parâmetros para funções: passagem de parâmetro por valor e passagem de parâmetro por referência, onde apenas o endereço da variável é enviado para a rotina.
Como criar funções em algoritmos. Em outras linguagens como PHP, C e Java, essas rotinas são conhecidas como Function.
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/
Hoje (26/08/2024) o primeiro video desse curso tinha 5.1 milhão de Visu e na aula 13 tem '' apenas'' 515 mil, ou seja, 90% das pessoas não continuaram o curso ou desistiram. Se você chegou ate aqui, parabéns, você faz parte dos 10% que persistiram nesse curso ministrado pelo melhor professor possivel.
Obrigado Guanabara.
Pra quem tem ansiedade e se cobra MUITO, assim como eu:
Lembrem-se que o propósito pelo qual estamos fazendo o curso é APRENDER, e não ser perfeito! Errar, ou não conseguir fazer um exercício sem olhar a resposta, faz parte do aprendizado e é completamente normal!
comentário perfeito mano
Obrigada amigo, me acalmou
obrigado pelas palavras meu nobre
Tem razão meu jovem! É uma pessoa muito sábia.
Não tenho PC. Mas meu caderno está quase acabando de tanto fazer algoritmos. Obrigado Gustavo!
Davi Gomes faz no celular... eu faço
Mesmo se comprar um computador, treine no caderno, vai fixa muito mais, uma dica que recebi de um professor e realmente é incrível, Abraços.
qual é o aplicativo que você usa?? Obrigado e bons estudos!
@@susananunes3238 tem o aplicativo pseudocode e o portugol. São muito bons os dois pra treinar algoritmo pelo celular. tem vários aplicativos que vc pode usar para programar no celular.
Parabéns cara , msm você não tendo um PC esta se esforçando
Para quem não entendeu o que é Uma: "FUNÇÃO DE TRATAMENTO DE STRING". Aqui vai a explicação:
Uma função como vimos no vídeo é uma ROTINA que devolve um valor para o corpo principal do algoritmo e dentro das linguagens de programação é possível a criação de FUNÇÕES PERSONALIZADAS e dentro do VISUALG existe FUNÇÕES JA PRÉ-PROGRAMADAS para facilitar
o desenvolvimento do seu algoritmo. ESSAS FUNÇÕES SÃO:
> FUNÇÕES DE TRATAMENTOS DE STRING e > FUNÇÕES NUMÉRICAS, ALGÉBRICAS E TRIGONOMÉTRICAS.
> As FUNÇÕES DE TRATAMENTOS DE STRING --- são funções para a manipulação de textos (Strings, Caracteres). Isso significa que voce pode aumentar ou diminuir um texto e muito mais de acordo com a sua preferencia, como mostrado no vídeo, veja alguns exemplos:
- Maiusc (c : caracter) : Retorna um valor caracter contendo a expressão em maiúsculas.
- Minusc (c : caracter) : Retorna um valor caracter contendo a expressão em minúsculas
> As FUNÇÕES NUMÉRICAS, ALGÉBRICAS E TRIGONOMÉTRICAS -- Elas fazem exatamente a mesma coisa que as funções de manipulação de texto, mas a diferença é que manipulam números. Essas nós ja até vimos aqui, veja também alguns exemplos para relembrar:
- Abs( expressão) - Retorna o valor absoluto de uma expressão do tipo inteiro ou real. Equivale a | expressão | na álgebra.
- RaizQ( expressão) - Retorna a raiz quadrada do valor representado por expressão.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- Caso eu tenha cometido algum erro por favor deixem abaixo a correção, Obrigado!
- Obrigado, Guanabara pela aula maravilhosa.
Obrigada carinha
É incrível como automaticamente a lógica da programação que todos falam, vai entrando cada vez mais na cabeça ! Obrigado Guanabara
Muito bem, faltam só 2 aulas senhor Arabanauag Ovatsug, até então aproveitamento do curso 100%, agradecendo aqui novamente pelo projeto CursoEmVideo, parabéns ao professor e a todos a equipe :D
ea doação $ pro canal ta teno?
kkkkk
Kkkkkk
Minha interpretação de Funções é que elas são basicamente um bloco inteiro de algoritmo embutido em um só nome que vc pode chamar a qualquer hora.
Comecei a entender com seu comentário. Não tinha ideia onde colocar essas funções. Valeuu
É
Mas tipo na função vc retorna o valor e nos procedimentos não, você só vai ver o valor no final da execução como um escreva sem dar uma referência a esse valor, você só vai mostrar o resultado normal como qualquer outro algoritmo, já na função você vai retornar o valor baseada na referência do valor de retorno lá de cima, pelo menos eu entendi dessa forma na minha cabeça kkk
@@stefan10087 ele ta falando das funções personalizadas do visualg
@@walterjdg ah ta
Para quem está tendo dificuldades em entender como cada coisa se relaciona uma com a outra, tente escrever anotações sobre a explicação e depois escrever todo o código em um caderno, aprendi dessa forma, só depois disso passei para o Visualg, o que tornou bem mais fácil já que estava entendendo como funciona os novos comandos. A dica é escrever a caneta e depois rabiscar anotações com um lápis em cima do código, relacionando os comandos e variáveis com setas e deixando pequenas notas informando o funcionamento do código. Aprendemos bem mais quando escrevemos à mão ;)
Eu faço isso tbm, é uma excelente dica e ajuda muito a compreender e a fixar o aprendizado!!
Vocês também podem digitar // no visualg, que você pode digitar anotações a vontade que o programa não vai ler como uma sintaxe!
Creio eu que a principal diferença entre um procedimento e uma função é que é possível guardar a função em uma variável (como visto no primeiro exemplo, quando o Guanabara atribuiu RES
Yaeh cara, como está sendo na programação atualmente?
Show de bola professor... é por causa de pessoas como você que o mundo é melhor e mais produtivo... Eu acabei desistindo da faculdade porque os professores, simplesmente, não sabiam ensinar. Muito obrigado pelas aulas. Entendendo muito!!!!
Excelente as aulas, em pleno 2023 assistindo essa aula antiga mas top demais.
HOJE EU ENTENDO QUE PROGRAMAÇÃO É UMA NECESSIDADE DOS TEMPOS DE HOJE E MUITO MAS DO FUTURO.
SOU MUITO GRATO POR SEU PROJETO CURSO EM VÍDEO
VOCÊ GUSTAVO E SUA EQUIPE DE APOIO , EDIÇÃO EM FIM TODOS OS QUE ESTÃO POR TRÁS DO CANAL E SITE CURSO EM VÍDEO , EU PARABENIZO A TODOS ! A ESTRUTURA E QUALIDADE DO CANAL EXCELENTE TUDO ISSO GRATUITO A QUEM REALMENTE DESEJA APRENDER, EU SOU MAS DESSAS PESSOAS E DESEJO MUITO APRENDE COM CURSO EM VIDEO . MAS UMA VEZ MUITO OBRIGADO. VIDA LONGA E PROSPERA !!
Quando dá , eu tenho realizado o exercício de exemplo antes da explicação. Como, por exemplo agora. Já realizamos o Procedimento e agora as Funções tem pouca mudança de uma para outra. Então, antes do Prof escrever o código no Visualg eu escrevo e depois comparo para ver se acertei.
Nossa ... isso tem sido mt bom para mim , me faz pensar bem mais e a cada nova aula as coisas tem ficado mais fáceis.
Obrigada Guanabara ! Vc é incrível!
Eu venho fazendo exatamente isso; faço das tuas palavras as minhas.
Eai? Como vc está hj em dia? Continuou na área?
@@felipegomes2147 oie. Continuo sim.
Uma coisa eu percebi no meu aprendizado. Tudo que o professor faz com exemplos matematicos, eu tento fazer com exemplos escritos..
Mesmo que seja juntar duas palavras e tal, me ajudou muito. Acredito que ele use muito exemplo matematico, porque facilita o entendimento de retorno de valores, mas com palavras tambem ajuda bastante.
Tô tendo dificuldade justamente com isso. Tentei fazer uns exercício onde a passagem seria de Caracteres, mas o codigo não roda 😢o que me faz ter a certeza de que tem algo muito importante aqui que eu não to entendendo :(
@@eusoutatiana O que o Visualig retorna pra você?
@@eusoutatiana Manda ai 1 algoritmo que tu tá tendo problema, que ai a pessoa que lê teu comentário pode ajudar. Se tu mandar e eu souber ajudar, eu ti respondo. Se nao, é... respondo que nao. Enfim... é isso
quando se aprende os procedimentos, fica facílimo as funções! vamos com tudo nos vetores e nas matrizes!!! me aguarde,professor!!!!!!!!!!!
É isso aí brother!!!!
Exatamente isso. Vi diversas vezes os videos de procedimentos"" #PartiuVetores
Muito feliz por estar aprendendo algoritmos com você, professor! Mais uma excelente aula!
que caminhada longa agora faltam apenas 2 aulas,obrigada prof.Gustavo Guanabara.
Até aqui entendi muita coisa, se estou com dúvida é mais em aplicar ou compreender aonde se aplica, em quais casos devemos usar Procedimentos ou Funções, ou mesmo nem usar... hoje decidi continuar rumo a Vetores e Matrizes!
Muito Obrigado Arabanauag Ovatsug! suas aulas são incríveis!
Só para registrar; as aulas de POO [teoria] são semelhantemente fantásticas !
Também tenho esse questionamento. Pois é possível fazer isso com as lógicas apreendidas no começo do curso. E, com elas é bem mais fácil criar um código.
Eu tbm fiquei com mesma dificuldade!!! 😭😭 Vcs conseguiram aprender depois de qnto tempo?
24/08/2023. Tô assistindo tudo sem treinar e depois vou voltar no início fazendo tudo sem deixar passar nada. Tenho 28 anos e é um reviravolta, uma quebra de paradigma investir em uma carreira completamente nova. Muito obrigado, professor, pela contribuição. És o mais famoso do Brasil. Milhares de alunos te devem gratidão.
Tô assistindo e fazendo ou tentando fazer os exercícios. Depois que assistir tudo, vou voltar do começo e fazer cada aula até aprender 100%, aí só depois vou pra próxima aula. Nem que fique 2 ou 3 dias em uma aula. O que me perco mais é na estrutura dos exercícios, como esquecer uma vírgula, fechar um parênteses, etc. Tenho 30 anos, sou formado em publicidade e propaganda e penso em mudar de área pq a área de programação além de crescer muito, está pagando bem melhor que a minha área. Meu irmão trabalha a uns 4, 5 anos com isso e ganha muito bem. Talvez ele me indique para uma vaga no futuro.
22/10/23 fazendo a mesma coisa... quando terminar vou assistir tudo do zero fazendo o passo a passo.
Primeiramente, quero agradecer e parabenizar ao Professor e toda a equipe pelo projeto Curso em Vídeo.
Estou adorando fazer esse curso, ainda que não seja a minha área (sou designer!).
Quero deixar apenas duas observações sobre esta aula:
1. Percebi que, por padrão, a função "Carac" retorna a letra em maiúsculo. Porém, para deixar minúsculo, tive que inserir a função "Minusc" ANTES da função "Carac": "Minusc(Carac(65))".
2. Reparei que o espaço entre os caracteres também são contabilizados pela função "Compr". O meu nome, quando utilizando o espaço entre nome e sobrenome, ficaria com 13 letras (Dalton Borges), que, na verdade, seriam 12. (obviamente, observo apenas por questão de raciocínio).
Bons estudos a todos!
Essa do espaço contar como um caractere parando para pensar faz sentido agora, porque quando você vai escrever algo em algum lugar q tem limite de caractere quando você usa o espaço sempre contabiliza 1
Vou iniciar o curso de ciência da computação esse ano e estou revendo lógica de programação. Amo essa aula
Nossa, me identifiquei! Quero começar a cursar no semestre que vem
@@davidnavarro4495 Tô na metade do curso e até agora tá sendo uma experiência bem legal, apesar de desafiadora. Algumas disciplinas exigem bastante raciocínio lógico, mas nada que não dê pra contornar com bastante dedicação. Hoje não me vejo estudando outra coisa
@@GiulianaCyrus que Show! Obg!
@@GiulianaCyrus foi muito bom ler o seu comentario, Giuliana! quero começar a faculdade esse ano e eu espero me encontrar no curso assim como vc 😊
@@GiulianaCyrus comecei ads esse ano tô muito animado, apesar de já estar estudando por conta própria faz um tempo, mas sempre venho aqui nesse curso dr algoritmo pra não esquecer e reforçar a minha lógica.
No minuto 10:14 me fiz o desafio de fazer o exercício antes de ter a resolução, quando terminei, achei que estava errando em algo pois dps vi a aula e vi que não ficou a mesma coisa mas quando coloquei pra rodar e vi que deu certo só fiz de uma maneira diferente do professor, fiquei muito feliz. Vejam como ficou minha resolução...
algoritmo "PAR-OU-IMPAR_FUNC"
var
N: Inteiro
R: Caractere
Funcao Result(A: Inteiro): Caractere
var
T: Caractere
Inicio
Se (A%2 = 0) entao
T
Yaeh cara, ainda continua firme na programação?
@@brenogurgel2719 sem parar meu mano kkk
Isso q é o massa da programação, mesmo fazendo os codigos diferentes eles podem retornar o mesmo resultado
Principalmente agora que estou terminando essas aulas, eu tô entendendo o porque que lógica de programação é tão importante
Até agora eu nunca vi um professor que explica tão bem quanto o senhor Gustavo Guanabara!
Mais uma aula extremamente show! O mais legal eh que vc leva muito a serio o aprendizado. Sua enfase em estudar, praticar, insistir, esclarecer duvidas antes de passar pra frente, eh muito interessante.
Parabéns Gustavo, Você é o melhor Prof de Lógica que eu já vi!!!
Só com muita determinação pra chegar ate aqui, nem eu achei que ia ta chegando tão longe e esse curso ta mudando minha vida cara. Com certeza é um dos melhores professores que já vi!
Como ta hj?
@@emilym6343 infelizmente ainda continuo desempregado por causa dessa crise,mas por causa desse curso ficou mais fácil aprender outras linguagens.Por enquanto vou fazendo cursos e tirando certificação,e continuando a procurar emprego até achar.
@@GabrielSantos-rg5rl Ahhh poxa, essa crise tá complicada msm! Vc ta focando na area da programação, ou, outra coisa? Conseguiu avançar nesse 1 ano?
A partir da aula 12 começou a ficar foda. Mas tô insistindo. Algumas coisas eu consigo resolver, outras não. Mas não dá pra negar, o professor é muito fera. Parabéns!
É isso aí, cara! Concordo com você! A partir da aula 12 o negócio fica pegado! haha
@@cauetrevisanpanserini8157 Pra mim ta pegado desde o começo, to fazendo o curso na força do ódio kkkkkkkk
Galera consegui fazer esse alg antes de ver o professor fazer no video , dei pause e parti para raciocionio usando os conhecimentos adquiridos nesse curso , o do professor ficou melhor , confesso, mas fiquei muito feliz por ter conseguido fazer o meu propio exemplo.
algoritmo "nomes"
var
n:caracter
cont,nl:inteiro
inicio
escreval("Digite seu nome:")
leia(n)
escreval("Quantidade de letras do seu nome:")
leia(nl)
para cont
caralho mlk tu é um gênio, já tinha desistido aqui pq o meu visualg é mais atualizado e o código que ele faz dá erro
Show de bola Gustavo Guanabara O professor dos professores, "quem disse que não podemos aprender se divertindo" parabéns a você e toda sua equipe, ótimas vídeos aulas nota 10!
Cada dia que passa vai ficando mais fácil os conceitos.
Graças ao professor que merece um Obrigado !!
Gustavo Guanabara.
Quem acha que o cara merece da um jóinha aí.
no começo do curso eu tava desesperada, agora parece que tudo vai realmente ficando mais facil, valeu guanabara, slk, maluco eh bom demais
comigo ta sendo o contrario, comecei tranquilo agora eu to ficando maluco
@@gonmendes kkkkkkkkk é normal a sensação, mas boto fé que vc consegue
Apanhe muito, se você não entendeu o vídeo do guanabara, busque livros e converse na comunidade por aí que você conseguirá entender. Não se preocupe se você não entendeu da primeira vez. Depois dos procedimentos (fiquei umas 3 semanas tentando achar sentido naquilo) realmente você fica afiado (a) e aplique isto aos exercícios mais básicos que fará sentido pra você. Depois disso, funções ficam tão fáceis quanto fazer pudim de leite.
Essa é minha segunda vez vendo a série de algoritmos, na primeira pareceu um bicho de sete cabeças e muita informação em uma coisa só. Mas agora está bem mais claro. Até parece doideira isso de ficar claro algo que uns tempo atrás parecia ser impossível.
Para o pessoal que não está entendendo muito: Pratique e presta bastante atenção em qualquer lógica que vc ver ou escrever (seja ela simples ou não), pois elas fazem falta em muitas situações.
fazer pudim é dif
Obrigado Guanabara por sua causa eu consegui evoluir ainda mais em algoritmos e sinto que quando eu terminar este curso irei conseguir resolver erros e criar programas 👊
tive uma experiencia muito legal nessa aula , fiz o alg. pra fatorial usando dois contadores e o prf. Guanabara fez usando apenas um contador e a razao dele ter conseguido fazer com apenas um contador foi o tecnica de inversao , o professor inverteu a forma de calcular o fatorial ao inves de fazer 5*4*3... ele fez 1*2*3 ... e dessa maneira foi possivel escrever o alg. usando apenas um contador. A inversao eh muito importante na matematica!!!!!!!!!!!!
Eu paguei um curso na impacta não aprendi tanto igual o Professor guanabara que é gratuito..... Vc está de parabéns
Com o Guanabara não tem como não entender as aulas.......tem que fazer um esforço muito grande para não entender.....Parabéns Gus.
+G Hamilton Minha professora da faculdade, até que explica bem, mas eu não tinha intendido direito, vi as aulas dele, aprendi tranquilo. Bem que ele poderia ser meu professor kkkk
Mas é Brother, sem ser presencial vc viu,aprendemos muito......como ele diz Estuda MOLEKE
Parabéns Guanabara! Esse curso esta me ajudando muito nas duas disciplinas de JAVASCRIPT e PHP do meu curso Técnico em Informatica para Internet .
muuuito boa as suas aulas apesar de eu ja saber sobre logica de programação venho aqui pra parabenizar as aulas de Html5 CSS3 e JavaScript. Se puder futuramente lançar algumas aulas de JQuery ficaria agradecido ;-)
eu fui em uma palestra dele ontem em Unaí-MG muito top a palestra recomendo a todos que puderem ir vão porque ele sabe passa conhecimento.
parabéns...
Oi gente. O meu código do Fibo é diferente do Guanabara, atualizando apenas o primeiro número da série, over and over. Segue o código para vocês estudarem o passo a passo.
Nota: antes de transformar em rotina, seja procedimento ou função, eu escrevo o código funcional normal, caso contrário poderia ficar louco tentando consertar algo que, à princípio já não funcionava.
O outro motivo é justamente o fato de que para transformar em "rotina" nós "levamos" essa parte do código para execução em outro lugar, e deixamos ali apenas uma "chamada" para ela, ou seja, saber que ela está correta e funcionando é essencial.
-------------------------------------------------------------------------
Var
// Seção de Declarações das variáveis
C, N1, N2, N3: inteiro
Função Pfibo(var F1, F2: inteiro): inteiro
var F3: inteiro
Inicio
F3
Você primeiro fala que não podia usar o ( para) em interação com o usuário, usei o(enquanto) mas deu certo; Guanabara melhor do RUclips!!!.
Obrigada pr partilhar seu conhecimento.VC TEM UM DOM!!!!ENSINAR Muito grata por toda ajuda
Esse curso é muito bom, recomendo a todos que se interessam a fazer me ajudou muito
Descobri mais um detalhe interessantíssimo. Eu acompanho o canal do Fabio Akita e ele comenta que o ideal para estudar lógica e fazê-lo com uma linguagem não comercial atual, justamente para focarmos no entendimento da lógica, e não em decorar macetes que, por ilusão, acharemos importantes enquanto aprendemos (não com essas palavras, mas em essência é isso)... e tenho buscado referência de como estudar lógica com Pascal ou Turbo Pascal... tem até versão online pra facilitar.
Experimentem isso. Uma vez o código completo, nos "menus" do Visualg tem "Exportar para"... vai abrir uma tela mostrando o código que vocês escreveram mas para o Pascal, Zim, etc. Vão ver ali um símbolo de "recebe" que o Guanabara usou recentemente. Talvez aquele erro tenha sido por isso. Como ele usava um Windows virtual no Mac, pra usar o Visualg ali, talvez ele tenha "ajustado" (o próprio Visualg) para exibir o código já para o Pascal. Foi o que me passou pela cabeça agora.
Obrigado por mais esse vídeo, professor.
Realmente voce é um otimo professor, eu estou aprendendo tudo ate agora só o conceito de Fibonacci que eu nao consegui criar um codigo por conta própria
parabens pela iniciativa gustavo !! eu achei que nunca ia aprender a programar , com o curso de augoritmo vejo que é possivel sim se houver uma disciplina de minha parte.
Para quem está desesperado e ansioso para ir pra próxima, relaxa... consolide o conhecimento, já vai sair dessa, será muito produtivo ter calma e fazer as coisas com maior tranquilidade e certeza.
Saaalve!!! nos veremos lá na frente.
Percebi algo muito importante, tanto nas estruturas de Procedimento quanto na Função, o pareamento de referência são bem encaixados em algoritmo que tem como base estruturas de repetições, isso clareou muito minha mente ....
Valeu!
Eu entendi que procedimento você não consegue alterar os valores do programa principal, no caso talvez, somente com passagem por referencia, mas funções pelo que estou vendo é como se fizesse uma atribuição dos valores da função dentro de uma variável, por exemplo na soma que o professor fez, a diferença foi que ele fez a variável S
Sobre a diferença passagem por valor e passagem por referência, a passagem por valor, normalmente em procedimento só faz a modificação e atribuição dos parametros dentro do escopo local ou seja dentro do procedimento, quando você pede passagem por referência, qualquer modificação que tenha no parametro, será modificado na variável, se você declara uma variavel X do tipo inteiro e faz uma passagem de procedimento A,
X
Aliás... Agradeço muito a você Guanabara... Suas aulas são sensacionais é muito bem elaboradas... Você conhece muito meu querido... Parabéns.
Eai, amigo. Como estão indo as coisas na área? Continuou na programação?
NESSA AULA DE HOJE EU TIVE UM POUCO DE DIFICULDADE... MAS GRAÇAS A DEUS EU CONSEGUI... FOCO GALERA... QUE DEUS NOS ABENÇOE
Yaeh Pedro, como está na programação? Já progrediu desde esse seu comentário?
Nunca fui muito bom em matemática, int algumas partes desse curso estão sendo um desafio bem grande pra mim. Tomara que eu supere essas dificuldades.
No final ele cita q é "possível" aprender programação aprendendo do mais abstrato, q é a lógica. Mas meu tutor, q é qm me direcionou os primeiros passos a serem tomados na carreira (se é q já q se pode chamar assim, já q ainda tô aprendendo - entusiasta é mais adequado e realista, ao menos no momento) me afirmou com plena e absoluta crtz q grande parte do processo se refere a entender justamente esses fundamentos. Q pegando isso, aprende-se qualquer linguagem, pois são variações
Muito obrigado professor!!!!!!!!!!!!!!!!!!!!!!!!
#VcéFoda
To com muita dificuldade em aprender, desde as estruturas de repetição até agora aula 13 .. assistindo na força do ódio mesmo hahaha!! Mas o professor é fera.
Rotinas
Rotina é a característica que uma sequência de códigos têm de se REPETIR no desenvolvimento de um programa.
Funções
Diferente do Procedimento, que NÃO retorna valor algum, a função é um subprograma que RETORNA um valor.
Sintaxe:
funcao [()]:
// tipo de dado = tipo de dado do RETORNO
[var]
inicio
fimfuncao
A função funciona de maneira muito semelhante ao procedimento. Porém, com a exclusiva diferença de que ela TÊM A CAPACIDADE DE RETORNAR UM VALOR.
Ex1:
1 algoritmo "ParOuImparUsandoFuncao"
2 var
3 N: inteiro
4 RES: caractere
5 funcao PouI (A: inteiro): caractere
6 inicio
7 se (A%2=0) entao
8 retorne "PAR"
9 senao
10 retorne "IMPAR"
11 fimse
12 fimfuncao
13 inicio
14 escreva ("Digite um número: ")
15 leia (N)
16 RES
Parabéns pelo curso, muito boa as aulas, e também muito profissional, que venha outros cursos, inclusive ou principalmente o de PHP
Curso muito bom!!! Estou acompanhando, fazendo os exercícios e aprendendo muito. Com essa base de ferro, os seus alunos, Guanabara, terão promissores futuros! Obrigado por tudo :D
Exercício proposto pelo ivan araujo:
"Faça
a leitura da altura de até
cinco pessoas e apresente a média aritmética entre elas, calculada por um
subprograma que receberá só dados por parâmetros."
Resolução:
algoritmo "alturamedia"
// Função : Calcular a média aritmética da altura de um número qualquer de pessoas
// Autor : Rodrigo Matos Aguiar
// Data : 24/10/2016
// Seção de Declarações
var
QP, C: Inteiro // QP - Quantidade de Pessoas, C - Contador
h, hM: Real // h - Altura, hM - Altura média
Funcao Altura(A, B: Real): Real
Inicio
B
Gustavo, eu entendi sua explicação para rotina, mas eu fiquei confuso por conta de não saber uma finalidade pra rotinas de soma, sendo que eu posso fazer isso no próprio programa principal sem tanta complicação!
+Haruki Acredito que depois de todo esse tempo vc já sabe a resposta, mas vou falar o que entendi pra que outros quando forem ler isso entendam. A função é algo que, como o próprio nome diz, da uma função ao caractere. Por exemplo, quero deixa-lo um nome vermelho (é só um exemplo) daí, crio uma função que deixe o nome vermelho e deixo ela lá pra utilizar ela quando eu quiser, e não precisar ficar criando aqueles mesmo códigos dentro do programa principal. É como um atalho que vc faz, pra toda vez que precisar fazer aquilo desejado, só digitar o comando e pronto. Querendo deixar alguns nome isolados de cores diferente, é só digitar o comando e tudo ok. entendeu? mas isso de cor foi só um exemplo, n sei se pode mudar a cor do programa no visual.
+Haruki Simplificando, é como fazer um programa a parte que tenha uma função que eu quero usar no meu programa principal, sendo necessário apenas chamá-lo pra poder ter a ação dele.
vc precisa escrever um codigo por algum motivo estranho de 100 linhas ai vc tenq repetir isso tipo cada vc q vc perde (um exemplo se fosse um jogo) ai vc ia teq escrever 2 ou 3 vcs as 100 linhas com a função ou procedimentos vc tenq escrever as 100 linhas + 1 + 3 linhas basicamente ao invez de vc escrever 300, 200 , 400 linhas vc escreve 104, 105 linhas
ou seja o teu software ficaria Mais otimizado tambem!! ja que toda variavel demanda espaço de alocaçao temporaria na memoria.
@@shellscript5508 valeu brow , consegui entender agora
dia 26/3 foi a ultima vez q fiz o curso, desanimei e fiquei esses dias sem fazer, voltei hj, bem desanimada, mas espero recuperar meu animo, preciso aprender, e vou recomeçar da primeira aula depois e reassitir todas e praticar bastante, nao é possivel q dai eu nao aprendo rsrs
SEGUINDO UM CONSELHO SEU, E FINALIZANDO OS CURSOS QUE COMECEI.
PARABÉNS PELAS AULAS.
Pra quem ( MEGA RETROSPECTIVA ) lembra da pratica condicional que ele fez fatorial, mas escrevendo a sequencia do numero e depois colocando o resultado e não sabe ATÉ AQUI, como tirar o "X", por exemplo:
1 x 2 x 3 x 4 x 5 = 120
Que se tu fizer pra escrever o (cont, " x ") vai aparecer um "X" dps do ultimo numero
1 x 2 x 3 x 4 x 5 x = 120
É só colocar um SE( Cont = N) entao
Escreva (Cont)
Senao
Escreva (" x ", Cont )
FimSe
// esse ultimo escreva n lemhro se o " x " vai depois do "cont" ou antes.
//esse N é o numero q eu quero descobrir o fatorial
Assim, quando o N for igual ao numero q tu Digito, ele vai escrever apenas o numero e não o numero junto com o "x".
Lembro q n aula de condições, ele disse q tinha como tirar o "x", mas deve ter esquecido de fazer, ai eu fui e desisti de tanto queimar a mente em uma parada tao facil. Ironicamente quase 10 aulas dps, eu fiz suave kkkkk.
ta programando ainda? se sim, tem um jeito mais simples.
contagem até 10 ponhe até 9 e embaixo do algoritmo de repetição colocar Escreva(Contador,".")
o ponto final é opcional, ai a variável global vai fechar 10 certinho n 11, agr n sei se isso pode interferir no programa. Já que ele disse que a contagem no valor da variável sempre finaliza em +1 número e ele fica "invisível".
SCHOW ESSA AULA. Acho que estou conseguindo entender isso, é mais dificil mas dá pra entender.
algoritmo "semnome"
var
n1 , n2 ,j :inteiro
procedimento soma (a,b: inteiro)
var
s:inteiro
inicio
j
Olá professor Gustavo, Gostaria de saber se você pretende elaborar curso de C#??
Tenho muito interesse na linguagem, fiquei sabendo que a Microsoft comprou a Xamarim(acho que é assim que escreve) para realizar um projeto de multiplataformas(Não sei exatamente), acredito que depois disso a linguagem vai ganhar uma visibilidade muito grande! Mas independente disso já tinha interesse na linguagem! Terminei o curso de algorítimo e agora vou partir pra programação de fato. Vou de Java por enquanto! ;p Deixo aqui meu agradecimentos e que Deus continue lhe iluminando, pois seu conteúdo eh de muita qualidade! Vs eh quase um Santo cara!!!
Muito Bom, Só consegui entender bem POO depois de assistir essa aula. Parabéns!
Iae, fiz uma função do exercício para calcular o IMC, procede ou não.
algoritmo "semnome"
var
m, a, imc, n: real
r: caractere
funcao imcpessoa(v: real): caractere
inicio
se (v >= 18.5) e (v < 25) entao
retorne "Parabens! Voce esta no seu peso ideal"
senao
retorne "Voce nao esta na faixa de peso ideal"
FimSe
fimfuncao
inicio
escreva("Seu peso(Kg): ")
leia(m)
escreva("Sua altura(M): ")
leia(a)
imc
Top top, uma pergunta como a variável n recebeu valor?
@@jabesprotazio3427 Na verdade esse código dele está incorreto.
Não precisava ele criar essa variável pra finalidade que ele queria aplicar.
Bastava somente ele passar a variável IMC como parâmetro.
O correto seria assim:
R
Parabéns pelo trabalho! Show!!!! Muito obrigada!!
ÓTIMA EXPLICAÇÃO, OBRIGADO PROFESSOR
A melhor coisa dessas aulas é que tu pode simplesmente pausar o vídeo e ir ao banheiro sem perder conteúdo. Haha.
Realmente , ou pausa e ir comer algo '0'
Ou comer
caralho cara, tu tem q cuidar dessa bexiga ai bixo.
Ou pausa pra jogar LOL e voltar a estudar depois de 12 horas e 35 minutos
@@ferreira8800 Ou pausa para procrastinar por horas e volta quando bem querer kkkk
25:53 Listas de Funções
Obrigada pelas aulas Professor!!
Estou entendendo os conteúdos e talz, mas n consegui identificar a importancia de procedimentos e funções senao economizar linha de código, ainda que dentro dos mesmos haja +1 variável
Você vai usá-los em linguagem de programação, mas no Visualg mesmo é raro de usar.
Você pode fazer um menu e na opção escolha, chamar um procedimento.
O importante é que você pode fazer o menu no programa geral e dps vai fazendo cada opção separada em procedimento e caso aconteça um erro em um dos procedimentos isso não vai afetar o programa em geral e ficara facil corrigir
Ex
CAIXA
CADASTRAR PRODUTO
CONSULTAR PRODUTO
ABRIR CAIXA
SAIR
(VOCE TEM O MENU PRONTO, ENTAO FAZ UM PROCEDIMENTO PARA CADASTRO E OUTRO PRA CONSULTA MAS SEU PROCEDIMENTO TEM UN ERRO, O PROGRAMA RODA VC CADASTRA OS PRODUTOS MAS NA HR QUE CONSULTA DA ERRO ENTÃO VC SABE ONDE ESTA ERRADO.
Até onde eu peguei, no visualg ele serve pra economizar linhas e talz. Mas outras linguagens usam ele bastante, por isso que é importante aprender no curso de lógica de programação
A importância é ganhar tempo e economizar memória para implementar um código maior.
@@tudoespontaneamente4760 economizar linhas? vc diz em relaçao ao que resta tirando funcao e procedi? pq, na verdade, o codigo fica mais com funcao e proced
O cara é brabo mermo!!!! rsrsrs Parabéns Gustavo.
Muito bom... parabéns Gustavo!
Parabéns pelo ótimo conteúdo.
Meu amigo Guanabara destroy nas explicações! Vlw professor
Uma dica que posso dar nessa minha aventura no mundo da programação, é que, comece programando um jogo ou um programa. Por experiencia própria, estou tendo muita facilidade em aprender lógica por já ter utilizado esses conceitos na pratica, nesse caso eu programei um jogo, para um evento escolar.
Parabens !! Estudando para o Concurso da UFVJM e está me ajudando muito!
Excelente aula Gustavo, feliz demais por estar conseguido entender algoritmos e conseguir praticar. Só fiquei pensando comigo mesmo, e se eu quisesse escrever o código dessas funções já existentes no VisualG, seria muito complexo?
Um forte abraço
Inicio "Parabéns"
var
inicio
Escreval ("Gustavo Guanabara devo lhe parabenizar pelo seu conhecimento e seu empenho em ensinar! Sério, estou aprendendo tudo!")
fimalgoritimo
Obrigado professor, ótima aula...
Uma coisa que me ajudou muito é que sempre quando tem algum desafio que tenha calculo fazer primeiro no caderno e depois ir pro código. eu estava errando horrores. depois que diz isso diminuir muito os erros.
MUITO BOM PROFESSOR! OBGD .....retribuo copartilhando com meus amigos que deseja aprender a programar! vlw
Parabéns!!!! Obrigado!!!!!!!!
Obrigado Professor Gustavo Guanabara!
Muito bom!! Excelente Didática, Muito Obrigado!!!!
VOCÊ É O CARA!!!!!
Tive que vir aqui para aprender a desenvolver funções no visualG... Bloco de entrada da Infnet que para ensinar usam os seus vídeos como base. Mudando de assunto. Queria dizer que a menina da Udemy é sinistra. Todo vídeo ela aprendeu uma linguagem e um software diferente. Tem o cel dela? Hahaha. Abraços.
Rodrigo Vasconcelos Kkkkkkk
Ela na vdd é uma inteligência artificial
Boa aula
Essa lógica já é com ênfase em orientação a objetos ?
Ótima aula, Prof. Gustavo!
25:53 funções pré-definas
Uso de (cópia26:32) trás pra frente nome 33:29
Curti demais essas funções com varavel caractere, no começo eu achava que dava pra fazer magica só com numeros, mas letras tbm dá kkkk muito bom
Yaeh cara, como está na programação desde esse seu comentário?
@@brenogurgel2719 opa mano, tô no segundo semestre de ads e estudando python por fora. Esse curso base de lógica da programação ajuda muito 🙏
Melhor professor!!
Eu vi essa dúvida no comentário do ALBUKERK TIPS, quem puder responder ficaria agradecido.
Quando usar procedimento com referência e quando usar função? Porque, pelo menos pra mim, os dois são muito parecidos.
Procedimentos e funções são dois tipos de rotinas ou subrotinas, que são blocos de código que podem ser executados várias vezes durante a execução de um programa. A principal diferença entre eles é que uma função geralmente retorna um valor, enquanto um procedimento não retorna um valor.
Outra diferença importante é que as funções podem ser usadas como expressões, enquanto os procedimentos não podem. Isso significa que as funções podem ser usadas como parte de uma equação, enquanto os procedimentos não podem.
Além disso, as funções geralmente são usadas para realizar cálculos ou para executar uma tarefa específica e retornar o resultado, enquanto os procedimentos geralmente são usados para realizar uma tarefa mais ampla, como imprimir uma saída ou exibir uma mensagem para o usuário.
Em resumo, as funções são usadas quando você quer que o código execute uma tarefa e retorne um valor, enquanto os procedimentos são usados quando você quer que o código execute uma tarefa sem retornar um valor.
Eu poderia criar uma função chamada "delta", e colocá-la dentro de uma equação do segundo grau sem necessariamente pôr "b2 - 4ac". Já com procedimento não consigo fazer isso.
@@diogenys2.054 Então é por isso que quando eu assisti a AULA 12, na pratica de PAR OU IMPAR, fiz com que digitasse dois valores para que, com o PROCEDIMENTO, o algoritmo olhasse se eles são par ou impar usando comandos "se" , já na AULA 13(essa) com a FUNCAO não consigo fazer que três valores fossem classificados como par ou impar...
4:55 na verdade a linha "Retorne S", retornará o valor de S para a FUNÇÃO "Soma(N1,N2)". Depois disso, RES irá receber este valor que foi retornado à "Soma(N1,N2)", que é 9. Pode parecer bobo, mas pode confundir.
Pensei da mesma forma. Facilita o entendimento da lógica da coisa. O resultado do processo lá em cima retorna pra FUNÇÃO que o gerou.