O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

Aulas de Algoritmos e Estrutura de Dados - 1ª aula

Iniciado por NarukamiKyosuke, 27/09/2013 às 20:01

Aulas de Algoritmos e Estrutura de Dados
Por: Uchiha_Bruno



Introdução

Eu sou um estudante do 2º ano de ensino médio integrado com um curso de Técnico em Informática (minhas aulas tem uma hora a mais do normal para eu estudar informática junto com o ensino médio), então além de eu aprender matérias normais como química, física, matemática e etc, também tenho matérias como Fundamentos da informática, Inglês técnico, Arquitetura do Computador, Algoritmos e Estrutura de Dados, etc. Como não sou muito criativo para criar um tutorial de algum evento (minha "especialidade"), decidi dar aulas de Algoritmos e Estrutura de Dados por que não vi isso pelo MRM ainda.
Enfim, espero que gostem das aulas e que acompanhem-as.


O que é um Algoritmo?

Um algoritmo é um conjunto de códigos lógicos que executam uma ou mais ações. como diz minha professora: "O computador é a máquina mais rápida do mundo, mas também a mais burra". Por exemplo, digamos que você queira que o computador frite um ovo. Como você diz isso para o computador? Apenas: "frite um ovo!"?  Não! Você deve descrever todos os passos por meio de Algoritmos! Por exemplo, você deve dizer (obviamente isso não é um algoritmo, apenas um exemplo):
-Ligue o fogão em fogo alto.
-Pegue a frigideira no armário.
-Coloque a frigideira sobre a boca do fogão ligada.
-Coloque óleo na frigideira.
-Pegue o ovo na geladeira.
-Quebre o ovo sem derruba-lo no chão.
-Coloque na frigideira apenas a clara e a gema, a casca você deve descartar.
-Após 2 minutos retire o ovo da frigideira colocando em um prato separado.
-Desligue o fogão.
(caso tenha algum erro no preparo, desculpa, eu não cozinho... Mas entenderam o exemplo, né?)
Enfim, você deve descrever ao computador exatamente o que você quer com todos os detalhes! É assim que o computador funciona, por meio de milhares de códigos que viajam de lá pra cá para deixar tudo organizado.


Mas... Qual a utilidade?

Bom, no tópico anterior já dissestes a principal utilidade, mas e a utilidade para mim, maker, qual é?
Ué! Não é óbvio?! Algoritmos são o básico dos Scripts! Aliás, Script é um algoritmo, mas ele não controla a funcionalidade do computador, mas de um programa (o jogo). Script, PHP, Python, Java, Delphi, Pascal, Visual Basic, C++ (meu irmão programador diz que essa é a mais difícil de todas!), enfim, todas essas linguagens de programação são algoritmos, só muda a linguagem (óbvio). Então sabendo algoritmos, seu aprendizado com essas linguagens, incluindo Script, ficará mais fácil!
Não excluindo a parte dos eventos, sendo que realmente é meio parecido com algoritmos.


Finalmente! A primeira lição!

Algoritmos, como eu já disse, são um conjunto de códigos lógicos, e o que é mais lógico que verdadeiro ou falso? Até mesmo binários é um joguinho de verdadeiro ou falso (0=falso/desligado, 1=verdadeiro/ligado, formando códigos como por exemplo o de "a"=01100001).
Então nessa primeira aula iremos aprender alguns elementos da lógica. Esses elementos definem se algo irá acontecer ou não.

Função: "e"

