Тёмный

23 - Lógica de Programação - Pesquisa Binária em Vetores (Arrays) 

Boson Treinamentos
Подписаться 469 тыс.
Просмотров 57 тыс.
50% 1

Curso de Lógica de Programação - Algoritmo de Pesquisa Binária em Vetores (Arrays)
Nesta lição vamos mostrar como criar um algoritmos de pesquisa binária em vetores, usando lógica de programação.
Este curso é muito útil para estudantes de todos os níveis, desde cursos técnicos em informática até faculdade de tecnologia, como análise de sistemas, sistemas de informação, ciências da computação, tecnologia em bancos de dados e outros
Atenção: Lancei uma versão completa e atualizada de meu curso de Lógica de Programação, na plataforma da Udemy, a qual fornece certificado após o aluno concluir o curso, além de download de TODAS as apresentações usadas nas aulas, mais arquivos com listas de exercícios resolvidos, em PDF.
Link com preço promocional: bit.ly/3QKPn22

Опубликовано:

 

5 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 82   
@bosontreinamentos
@bosontreinamentos 2 года назад
Atenção: Lancei uma versão completa e atualizada de meu curso de Lógica de Programação, na plataforma da Udemy, a qual fornece certificado após o aluno concluir o curso, além de download de TODAS as apresentações usadas nas aulas, mais arquivos com listas de exercícios resolvidos, em PDF. Link com preço promocional: bit.ly/3QKPn22
@davialencar5911
@davialencar5911 6 лет назад
mt bom. Confesso que demorei umas boas horas para entender hahaha. Acabei conseguindo fazer uns algoritmos aqui que deram certo, mas não consegui entender como vc utilizou aquela Variável Lógica no ENQUANTO com um não. No meu algoritmo só coloquei : ENQUANTO (VARIAVEL = falso) faca. Mais uma bela aula.
@allan1310
@allan1310 Год назад
Obrigado, ótima didática, a explicação de forma ilustrada facilita bastante o entendimento do código, quando eu vou entender o código eu imagino acontecendo na forma ilustrada e associando com a parte visual ajuda bastante a desenvolver e entender o algoritmo.
@guilima3097
@guilima3097 9 лет назад
Cara, se não fosse você, minha prova amanhã seria um zero oval.
@bosontreinamentos
@bosontreinamentos 9 лет назад
Guilherme Lima Legal Guilherme! Ficamos felizes em ajudar!
@BearkFearGamer
@BearkFearGamer 6 лет назад
Mano, não é pra tanto, quero ver a hora que chegar lista encadeada, quickSort MergeSort, AVL ...
@henriquebortoletto2379
@henriquebortoletto2379 4 года назад
Não sabia dessa pesquisa binária, vivendo e aprendendo.
@rrosarios
@rrosarios 10 лет назад
Simplesmente, perfeito. Bem explicado, o professor fala com clareza, tem ótima dicção e didática. Parabéns, me inscrevi no canal. Video Bacana.
@bosontreinamentos
@bosontreinamentos 2 года назад
Muito obrigado Rodrigo!
@viniipelomundo
@viniipelomundo 10 лет назад
Excelente cara ,você explica muito melhor que meu professor da faculdade,ia afundar na prova ,mas agora vou tirar uma nota boa !Uhullll!!! Valeu!
@IDUW100
@IDUW100 9 лет назад
Creio eu que o processo de ordenação do vetor torna o algoritmo tão inviável como a pesquisa sequencial, ainda mais utilizando o método bolha que é uma algoritmo super lento, mas se em algum caso específico já receber um vetor ordenado (sem precisar ordenar) irei utilizar este método. Parabéns pela aula, muito boa.
@kiudxdevrage2757
@kiudxdevrage2757 8 лет назад
é bem melhor msm. .. para contar de 1 ate 10 faca // 10 Número opicional .. vet[contar]
@mayconalvesl4156
@mayconalvesl4156 2 года назад
Aula, simples e direta como sempre!
@wesleyprado449
@wesleyprado449 7 лет назад
Muito bom, vou fazer o Enade e passei para dar uma relembrada, é isso aí... Valeu!!!
@thiagoolimpioolimpio9708
@thiagoolimpioolimpio9708 9 лет назад
cara vc esta de parabens .continue com seus video esta ajudando muito .
@LeandroMax
@LeandroMax 9 лет назад
Excelente explicaçao, tranquila,serena,segura e sem erros. muito bom mesmo. agora sim eu aprendi a busca binária.
@bosontreinamentos
@bosontreinamentos 2 года назад
Obrigado Leandro!
@rafaelferraz7240
@rafaelferraz7240 10 лет назад
Meus parabéns, excelente vídeo, esclareceu todas as minhas dúvidas sobre esse método de pesquisa.
@richardrodrigues7308
@richardrodrigues7308 4 года назад
Que didática sensacional!
@TheLeofuck
@TheLeofuck 10 лет назад
Muito bom, parabéns.
@VanderleiRobertoMoretto
@VanderleiRobertoMoretto 4 года назад
Outra videoaula top!
@miguelyt4893
@miguelyt4893 9 лет назад
" Suando aqui para apreender amigo, difícil, para quem não tem entendimento e tá tentando apreender só online .:D Boa aula amigão, to suando aki...kkkk
@MariaLuanaLinda
@MariaLuanaLinda 5 лет назад
Cara, muito obrigada, salvou minha prova!
@eltoncordeiro8731
@eltoncordeiro8731 6 лет назад
Otima explicação ! Excelente vídeo!
@Mrrezende
@Mrrezende 9 лет назад
Muito bom mesmo, obrigado professor !!!!!
@DanielSantos-gy4mc
@DanielSantos-gy4mc 7 лет назад
Parabéns, a sua aula é muit boa !
@alangonzaga7725
@alangonzaga7725 7 лет назад
No caso de termos o Array desordenado, não é melhor fazer a pesquisa sequencial? Pois o trabalho para ordenar como no vídeo anterior fazia cada numero ser comparado a todos os outros seguintes, no caso de um Array desordenado o trabalho de conferir sequencialmente seria menor do que ordenar para depois a pesquisa binária.
@daniellee6912
@daniellee6912 9 лет назад
explica muito bem!
@priscilapirani
@priscilapirani 9 лет назад
Salvou minha vida!!!!
@guestricardo
@guestricardo 7 лет назад
valeu brother pelo ..vídeo me ajudou muito..
@tektutoriais8468
@tektutoriais8468 6 лет назад
Excelente vídeo aula parabéns!
@bosontreinamentos
@bosontreinamentos 6 лет назад
Obrigado amigo!
@andryerfernandes9595
@andryerfernandes9595 10 лет назад
Muito bom, Otimo!!!
@mlsjpk
@mlsjpk 10 лет назад
Já me inscrevi no canal cara, parabéns.
@bosontreinamentos
@bosontreinamentos 10 лет назад
Obrigado colega! :)
@albertojosepljota6842
@albertojosepljota6842 10 лет назад
Só tive uma dúvida. No minuto 7 quando você indica a posição do vetor (10+6/2=7...) ali na verdade seria posição 8 e não o valor do campo. Deveria ser a posição e não o valor correto? Obrigado.. Excelentes vídeos.
@marceloneves4306
@marceloneves4306 4 года назад
Preciso desenvolver esse algoritmo mas não estou conseguindo. Pode ajudar? Em um torneio de futebol existem três equipes e para cada uma delas registra-se a quantidade de vitórias e empates conquistadas durante uma competição. Sabendo que cada vitória equivale a 3 pontos e cada empate garante apenas 1 ponto, a equipe vencedora será a que obtiver maior pontuação. Diante desse cenário, proponha um algoritmo que leia a quantidade de partidas vencidas e a quantidade de partidas empatadas por cada equipe e ao final imprima a pontuação de cada time. Dica: Faça uma função que receba a quantidade de vitórias e empates por parâmetro e retorne a pontuação total obtida pela equipe. Se preferir crie variáveis adicionais para armazenar a pontuação para cada time. Crie um procedimento que receba o nome da equipe e sua pontuação por parâmetro e imprima na tela o seguinte texto: A equipe “B” obteve a pontuação “X”, sendo “B” e “X” o nome e a pontuação da equipe, respectivamente.
@goncalvesvilanculos491
@goncalvesvilanculos491 Год назад
Boa tarde professor, uma duvida, imaginemos se o nosso vetor tivesse 9 posicoes: a inicial seria 1 e final 9, ou 10??
@alancasantos
@alancasantos 6 лет назад
Muito bom! vlw
@bosontreinamentos
@bosontreinamentos 6 лет назад
Valeu Alan!
@pwzinho
@pwzinho 4 года назад
Professor, no início da pesquisa binária, a variável inicial e a variável fina, também verifica se as posições 1 e 10 são o número 7? Ou então, apenas a variável, "meio", que verifica se o valor encontrado é o 7?
@oThiagoD
@oThiagoD 6 лет назад
e se fosse um array de tipo caractere (ou string, ou literal... etc)?? eu teria que "especificar" no meu algoritmo que valores que começassem com "A" viriam primeiro que valores que começassem com "B", e assim por diante?? ou ou as linguagens de programaçao ja fariam isso automaticamente?? e por que que o nome e pesquisa BINARIA??
@joicelopes8500
@joicelopes8500 8 лет назад
a variável meio estava com o valor 5 pois esse é o número que representa a posição. agora por qual motivo a segunda comparação o meio ficou com o valor 7 se a posição era a 8°?
@Thom15me
@Thom15me 9 лет назад
Mas o inferior não deveria começar no 0, porque está 1 ? Usando 1 muda completamente...
@Douglas3951
@Douglas3951 6 лет назад
Thomas Henrique Mertins o nome disso é exemplo ;-; dá pra entender tranquilo
@marceloaquino2301
@marceloaquino2301 9 лет назад
Boa noite, voce tambem ensina java.Pois gostaria muito em aprender com você parabens pela sua didatica. Se nao vc indica alguem ou algum site?
@antonioevangelistajunior7476
@antonioevangelistajunior7476 4 года назад
só fiquei na dúvida, caso haja numero repetido e eu queira que o algoritmo me fale suas posições na matriz.
@douglascavalcante7624
@douglascavalcante7624 9 лет назад
Cara no seu "enquanto" no pseudocódigo você diz que enquanto inicio
@adrainostoppa137
@adrainostoppa137 6 лет назад
OLÁ FABIO! ESTOU ESTUDANDO A LINGUAGEM C/C++, MAS TENHO UM PEQUENO POBLEMA CHEGUEI EM UM DETERMINADO CAPÍTULO DE UM LIVRO ONDE ESPLICA SOBRE CONTROLADORES DE VIDEO E PEDE PARA INSTALAR O DRIVER ANSI.SYS, MAS NÃO ENTENDI NADA, POR ISSO PESSO A SUA AJUDA. DESDE JÁ AGRADEÇO.
@jacquelinesantos773
@jacquelinesantos773 5 лет назад
Alguém saberia explicar como fazer esse algoritmo com matriz bidimensional? Pois estou quebrando a cabeça e não consigo resolver esse problema.
@gabrielvasacao97
@gabrielvasacao97 6 лет назад
Tem como curtir 2x ??? haha Muito boa aula!! Valeu pelo ótimo trabalho!
@sabofilmeshdyonkou9723
@sabofilmeshdyonkou9723 5 лет назад
olá Fábio, o que aconteceria se os números dentro das posições do vetor forem maior que o vetor em questão? ou seja, um vetor com 10 posições, e os valores dentro sendo 23, 33, 45, 46, 48, 67, 77, 87, 95, 99. Daria certo?
@renansantanadn
@renansantanadn 5 лет назад
daria sim, pois os valores dos índices não importam enquanto é feito a divisão da quantidade de índices para encontrar o índice do meio, os valores só importarão, na busca binária, para comparar cada um com o valor a ser buscado, compreendes ?
@euclidescorreia6197
@euclidescorreia6197 10 лет назад
Mais uma video aula excelente parabéns professor! É pena que não estou a conseguir executar no meu pc porque gera esse erro: access violation at address 004d5411 in module visualg-2-0-32-bits [1].exe. read of address 00000017
@ron_
@ron_ 10 лет назад
sabendo que o vetor está ordenado, e qual número deve ser pesquisado, não seria mais fácil apenas fazer a atribuição de (busca+1), assim se o numero pesquisado é 7, o algoritmo iria procurar na posição 8 do vetor, (já que os valores estão ordenados ) não seria mais simples fazer assim?
@weslleynascimento2123
@weslleynascimento2123 10 лет назад
Suponha que os números fossem... 2, 5, 7, 9, 12, 21, 33, 34, 42, 59 Esse seu método já não iria dar certo. O vetor está ordenado crescentemente, mas o número sete está na terceira posição do vetor, e não na oitava.
@vlamiradrianodesouza1521
@vlamiradrianodesouza1521 9 лет назад
Weslley Nascimento Se o número 7 estiver na terceira posição do vetor, então no teste lógico (vet [meio] > busca) a resposta será verdadeira já que a quinta posição do vetor valerá 12. Neste caso a variável fim receberá o valor meio - 1. Na próxima volta do loop inicio = 1, Final = 4 ( meio - 1 ), Meio = 2 ( inicio + final ) / 2 porém com resto inteiro por isso ele usa o operador matemático div. E assim vai até o número ser encontrado ou não restar mais nenhum índice para ser procurado. Weslley não importa em qual lado o número procurado esteja o teste lógico do se vai direcioná-lo para o lado correto.
@AlessanderMoreira
@AlessanderMoreira 9 лет назад
O mecanismo de busca em banco de dados também é dessa forma? Se for, teria de ordenar em toda pesquisa? Ou há alguma maneira do preenchimento dos dados ser automaticamente ordenado?
@digaotutoriais6059
@digaotutoriais6059 7 лет назад
quando voce faz um order by os banco de dados usam o conceito de pesquisa binaria.
@joaopedroaraujo713
@joaopedroaraujo713 9 лет назад
Então este método só daria certo com números, não ? já que não se pode comparar se um valor literal é maior ou menor que outro, já que pode ter 2 valores com a mesma quantidade de letras.
@bosontreinamentos
@bosontreinamentos 9 лет назад
+Joao pedro Araujo Quando comparamos valores literais, o sistema geralmente leva em consideração o valor numérico atribuído às letras (código ASCII), de modo que a comparação é feita por ordem alfabética.
@andersongomes1280
@andersongomes1280 8 лет назад
Como se está trabalhando com vetor a posição inicial não deveria ser zero e a final nove, resultando em um vetor de dez posições???
@DavidBellinisantos
@DavidBellinisantos 8 лет назад
depende da linguagem , em C seria isso mesmo 0 até 9 ...mas em matlab por exemplo , seria 1 até 10. então acho que para quesito de ilustração ele decidiu usar de 1 a 10 para facilitar a compreensão
@MatheusOliveira-ew9uk
@MatheusOliveira-ew9uk 5 лет назад
Como eu faria para saber o número de combinações feitas para localizar o número e imprimir ele na tela?
@bitcoiner7
@bitcoiner7 4 года назад
vc eu nao sei, mas eu, eu sei
@bitcoiner7
@bitcoiner7 4 года назад
nao to conseguindo rodar em C usando essa mesma logica, apenas transcrevendo a sintaxe :( apesar de nao conseguir rodar, pelo menos entendi como seria o algoritmo kkkk
@juliusrock3093
@juliusrock3093 4 года назад
Eu também man. Já conseguiu?
@bitcoiner7
@bitcoiner7 4 года назад
@@juliusrock3093 nao consegui por esta, mas encontrei um outro video
@Spfcinforma10
@Spfcinforma10 8 лет назад
Como seria um Algorítimo para que o usuário possa escolher entre uma Busca Sequencial ou Binária;
@kiudxdevrage2757
@kiudxdevrage2757 8 лет назад
algoritmo "semnome" // Função : // Autor : // Data : 02/04/2016 // Seção de Declarações var esc:inteiro procedimento binario() var vet:vetor[1..10] de inteiro num,cont,inic,final,tot,volt:inteiro encontrado:logico inicio para cont de 1 ate 10 faca vet[cont]
@bettergame8938
@bettergame8938 2 года назад
Não sei se alguem ainda vai ver isso. Mas alguém sabe como exibir a quantidade de números descartados em cada divisão?
@WellGamer01
@WellGamer01 3 года назад
assisto a aula na faculdade e corro pra ca skksks
@digaotutoriais6059
@digaotutoriais6059 7 лет назад
Cara o vetor nao começa com a posição inicial 0 ? E voce denominou a primeira posição como um .. Fiquei meio confuso no inicio pois sempre usei o conceito de que o vetor sempre começa na posição 0. Então no caso desse vetor tem 10 posições mais seria : 0 a 9 . 0 = inicio 9 = fim.
@davialencar5911
@davialencar5911 6 лет назад
Ele falou no video anterior. A maioria dos sistemas começa por 0, mas ele vai começar por 1 nas videos aulas pra não confundir o entendimento de quem ta aprendendo ainda.
@weslleynascimento2123
@weslleynascimento2123 10 лет назад
Seu primeiro passo nesse algoritmo está errado. Pois se o número 7 estiver na primeira ou na última posição ele não vai ser encontrado. O primeiro passo então, seria verificar se o número a ser pesquisado está na primeira ou na última posição, para depois achar o meio. E se você pegar depois de dividido, o final receber meio -1, ou inicial receber meio +1, vai cair no mesmo erro do começo.
@weslleynascimento2123
@weslleynascimento2123 10 лет назад
Na vdd eh só a primeira posição que tem que ser feita a verificação.
@wendelad
@wendelad 9 лет назад
Oii??!! Vc tem noção do q vc falou? Claro que vai ser encontrado!
@vlamiradrianodesouza1521
@vlamiradrianodesouza1521 9 лет назад
Weslley Nascimento sua dificuldade em entender o algoritmo está na compreensão do operador matemático (div). Nenhuma divisão dará meio. Vamos pegar o exemplo do número procurado estar na primeira posição do vetor. No primeiro laço meio receberá o valor de 5 pois ( inicio
@kiudxdevrage2757
@kiudxdevrage2757 8 лет назад
Muito Legal a Busca Binária Fiz com o comando repita: mas acho que da para deixar bem menor ... var vet:vetor[1..10] de inteiro cont,num,inic,final,tot,lac:inteiro encontrado:logico inicio para cont de 1 ate 10 faca vet[cont]
@davialencar5911
@davialencar5911 6 лет назад
Muito bom, mas vc colocou o REPITA, ATÉ a variavel lógico ficar "Verdadeiro", ou seja, se o número pesquisado no vetor não existir vira um loop infinito haha.
Далее
КОГДА НАКРОШИЛ НА ПОЛ #shorts
00:19
НЮША УСПОКОИЛА КОТЯТ#cat
00:43
Просмотров 671 тыс.
Busca binária iterativa e recursiva na linguagem C.
34:23
27 - Lógica de Programação - Funções
21:31
Просмотров 32 тыс.
HOW TRANSISTORS REMEMBER DATA
16:58
Просмотров 312 тыс.