Algoritmos
Algoritmos
  • 78
  • 51 330
Minecraft! Com ray tracing
Fiz um vídeo com a Enterprise A que montei em casa. O vídeo é baseado nesta cena do filme Star Trek II: Wrath of Khan:
ua-cam.com/video/3MARI-tSWTE/v-deo.html
Переглядів: 209

Відео

Sobrescrita, modificadores final e abstract
Переглядів 85Рік тому
Este vídeo apresenta o que é sobrescrita e o que os modificadores final e abstract significam, quando usados antes da classe, método e atributo.
Herança!
Переглядів 127Рік тому
Como usar e porque usar!
Exercícios de Separação de Instruções em Classes de Responsabilidades Diferentes
Переглядів 169Рік тому
São dois exercícios importantes de serem feitos para fixarmos os conceitos vistos no vídeo anterior. Baixem a descrição no link a seguir e façam primeiro, antes de verem este vídeo: nuvem.utfpr.edu.br/index.php/s/ib85o7HaOmvhjNW
Separando o Código por Responsabilidades
Переглядів 109Рік тому
Neste vídeo, identificaremos as instruções em Java e as agruparemos de acordo com suas responsabilidades. Aquelas instruções que representam a interface com usuário ficarão em uma classe; as instruções relacionadas a algo que queiramos modelar no sistema (como cliente, produto, vendedor, venda, etc...) agruparemos em uma outra classe; e aquelas instruções que representam o gerenciamento do proj...
Exercícios de Encapsulamento
Переглядів 41Рік тому
O projeto usado como exercício pode ser baixado no link a seguir: nuvem.utfpr.edu.br/index.php/s/1C5M3vUNr3mXqbg
Encapsulamento
Переглядів 79Рік тому
Este vídeo mostra o recurso de encapsulamento, focando nas aplicações práticas. Em resumo, é muito simples: os atributos e métodos que podem ser acessados de fora de uma classe devem ser declarados como públicos e aqueles que devem ser utilizados apenas de dentro da classe devem ser declarados como privados. Há um outro caso (protected) que veremos em vídeo futuro.
Lendo do Teclado!
Переглядів 43Рік тому
Como pedir para o usuário digitar algo.
Método Construtor
Переглядів 46Рік тому
Este vídeo mostra o que são métodos construtores, por que usá-los e como implementá-los.
Sobrecarga
Переглядів 103Рік тому
Este vídeo apresenta o conceito de sobrecarga, uma aplicação prática e como implementá-la em Java.
Exercícios Básicos: treinando criação de classe
Переглядів 210Рік тому
Neste vídeo, solucionamos uma lista de exercícios com explicações para fixar o agrupamento de código em classes. Link da lista: nuvem.utfpr.edu.br/index.php/s/T2zfSJwGwJ2NZnX
Transição de C/C++ para Java sem Trauma
Переглядів 146Рік тому
Este vídeo introduz a linguagem Java começando por aquilo que conhecemos em C/C a partir de um código conhecido nosso e o adaptando para ser executado em Java.
Instalando o Java e o Netbeans
Переглядів 172Рік тому
Este vídeo mostra como instalar a linguagem Java e a IDE Netbeans. Também explico um pouco como um programa Java é executado.
Organizando melhor o código: agrupando funções dentro de estruturas
Переглядів 232Рік тому
Este vídeo é um exercício para treinarmos o agrupamento de código (tanto os dados quanto as funções sobre estes dados) em uma estrutura. Isso facilitará o entendimento de POO a partir do próximo vídeo. A lista de exercícios encontra-se neste link: nuvem.utfpr.edu.br/index.php/s/0l5dAfPkKOYYIrX
Introdução: por que é legal?
Переглядів 3782 роки тому
Neste vídeo, faremos uma pequena viagem que mostrará a evolução de alguns paradigmas de programação e um pouco do que esta evolução nos ajuda. Organização é tudo! A programação orientada a objetos nos fornece recursos que facilitam reúso, planejamento e desenvolvimento de código, principalmente quando precisamos criar sistemas grandes. O problema é que quando aprendemos programação orientada, g...
Gaming Retro: Telejogo
Переглядів 1303 роки тому
Gaming Retro: Telejogo
Gaming: Flower
Переглядів 1403 роки тому
Gaming: Flower
Gaming Retro: Dungeons & Dragons no Intellivision
Переглядів 1613 роки тому
Gaming Retro: Dungeons & Dragons no Intellivision
Gaming: World of Warcraft
Переглядів 1683 роки тому
Gaming: World of Warcraft
Gaming Retro: River Raid
Переглядів 1063 роки тому
Gaming Retro: River Raid
Gaming: Dark Souls 3
Переглядів 2903 роки тому
Gaming: Dark Souls 3
Gaming: introdução
Переглядів 1873 роки тому
Gaming: introdução
Recursividade e Programação Dinâmica: programação é um jogo!
Переглядів 3044 роки тому
Recursividade e Programação Dinâmica: programação é um jogo!
Recursividade múltipla: simplicidade e eficiência
Переглядів 3774 роки тому
Recursividade múltipla: simplicidade e eficiência
Recursividade Dupla: começando o momento UAU
Переглядів 4594 роки тому
Recursividade Dupla: começando o momento UAU
Recursividade em Cauda e Otimização de Chamada de Cauda
Переглядів 2 тис.4 роки тому
Recursividade em Cauda e Otimização de Chamada de Cauda
Realizando cálculo com função recursiva
Переглядів 9904 роки тому
Realizando cálculo com função recursiva
Primeira lista de exercícios de recursividade
Переглядів 2,9 тис.4 роки тому
Primeira lista de exercícios de recursividade
Familiarizando-se com recursividade (Parte 2)
Переглядів 5934 роки тому
Familiarizando-se com recursividade (Parte 2)
Familiarizando-se com recursividade (Parte 1)
Переглядів 7544 роки тому
Familiarizando-se com recursividade (Parte 1)

