Aula Inaugural - obi-se.com · passado ou para o futuro. Você pode fazer uma, duas ou três...
Transcript of Aula Inaugural - obi-se.com · passado ou para o futuro. Você pode fazer uma, duas ou três...
Aula InauguralIniciação à Programação
A OBI
Olimpíada Brasileira de Informática
Modalidades:
1. Iniciaçãoa. Provas de Lógica Objetiva utilizando Papel e Caneta
2. Programaçãoa. Provas com Problemas de Programação resolvidos no Computador
2
A OBI - Modalidade Programação
● Programação Júnior
● Programação Nível 1
● Programação Nível 2
● Programação Sênior
3
A OBI - Premiação● Curso na Unicamp (Campinas - SP) para os melhores colocados de cada
modalidade
● Os melhores em Programação Nível 2 do Brasil participam da IOI
● IOI - Olimpíada Internacional de Informática
4
Sobre o Projeto● Introdução à Computação
● Aulas de Programação(Utilizando C/C++)
● Linguagens de Programação conhecidas:
5
Sobre o nosso Curso● Aprenderemos o que é um algoritmo e a como programar e
resolver problemas usando o computador e a linguagem de
programação C/C++.
● Projeto Final (Livre Escolha)
6
Sobre o nosso Curso: ● Por que usar C/C++?
Fonte: IEEE <https://spectrum.ieee.org/static/interactive-the-top-programming-languages-2017>
Rank das linguagens mais usadas em 2017
7
MotivaçãoOnde a Computação é usada? O computador é inteligente?
8
MotivaçãoProgramador. Onde vivem? O que comem? Onde trabalham?
9
Motivação
10
Motivação: Ser premiado Nacionalmente na OBI e fazer curso na Unicamp
11
Motivação: Chegar até a Olimpíada Internacional - IOI !!!
12
Equipe● Monitores
- Adam Lucas Pinheiro da Silva
- João Marcos Martins Soares
- Welerson Augusto Lino
- João Victor Viana
● Orientadores
- Débora Maria Coelho Nascimento
- Kenia Kodel Cox
13
● Escreva seu nome e sobrenome no crachá (não mostre pra
ninguém)
● Coloque o crachá em cima da mesa virado de cabeça pra baixo
Apresentação dos Alunos
14
● Pegue um crachá qualquer em cima da mesa
● Procure a pessoa com o nome escrito no crachá (SEM GRITAR)
● Descubra a idade e pelo menos uma atividade que a pessoa goste
de fazer
● Organizem um círculos onde a pessoa à sua esquerda estava te
procurando, e a pessoa a sua direita foi quem você procurou
Apresentação dos Alunos
15
TOURVamos passear pela UFS
16
Intervalo de 20 minutos!
● Fiquem próximo ao Departamento
● Aproveitem para se conhecerem
● Bebam água e vão ao banheiro!
17
Adivinhe o Número...1. O Voluntário escreve um número na folha de papel e esconde
2. Alguém dá um chute para tentar adivinhar o número do papel
3. O Voluntário responde se o número do papel é maior ou menor que o
número do chute
4. Voltamos ao Passo 2 1 .. x .. 1000 ?18
Quantas pessoas tem na turma?1. Fique de pé
2. Pense: Eu sou o número 1
3. Encontre outra pessoa que está em pé, some seu número com o dela e
adote a soma como seu novo número
4. Um de vocês deve sentar o outro volta para o Passo 3
19
O que é um algoritmo?● O que acabamos de fazer!
● Definição: É um conjunto de regras/instruções para a solução de um problema.
Sequência detalhada de ações a serem executadas para realizar alguma tarefa.
● Qual foram os nossos problemas? Quais foram as instruções que definimos para
resolvê-los?20
Algoritmos Computacionais e Algoritmos Não Computacionais● Algoritmos Não Computacionais: Algoritmos visto anteriormente.
Exemplo: Receita de Bolo.
● Algoritmos Computacionais: Algoritmos usados pelo computador. Iremos
estudar ao longo do curso
21
Como Fazer Chocolate Quente?
● Ingredientes?
● Receita?
22
Entrada e Saída
23
Entrada e Saída
24
Passos para criar um algoritmo1. Entender o problema! (Muito importante)
2. Extrair as informações necessárias (entradas, operações e saídas)
3. Descrever claramente os passos para se chegar à solução
4. Definir a sequência Lógica dos passos
5. Representar através de: Narrativa, Fluxograma, Pseudo-Código,
Código.
25
Trocar Lâmpada - Entender o ProblemaQual o problema a ser tratado?
26
Trocar Lâmpada - Extrair as informações necessáriasQuais as entradas, operações e saídas necessárias para resolver o problema?
Onde está a lâmpada? Qual o tipo? Está muito alta?
27
Trocar Lâmpada - Descrever passos para se chegar à soluçãoQuais os passos necessários para chegar a solução do problema?
28
Trocar Lâmpada - Sequência Lógica de Passos
Descrever passos em uma sequência lógica: Passo 1, Passo 2, e assim por diante…
Perceba que primeiro precisamos colocar a escada no lugar, para depois trocar a lâmpada.
Vamos juntos criar um algoritmo narrativo para resolver esse problema!
29
Trocar LâmpadaGeralmente existem várias formas de resolver o mesmo problema, mas qual é a melhor?
30
Exemplos RepresentaçõesPseudo-Código Fluxograma
31
Computador● O computador não entende a linguagem humana, para isso existem as
linguagens de programação.
● A linguagem de programação fala para o computador o que ele deve
fazer , e traduz os códigos em 0 ou 1, que no fundo é o que os
computadores entendem.
● Logo, programar é traduzir uma ideia da linguagem natural para a
linguagem computacional.
32
Computador
33
Faça personagem do jogo correr…
Onde praticar e aprender mais1. Site da OBI: https://olimpiada.ic.unicamp.br/pratique/
2. URI OJ: https://www.urionlinejudge.com.br
3. CodCad: http://www.codcad.com/
4. Páginas em inglês que podem ajudar:
● Geeks for Geeks (tutoriais): https://www.geeksforgeeks.org/
● Referência do C++: http://www.cplusplus.com/reference/
34
Desafio Para Casa● Fazer um algoritmo Narrativo para resolver o seguinte problema:
Imagine que você tenha uma máquina do tempo que pode ser usada no máximo três vezes, e a cada uso da máquina você pode escolher voltar para o passado ou ir para o futuro. A máquina possui três créditos fixos; cada crédito representa uma certa quantidade de anos, e pode ser usado para ir essa quantidade de anos para o passado ou para o futuro. Você pode fazer uma, duas ou três viagens, e cada um desses três créditos pode ser usado uma vez apenas. Por exemplo, se os créditos forem C1=5, C2=12 e C3= 9, você poderia decidir fazer duas viagens: ir 5 anos para o futuro e, depois, voltar 9 anos para o passado. Dessa forma, você terminaria quatro anos no passado, em 2012. Também poderia fazer três viagens, todas indo para o futuro, usando os créditos em qualquer ordem, terminando em 2042.
Neste problema, dados os valores dos três créditos, C1, C2, C3, da máquina, seu algoritmo deve dizer se é ou não possível viajar no tempo e voltar para o presente, fazendo pelo menos uma viagem e, no máximo, três viagens; sempre usando cada um dos três créditos no máximo uma vez.
Exemplo:
Entrada: 22 5 22 Saída: É possível
Entrada: 48 8 7 Saída: Não é possível35
Isso é tudo pessoal!● Obrigado e até a próxima semana.
36