Olhe esse comando:
"Se eu tiver escrito isso e você lido entao
você irá aprender"
o comando "você irá aprender" será ativado? Talvez ache que não, por que talvez você não tenha aprendido, mas na verdade será ativado. Por quê? Por que as condições eram:
Se eu tiver escrito isso - Verdadeiro, eu escrevi mesmo ("Se", função de condição, aprenderemos depois)
e você lido - Verdadeiro, você acaba de ler, não é?
pois então Verdadeiro e Verdadeiro = Verdadeiro!
Então se a afirmação é verdadeira, o comando é ativado! Por isso você "irá aprender"!
Mas e nesse comando:
"Se 1=1 e 2=3 entao
Seremos todos bonitos!" (sqn)
Afirmação verdadeira? Tenho quase certeza que dirá que não, essa realmente está muuuito fácil, mas se não se importa vou explicar para quem acha que é verdadeiro, o porquê de ser falso.
Vamos às afirmações:
1=1 - Verdadeiro, todos sabemos.
2=3 - Falso! Muito Falso! Pitágoras esta a espernear-se no túmulo agora com essa afirmação.
Portando Verdadeiro e Falso = Falso! (infelizmente não seremos bonitos...)
com esses 2 exemplos deu para entender? Com a função "e", todas as afirmações devem estar corretas para o comando funcionar, caso contrário, nada de sermos bonitos... nada acontecerá (a menos que tenha um senao, mas isso aprenderemos depois).

Função: "ou"

Utilizando o mesmo exemplo de antes, apenas trocando o "e" por "ou", observe:
"Se 1=1 ou 2=3 entao
Seremos todos bonitos!"
Quando a função "ou" é aplicada, só é preciso que uma afirmação seja verdadeira, afinal, "se uma estiver correta, ou a outra, execute tal ação". Então, neste caso, a afirmação é verdadeira? Sim!!!
Seremos todos bonitos! :-D
Mesmo que 2 não seja igual a 3, 1 é igual a 1, e por isso a função será executada!

Função: "nao"

Essa não tem muito segredo, ela apenas inverte a lógica, por exemplo:
"Se nao(3+4=7) entao
Ficarei sem criatividade"
Analisando:
nao(3+4=7) - a afirmação dentro dos parênteses é verdadeira, mas observe que tem um "não" atrás, o que significa? o mesmo que "não(Verdadeiro)", uma coisa "não-verdadeira", é...? Falsa! Sim! então a afirmação é falsa e o comando a seguir não será executado!

Aqui uma tabela:

F = falso
V = verdadeiro
V e V = verdadeiro
V e F = falso
F e V = falso
F e F = falso
V ou V = verdadeiro
V ou F = verdadeiro
F ou V = verdadeiro
F ou F = falso
V e V ou F = verdadeiro
V e F ou F = falso
F ou V e V = verdaeiro
nao(F) = verdadeiro
nao(V) = falso
nao(nao(F)) = falso

Espero que tenha dado para entender, eu não costumo conseguir explicar corretamente o que eu quero dizer, então qualquer dúvida, crítica ou sugestão é só responder este tópico.


Exercícios!

Como é a primeira aula (e estou um pouco cansado) vou só passar algo para você testar se aprendeu:
1- Me diga uma coisa, essas afirmações são verdadeiras? (quero dizer, a comando a seguir será executado?)

a) "Se 45-17=28 e nao(presidente do Brasil é o Lula) entao
O computador irá desligar"

b) "Se 1234=5678 e 3456=1278 ou 6789=6789 entao
Você é inteligente"

c) "Se nao(F) e (V e F ou F) ou visualizações nesse tópico=0 entao
Ninguém viu esse tópico"

Ficha para resposta: opcional
Spoiler
A) ( )verdadeiro ( )falso
B) ( )verdadeiro ( )falso
C) ( )verdadeiro ( )falso
[close]


Conclusão

É isso, espero que tenham gostado por que deu um trabalhão escrever tudo isso. Críticas, dúvidas, sugestões pode responder neste tópico.
Quase esqueci, sobre as palavras não acentuadas, foi proposital, os programas onde se cria algoritmos geralmente não leem acentos, então coloca-los iria bugar seu algoritmo (mas pode ter alguma palavra que não faz parte dessa exceção, então peço desculpas caso haja).
Até a próxima!


Acesse esse Link Curioso

Vejo que sua ideia é começar com o raciocínio lógico por trás dos algoritmos para depois inciar a parte de programação direta, certo?

Se for isso, prefiro aguardar as próximas aulas para ver como você vai se sair. Até porque essa parte eu já vi demais. Não manjo muito de algoritmos, tive só o básico na faculdade, mas a função if, do, vetor, matriz, etc é um conceito universal.

Bom, de qualquer forma, achei que ficou bem escrito e não complicou. Parabéns pela aula e aguardarei as próximas.

Viva a lenda!