КОМЕНТАРІ

  • @VinciRoradrem
    @VinciRoradrem 8 днів тому

    professor o senhor pode passar o link para a lista de exercícios?

  • @VinciRoradrem
    @VinciRoradrem 9 днів тому

    Professor pq na programação vcs chamam de vetor uma matriz linha ou coluna?, pq pra mim vetor é algo que tem módulo, direção e sentido.

    • @paulonardi7839
      @paulonardi7839 9 днів тому

      É um nome que foi pego "emprestado" porque quem deu esse nome viu que os vetores da programação têm uma dimensão, têm magnitude (o tamanho do vetor) e direção (porque vai da posição 0 até o tamanho-1). Mas é um nome emprestado por analogia, mesmo. 😅

  • @VinciRoradrem
    @VinciRoradrem 11 днів тому

    assisti o curso de recursividade e gostei muito da sua didatica vou maratonar todos agora

  • @victorvytb
    @victorvytb Місяць тому

    você é muito bom, esse canal é um patrimônio brasileiro de ensino de programação. <3

  • @joaoegosum2196
    @joaoegosum2196 Місяць тому

    Ficou muito bonito! Qual seu setup?

    • @algoritmos4470
      @algoritmos4470 Місяць тому

      @@joaoegosum2196 tenho uma geforce 3060 ti e um i7 de 11 geração. Aí, dá para usar o pacote de raytracing. Fica bem doido. 😀

  • @Francisco-v8o6m
    @Francisco-v8o6m 3 місяці тому

    A última coisa que eu esperava ver em um vídeo sobre alocação dinâmica é uma foto do apresentador do vídeo com a seta do avatar na cabeça. Bela careca meu amigo

    • @paulonardi7839
      @paulonardi7839 2 місяці тому

      😅

    • @paulonardi7839
      @paulonardi7839 2 місяці тому

      Eu fiz isso em uma sexta-feira para brincar com o meu filho que tinha começado a assistir ao desenho. A canetinha dizia "lavável". Só sei que era domingo e tive que ir ao mercado de Aang porque ainda não tinha saído. Oo

    • @Francisco-v8o6m
      @Francisco-v8o6m 2 місяці тому

      @@paulonardi7839 o que a gente n faz pelos filhos, né? kkkk

    • @algoritmos4470
      @algoritmos4470 2 місяці тому

      @@Francisco-v8o6m 😅

  • @Sa-iz5wd
    @Sa-iz5wd 6 місяців тому

    Adorei o vídeo, a explicação e principalmente os brinquedos fofos do Miguel lá atrás kkkk

  • @Luc4s_unu
    @Luc4s_unu 6 місяців тому

    Eu te amo cara

  • @vitoriacoghi
    @vitoriacoghi 6 місяців тому

    Muito bom!

  • @ANDREANTONIODASILVAQUEIROZ
    @ANDREANTONIODASILVAQUEIROZ 9 місяців тому

    Quem também está aqui por causa de algoritmos 2? haha, show professor!

  • @isaacfritsch
    @isaacfritsch 9 місяців тому

    1 #include <stdio.h> 2 #include <stdlib.h> 3 4 void valores(int i, int *p) { 5 printf("Insira um valor inteiro:"); 6 scanf("%d",p); 7 if (i > 0) { 8 for (; i >= 0; i--) { 9 if (*p > *(p - i)) { 10 int aux = *(p - i); 11 *(p - i) = *p; 12 *p = aux; 13 } 14 } 15 } 16 } 17 18 int main() { 19 int *p = (int *)malloc(10 * sizeof(int)); 20 for (int i = 0; i < 10; i++) { 21 valores(i, p+i); 22 } 23 for (int i = 0; i < 10; i++) { 24 printf("%d ", *(p + i)); 25 } 26 free(p); 27 return 0; 28 }

    • @algoritmos4470
      @algoritmos4470 9 місяців тому

      Achei muito legal dividir o Selection Sort em duas partes e as passagens dos argumentos! Muito Legal!

  • @MatheusFreitas-g3q
    @MatheusFreitas-g3q 9 місяців тому

    Aula excelente, didáctica incrível

  • @isaacfritsch
    @isaacfritsch 9 місяців тому

    No exercício 1, não deveria cria os inteiros recebidos como parâmetros? por exemplo: calcularIdade(int ano, &idade) ao meu ver embora ano já tenha sido criado dentro da main, ano é outra variável no escopo da função calcularIdade, logo deveria ser declarada como um novo espaço da memória

    • @algoritmos4470
      @algoritmos4470 9 місяців тому

      Isso mesmo!!! Ou quase. Sinal de que você está entendendo direito!!! E isso é muito legal. Quando fazemos este tipo de passagem com ponteiros, fazemos basicamente duas ações: -Passar o endereço da variável como argumento na hora de chamar a função, por exemplo: int main(){ int a; fazAlgo(&a); // <-aqui estou passando o endereço da variável como argumento } -E receber este endereço passado, lá na função chamada, com um ponteiro como parâmetro. Exemplo: void fazAlgo(int *b){ //<-Aqui o parâmetro b recebe o endereço da variável a *b = 3; } O objetivo do exercício 1 é apenas treinar o envio do endereço da variável. No exercício 2, o objetivo vai ser treinar como receber o endereço com um ponteiro.

  • @isaacfritsch
    @isaacfritsch 9 місяців тому

    Entendo a quantidade de endereços, mas cada endereço por ser uma sequencia de 32 digitos ( 0 ou 1) totaliza um consumo de 4 bytes da memória ou 16 GB no total somente com endereços, isso é verdade?

    • @algoritmos4470
      @algoritmos4470 9 місяців тому

      Com 32 dígitos (que é o mesmo que 4 bytes) de 0 ou 1 eu consigo representar 4.294.967.296 valores. No caso do gerenciamento de memória, estes valores são endereços de memória que o processador consegue representar/gerenciar com 32 bits. Então, quando um processador de 32 bits precisar pegar um valor na memória, ele vai conseguir acessar o valor que estiver desde o endereço 0 até o endereço 4.294.967.295 da memória (ou, em hexadecimal, do 00000000 ao FFFFFFFF). A sua observação seguinte é verdadeira: se um endereço possui 32 dígitos binários, é o mesmo que dizer que um endereço precisa de 4 bytes para ser armazenado. Já, os 16GB necessários, não. Porque o processador não vai acessar todos os endereços ao mesmo tempo. Ele só precisa acessar um endereço por vez (ou requisitar um por vez) e ler o que está la naquele endereço e nos próximos 3 (se for um valor inteiro). Na verdade, mais do que isso, porque o processador tem vários núcleos e threads, conseguindo fazer mais de uma requisicao por vez.

  • @tomcosta062
    @tomcosta062 9 місяців тому

    👏👏👏👏

  • @carlosfixo5635
    @carlosfixo5635 10 місяців тому

    10 vezes melhor que a aula da minha faculdade. OBG!!!!

  • @alanauto
    @alanauto 10 місяців тому

    Vlw!!!

  • @lucasmelo7365
    @lucasmelo7365 11 місяців тому

    Finalmente alguém para explicar direito esse algoritmo de Fibonacci com função recursiva. Na maioria das aulas que eu assisti, os professores só jogavam o código e explicavam por cima, e eu nunca entendia direito, kk. Mas dessa vez eu consegui. Muito obrigado!

  • @lucasmelo7365
    @lucasmelo7365 11 місяців тому

    Que explicação maravilhosa! A melhor que eu vi até hoje sobre recursividade (e olha que eu pesquisei muito já sobre isso, viu, rsrs)

  • @davii_vinicius
    @davii_vinicius Рік тому

    Quando está printando na tela a função recursiva já desempilhou internamente ou só quando fecha o programa?

  • @davii_vinicius
    @davii_vinicius Рік тому

    Grande mestre, orgulhoso de você compartilhar todo esse conhecimento conosco.

  • @luigirovani4380
    @luigirovani4380 Рік тому

    Professor, queria tirar uma dúvida de PO, em relação a projeto Singleton. Existe uma forma correta de se criar uma classe Singleton que seja Singleton também para processos? Por que mesmo criando a classe como Singleton, quando eu instancio ela de processos diferentes ele cria instâncias diferentes da classe, acho que pelo fato de estarem em áreas de memória diferentes. É em python, eu consigo até contornar isso instanciando a classe dentro do processo pai (antes de criar os filhos), e passando o objeto com um manager para os filhos. Mas daí acho que não dá para chamar de Singleton, porque só funciona enquanto estiverem usando o objeto do processo pai, se um dos processos filhos tentar criar uma nova instância da classe, vai acabar criando uma nova instância. Tem uma forma correta de se fazer isso?

  • @rigoni3381
    @rigoni3381 Рік тому

    os exemplos são bem medianos, mas para o brasileiro que e um analfabeto em c são razovelmente nao tão ruins. o que eu nao entendo é a burrifce do brasileiro em afirmar que um codigo de programação quer dizer algoritmo, nao são de maneira alguma sinomos pelo amor de deus parem de repetir asneiras. Um dos primeiros algorimos foi criado por aristoteles com a sua fundamental forma e conteudo que obviamente voces nem sabem que existe. Explicando uma brasileiro entender. algoritimo 1 kg de farinha 2 ovos 500mg de trigo levar ao forno durante 30 minutod -> algoritimo = bolo #include <stdio.h> #include <unistd.h> #include <sys/types.h> int main() { pid_t p = fork(); if(p<0){ perror("fork fail"); exit(1); } printf("Hello world!, process_id(pid) = %d ",getpid()); return 0; } isso é uma system call um unix para um fork(se não sabe o que é azar o seu vai ler e aprender porque eu nao baba e por nao tenho tempo e nem quero ensinar voces tem que ir atras, bom o que posso dizer é que com uma chamada dessa usando um pipe com atextic.h pode produzir estragos o que não é nada bom, mais eu sem que desperta a curiosidade de pessoas de pouco conhecimento como os brasileiros que sem duvidas apenas perdem para os portugueses em desconhecimento de programação, obvio so exite um meio de saber programar e este usando unix, bsd, solaris ou alguma distro linux recomendo fedora o resto é apenas o que o merda do windows deixa voce usar entedeu? Botoes nao existem e um program é uma palavra dificil entender para voce, pois entao eu vou complicar voce so usa internet por que consegue abriar um arquivo, sim isso mesmo, agora decifrem procurem pela api sockets do bsd 4.2 lançada em 1984 disponive gratuitamente. Enfim ja perdir muito tempo aqui so quero deixar claro nada contra o canal deixei essa mensagem porque vi que seu canal chama algoritimo e dei muita risada. Enfim c-ya

  • @anderson-medeiros
    @anderson-medeiros Рік тому

    Muito bem explicado.

  • @maclaurinrocha2881
    @maclaurinrocha2881 Рік тому

    Você cria os malloc no main e usa o free no main , mas é se eu usar o free em uma função qualquer? E se eu usar o free em uma função em um arquivo diferente ?

  • @ramonmoura5034
    @ramonmoura5034 Рік тому

    26/10/2023 - Aula muito útil!

  • @ramonmoura5034
    @ramonmoura5034 Рік тому

    Muito bom, cara....

  • @matateusilvestreandre6412

    melhor aula de alocação dinâmica que já vi

  • @joaoluislopes1076
    @joaoluislopes1076 Рік тому

    Eu sou o inscrito 839! Obrigado professor, por dispor seu tempo para o enriquecimento das linguagens de programação, como forma de apredizagem transmitindo todo o seu conhecimento a nós iniciantes neste imenso mundo tecnologia da informação. Gratidão!😊

  • @juliamello1615
    @juliamello1615 Рік тому

    Parabéns pela didática e detalhamento técnico do conteúdo. [Agostinho] 25:36

  • @lululu997
    @lululu997 Рік тому

    Muito bom!!!

  • @matheusplazaCC
    @matheusplazaCC Рік тому

    cara, parabéns, você tem o dom de ensinar, te desejo muito sucesso nessa vida

  • @maclaurinrocha2881
    @maclaurinrocha2881 Рік тому

    super top , muito top mesmo \o/

  • @nicodemos.
    @nicodemos. Рік тому

    Boa! Gostei muito

  • @b1linhares
    @b1linhares Рік тому

    Tô ansioso pra começarmos essa playlist, professor. Mas antes devemos ter alguns pré-requisitos. Até mais!

  • @joycesilva4646
    @joycesilva4646 Рік тому

    Obrigada, professor. O assunto não entrava na minha cabeça, mas o senhor sanou todas as dívidas sobre o assunto😊

  • @b1linhares
    @b1linhares Рік тому

    Professor, estou com um grupo de estudos e usamos as suas playlists para estudarmos. Somos do IFPA em Belém. Ultimamente estamos acompanhando as aulas de recursividades. Valeu!

    • @algoritmos4470
      @algoritmos4470 Рік тому

      Opa! Show de bola! Valeu!!! Abraço para o pessoal de Belém!!!😃

  • @KrodrigoDev
    @KrodrigoDev Рік тому

    Gostei bastante da sua didática !! fiz algumas implementações em java package nassau; /** * * @author Kauã Rodrigo * @since 11/09/2023 */ public class Recursividade { public static void main(String[] args) { System.out.println("Contagem crescente"); contarCrescente(1, 3); System.out.println("Contagem descrente"); contarDecrescente(3); System.out.println("Contagem falando se é par ou impar"); contarCrescenteParImpar(1, 5); System.out.println("Contar de dois em dois"); contarDoisEmDois(0, 9); } // contar de dois em dois public static void contarDoisEmDois(int inicial, int limite){ if(inicial <= limite){ System.out.println(inicial); contarDoisEmDois(inicial + 2, limite); } } // contando e falando se o número da vez é impar ou par public static void contarCrescenteParImpar(int inicial, int limite){ if(inicial <= limite){ if(inicial % 2 == 0){ System.out.println(inicial + " é par"); } else { System.out.println(inicial + " é impar"); } contarCrescenteParImpar(inicial + 1, limite); } } // contar de forma decrescente public static void contarDecrescente(int valor){ if(valor >= 0){ System.out.println(valor); contarDecrescente(valor - 1); } } // contar até o limite usando recursividade (Isso é linear) public static void contarCrescente(int inicial, int limite) { if (inicial <= limite) { System.out.println(inicial); contarCrescente(inicial + 1, limite); } } }

  • @ramillers
    @ramillers Рік тому

    professor, o seu canal foi um achado e tanto! tô estudando exatamente esses assuntos na faculdade e essa playlist tá me ajudando de uma forma inimaginável!!! por favor, poste maissss! (PS: já assisti quase todas as playlists de C e também são perfeitas, o senhor é 1000!)

  • @wilsoncardoso2879
    @wilsoncardoso2879 Рік тому

    OLA....ESSE ESPAÇO DE MEMORIA FICA ALOCADO AONDE??..NÃO ENTENDI

    • @algoritmos4470
      @algoritmos4470 Рік тому

      a alocação dinâmica reserva espaço na memória principal. Acontece que para cada programa executado (na verdade, cada processo), uma quantidade de endereços de memória é reservada para este processo. Estes endereços são separados em grupos. Um desses grupos é a pilha, onde vão ser alocadas as variáveis locais. Outro desses grupos é a heap. A alocação dinâmica usa endereços deste grupo. Mas é tudo parte da memória principal. Essa separação em grupos é feito pelo compilador/SO. É uma separação "lógica", e não física.

    • @wilsoncardoso2879
      @wilsoncardoso2879 Рік тому

      Obrigado irmão

  • @antoniodourado
    @antoniodourado Рік тому

    Grande Nardi! Que saudade de vc!

  • @b1linhares
    @b1linhares Рік тому

    Hoje, de noite, assistirei aos vídeos e exercitarei. Agora estou no intervalo do meu trampo.

  • @b1linhares
    @b1linhares Рік тому

    Pow, professor! Já subiu mais um!? Bacana! Realmente tô empolgado com essa play! Pois coincide com a disciplina q esou estudando no IFPA.

  • @b1linhares
    @b1linhares Рік тому

    Aí sim! Hoje mesmo vou exercitar! Obrigado, professor!

  • @space_isaac
    @space_isaac Рік тому

    Professor, (se possível) volta com o gaming! Recomendo Yakuza 0 ou Shenmue (Remaster do Dreamcast)

  • @apertaplays
    @apertaplays Рік тому

    eu de hj em diante vou parar com tudo o q faço e ver só coisa de programação e estudar pro enem e fazer faculdade.

  • @b1linhares
    @b1linhares Рік тому

    Excelente, professor! Muito obrigado! Revelador!

  • @b1linhares
    @b1linhares Рік тому

    Fala, professor! Bora pra cima! Muito boa a aula! TMJ!

  • @franciscomenezes4308
    @franciscomenezes4308 Рік тому

    Obrigado Professor estava com saudades de seus vídeos...

  • @b1linhares
    @b1linhares Рік тому

    Fala, professor! Vai ter aulas de Java!? 🎉 Estou em transição profissional então teus vídeos ajudaram-me muito neste ano. Foi uma grata descoberta de encontrar-lhe aqui no UA-cam. Muito obrigado e um salve daqui do "meio do mato" ( WACK, William) 😅, Belém do Pará!

    • @algoritmos4470
      @algoritmos4470 Рік тому

      Vai, sim! Puxa, que legal que ajudou! Obrigado pelo feedback! Belém do Pará! Muito legal! Boa sorte em sua jornada!

    • @b1linhares
      @b1linhares Рік тому

      @@algoritmos4470 Obrigado! E aos meus amigos que estudam programação sempre q tenho oportunidade indico este canal. Sucesso!