E aí [Música] o Olá pessoal tudo bem Sua Professor Ronaldo e nosso tema de hoje da aula sobre algoritmo e lógica de programação bem o que é o algoritmo o algoritmo é um conjunto de instruções e procedimentos lógicos para a solução de um problema ou execução de uma tarefa Lembrando que esse algoritmo ele pode ser executado no computador numa máquina ou também ele pode ser executado né sem o auxílio do computador por um humano Lembrando que a formulação de um problema né do algoritmo ele passa pelo processo de decomposição reconhecimento de padrões e abstração que
são os pilares do pensamento computacional vem o algoritmo ele pode ser escrito em vários formatos né ele pode ser escrito por meio de um diagrama nós chamamos aqui de fluxograma tô numerando aqui como um né um pseudocódigo tava no merak como dois né ou uma linguagem a formação como três e também nós temos aqui é a programação em blocos né que eu vou numerar como o coato aqui a programação em blocos nós vamos usar bastante posteriormente usando o só frequente Mas eu posso representar esse conjunto instruções essas quatro maneiras aqui ok bem quando eu te
disse que o algoritmo resolve o problema a primeira pergunta o que que é um problema né nenhum problema é um tema ou uma questão em qualquer área de conhecimento é importante está cá isso né porque nós vamos resolver problemas somente para a computação né o seu Quando eu digo a gente trabalhar computação para a computação não a computação ela também é uma atividade meio você vai trabalhar computação para as outras áreas né então o problema é um tem uma questão não é de qualquer área do conhecimento cuja solução resposta né você não tem ela de
imediato você fazer o quê uma pesquisa um estudo uma reflexão o esforço para que você possa solucionar esse problema Ok e vários desses problemas que todos fazem parte do nosso cotidiano que é preciso resolver um problema Esse problema pertence alguém e com isso nós somos o que buscar o procedimento para a solução desses problemas por isso que eu tenho aqui né uma interrogação qual é o problema Eu preciso maquinar pensar muito para que depois eu encontro o que a solução para esse problema né Nós vamos começar a falando aqui no problema bastante simples quer trocar
uma lâmpada né eu mando ele falar com ela tá queimado para trocar uma lâmpada como é que a resolver esse problema né Aqui tem uma uma sequência vou chamar aqui de instruções né que a gente lembra no momento aqui para trocar uma lâmpada que é o que primeira coisa se a lâmpada falta tem que pegar o mais Cadu depois eu tenho que posicionar essa escada embaixo da lâmpada depois eu tenho que fazer o que pegar a lâmpada nova aí eu vou subir a escada né como retirar a lâmpada que está queimada lâmpada antiga e colocar
essa lâmpada nova bem lembrando o seguinte quando a gente pensa né resolver um problema de troca de lâmpada bastante simples né Nós não estamos usando o computador para fazer isso você tá executando isso Lembrando que o computador ele só vai fazer o que aquilo que realmente você estiver programando destruindo para que ele faça por isso que o algoritmo uma sequência de instrução uma sequência de Passos Então se a gente for olhar essa sequência de Passos aqui ela tava simples porém né eu tenho que pensar o seguinte que em alguns casos para trocar uma lâmpada eu
tenho que fazer alguns testes muitas vezes eu tenho a pessoa falar queimou a lâmpada do meu quarto qual se eu não sei qual é a lâmpada queimou eu tenho que ir lá antes e testaram seja pode acionar o interruptor para verificar se aquela lâmpada acende ou não se ela não acender significa que ela está o que queimada Então nesse momento aqui e quando eu faço essa pergunta aqui né se a lâmpada acendeu não eu já tô colocando o determinada condição seja a o algoritmo é uma sequência de Passos Só que essa sequência ela pode ser
seguida de acordo com a determinada condição né num acordo com uma lógica que a gente vai aprender posteriormente esse essa lâmpada não acende aí significa que ela está o que queima aí sim eu sigo as funções básicas que eu já tinha comentado porém eu posso lá colocar uma lâmpada testar novamente essa lâmpada não acender eu tenho que ir lá pode ser que é que eu tô colocando nova Tá queimada ou se não pode ser um outro problema mas aí eu vou ter que ficar fazendo isso até que a lâmpada Acenda E aí sim eu termino
resolve esse problema está em mim trocar a lâmpada e guarda a escada ou seja tem uma sequência de instruções para resolver um problema bastante simples que é o caso a troca de uma lâmpada bem um exemplo simples do nosso cotidiano e na ir para escola né se eu for pensar em criar uma sequência de instruções desde a hora que eu acordo não é como que eu pego e vou para escola eu a criança né eu falo que são problema realmente porque eu tenho filho em casa e eu sei como é difícil acordar ele cedo para
ir para escola então isso daqui eu quase que abordando complexo para alguns porque porque no momento que a pessoa acorda né você tem que acordar não basta apenas abrir os olhos tem que abrir os olhos ir ao banheiro né A primeira hora que você acordar você que se levantar depois você vai ao banheiro lavar o rosto escovar os dentes abre o armário escolhe uma roupa né você já não vou detalhar mas você tem toda uma sequência de Passos aqui mas por que que nós estamos mostrando o problema simples assim a ser resolvido porque é problema
simples a gente tem soluções fáceis porém que a gente pensa em problemas um pouco mais complexo nesse caso específico aqui desse problema que é apresentado aquele fã é uma pessoa possa atravessar o Rio nem qual é o problema específico aqui de atravessar o Rio não é apenas que pegar um barco atravessar não esse problema aqui significa o seguinte com um homem ele precisa atravessar um rio com um barco Esse barco ele possui capacidade para transportar ele e mais somente é uma de suas três cargas então ele tem três cargas que seria o lobo né um
bode e uma caixa de alfafa certo então o que acontece nesse problema a gente tem que fazer é pensar na solução para ele problema aqui para transportar se eu consigo transportar sua mente ele mesmo e mais uma das cargas né lembrando o seguinte se eu deixo o bode né junto com o lobo o lobo é como eu bote se eu deixo o bode junto com alfafa o modo como eu faço Então nesse caso é que eu tenho que pensar numa solução eu posso fazer o quê transportar né No barco a pessoa no caso essa essa
pessoa mais uma das suas cargas sentença aqui como eu resolvo isso então começa a perceber que estamos problemas são um pouco mais complexos né esse problema específico vocês vão ter a solução lá no ava depois ok bem agora que um problema um pouco mais complexo um problema clássico na área de computação especificamente na área de grafos né que é o problema da ponte cecconi's Berg qual que esse problema é nessa cidade konigsberg tem uma ilha né E nessa Ilha né existem Sete Pontes né que cruzam as ruas que chegam até esta ilha e as pessoas
da cidade ficaram discutindo Será que é possível né eu fazer uma caminhada continuar única sem passar duas vezes né por qualquer uma das pontes eu quero passar somente em uma das pontas e e esse problema foi resolvido por eu né né usando uma estrutura de dados chamado grafos né e assim ouvir todo uma especificação para resolução desse problema não é um problema tão simples mas ele foi resolvido realmente descobriu que não tem como você passar nesse caso aqui porque você precisaria ter duas pontes né é entre os pontos no caso no momento que ele mapeou
o seu grafo e transformou criando as arestas de identificou que você passaria a ter duas arestas é por cada um dos vértices isso infelizmente não acontecia então não tem como você fazer essa caminhada passando uma única vez por causa da ponte bem Lembrando que algoritmo é uma cinco uma sequência de instrução lógica perguntei então quê que é lógico né Lógico que é utilizada para resolver problema né baseado de maneira lógica ou seja um e ele precisa ser resolvido de maneira lógica para isso a loja que ela trata da correção no pensamento você já ela faz
distinção entre o raciocínio é válido de raciocínio que não é válido Ok Isso significa que a lógica é a arte do bem pensar é a ciência que trata das formas o pensamento em termos de racionalidade e coerência né existem três partes fundamentais da lógica a lógica que nós estamos fazendo aqui a lógica matemática que é a proposição né que afirma o que algo é verdadeiro o algo que é falso Então essa é a proposição são frases que afirmam alguma coisa né já as premissas são as proposições frases afirmativas Ou seja que se usa para provar
alguma coisa para defender alguma ideia significa então que você tem a conclusão a conclusão é a proposição que é obrigatória Ok bem e o exemplo aqui de lógica né É esse aqui todo mamífero é um animal Esse é uma premissa que a gente tem Tô fazendo uma afirmação tô afirmando também que todo o cavalo é mamífero então portanto eu posso dizer que todo o cavalo é um animal porque eu estou afirmando que o mamífero é um animal e que o cavalo também o mamífero Ok mas se eu perguntar se eu afirmar que o crocodilo é
um animal eu não consigo afirmar que o crocodilo ele é um mamífero tá outro exemplo aqui há sete simples é Enzo é mais velho que Murilo Essa é a minha premissa uma afirmação ali só afirma também que Murilo é o mais velho que Henrique com isso eu consigo concluir que Enzo é mais velho que eu Henrique Então essa é a lógica né que nós estamos utilizando e vamos utilizar Bem Além Da Lógica básica eu tentei chama de lógica de programação a lógica de programação é uma técnica e vai encadear pensamentos para atingir um determinado o
motivo né permite definir o que uma sequência lógica para a solução dos meus problemas' porque eu vou mostrar daqui a pouco mas não adianta ter uma sequência de Passos não ordenado que estão uma sequência ordenada e lógica Ok essa sequência lógica né são Passos executados até atingir um objetivo ou a solução do problema mas eu tenho que especificar exatamente igual essa sequência lógica Lembrando que os pensamentos são descritos como uma sequência de instruções que devem ser seguidas para cumprir uma determinada tarefa essa E é esta instrução não posso apresentar aqui dizendo Sim essa sequência lógica
verdade ela é bem definido aqui nesse exemplo quando eu digo a gaveta está fechada e a caneta está dentro da gaveta para eu poder pegar a minha caneta que que eu tenho que fazer primeiro tem que abrir a gaveta para depois Pegar a caneta Então apesar de eu ter Passos bem definidos eu tenho que seguir uma ordem lógica Ok bem e essa sequência ordenada de Páscoa chamei agora pouco de ordem lógica né Deve ser seguido para realização da tarefa se eu não seguir essa ordem lógica eu não consigo execução das tarefas Isso vai acontecer muito
né todo algoritmo baseado nessa sequência lógica bem como eu disse algoritmo ou uma sequência de instruções ou procedimentos lógicos essas instruções são os passos a serem executados são as ações ou conjunto de regras a ser em Ok e tem o programa essa ação elementar é uma ação que vai ser executada momento que te colocar uma expulsão por exemplo escove os dentes né O que é escovar os dentes isso é uma ação eu tenho que de alguma maneira de escrever essa ação no meu algoritmo não é importante ressaltar aqui que um execução isolada de uma determinação
não resolve o problema como todo né você tem que executar ou todas as instruções né ou claro isso aí dependendo se durante a execução sequencial desse espaço e houver alguma estrutura condicional Pode ser que Execute parte daquele passo Ok bem alguns um exemplo bastante interessante de instruções aqui é a tarefa de fazer um omelete né só nós sabemos todos os passos para fazer uma omelete né eu sei que eu tenho que como instrução quebrar ovos bater ovos adicionar sal acender o fogo colocar óleo na frigideira e tudo mais há porém se tem que prestar o
seguinte se eu tiver trabalhando construções isolados eu não tenho resultado efetivo é de fazer um omelete então não adianta só quebrar os ovos Ou só colocar os o óleo na frigideira isso não é suficiente eu preciso seguir uma ordem uma sequência lógica para poder fazer isso você primeiro Não adianta eu querer fritar o ovo se eu ainda não Quebrei os óculos então primeiro tem quebrar ovo para depois fritar ovo e assim por diante Então existe uma sequência lógica para resolver esse problema Ok mas sim algoritmo é uma sequência de funções lógicas né No momento que
eu quero colocar essas instruções para que o meu computador possa resolver determinada tarefa eu preciso codificar eu preciso escrever esse algoritmo e uma determinada linguagem de programação na qual o computador consegue entender né E poder executar esse meu é algoritmo ok é uma linguagem ela pode ser escrita né por um conjunto de instruções em cada linguagem tem a sua sintáxi específico então quantas vezes eu vou escrever o meu código numa determinada linguagem de programação é importante destacar que existem várias linguagens de programação aqui nessa figura eu tô mostrando é linguagem C Java PHP Python JavaScript
ser mais mais fechar várias linguagens de programação a gente tem disponível hoje para utilizar e claro que isso vai depender de cada aplicação software que você vai querer desenvolver mais importante destacar que cada linguagem ele tem a sua sintáxi específica Ok e regras né específicos inclusive ambientes movimentos específicos para cada uma delas ok Aqui é o mostra um exemplo de código fonte do a linguagem parto o exemplo simples aqui para implementar uma função para calcular o fatorial de um número não vou entrar em detalhes aqui com o código Ok bem então nós já falamos de
algoritmos que eu não sei construções falamos em linguagem de programação que é uma linguagem utilizada para você escrever seu algoritmo para poder executar no computador e no momento que você escreve uma sequência de instruções uma determinada a linguagem de programação e você passa executados e Construções você tem o seu programa de computador do seu software efetivamente Ok então aqui eu dou alguns exemplos de softwares WhatsApp Facebook não é coloquei um sofre bem interessante que eu sofro da receita que o pessoalmente anualmente para fazer o seu Imposto de Renda então tem várias fotos aqui não vou
ficar falando um por um mas é importante você saber em que é o software é o resultado da codificação de uma sequência de instruções uma determinada linguagem de programação né Lembrando que o solta ele pode ser desenvolvido para ser executado no computador num dispositivo móvel o ou qualquer outro equipamento isso tem muito longe chamado de sofre as embarcados né porque System software hoje sendo executado no carro então a linguagem software que você vai desenvolver dependendo de onde você quer executar você vai ter uma linguagem programação específica o mesmo software desenvolvido por no computador promete não
Rode né como o aplicativo para o celular dependendo do se da linguagem É bom deixar isso bem claro para vocês ok bem só voltando aqui pouquinho por exemplo decodificação né muitas vezes o pessoal que não é da área de computação de Olha eu olho para Esses códigos não entendo nada a gente sabe disso objetivo nosso inclusive na disciplina aqui não é ensinar nenhuma linguagem de programação né especificamente nós vamos falar de ambientes que vão auxiliar no desenvolvimento de perder algoritmos mas sem se preocupar com sintax de linguagens nós vamos lá o ensino de computação de
programação Ok bem Existem várias maneiras responder representar os algoritmos né eles podem ser representados por descrição narrativas até mostrei no início da aula de hoje alguma descrição lá de como trocar lâmpada aquela sequência de Passos é uma descrição narrativa é por pseudocódigo diferente pouco da descrição narrativa o pseudocódigo Você já consegue ter uma sim táxi né mais clara dessa sequência de Passos a ser executados e o fluxograma que eu mostrei também é ele é representado por diagramas ou a programação em blocos que a gente vai aprender também junto com o frete Ok bem na próxima
aula eu vou falar para vocês justamente sobre essa representação dos nossos algoritmos Ok até logo [Música] E aí E aí E aí E aí E aí [Música] E aí E aí [Música]