42
Alexandre R. Paschoal Computação – Começando do começo ;-) Curso de Verão 2012 – Bioinfo USP 16/01/12 Alexandre Rossi Paschoal [email protected] [email protected]

2 Computacao Introd AlexandrePaschoal

Embed Size (px)

DESCRIPTION

Guia

Citation preview

Page 1: 2 Computacao Introd AlexandrePaschoal

Alexandre R. Paschoal

Computação – Começando do começo ;-)

Curso de Verão 2012 – Bioinfo USP

16/01/12

Alexandre Rossi Paschoal [email protected] [email protected]

Page 2: 2 Computacao Introd AlexandrePaschoal

Alexandre R. Paschoal

Exercício 115 min

• Faça uma descrição de como preparar um miojo

Page 3: 2 Computacao Introd AlexandrePaschoal

Alexandre R. Paschoal

Exercício 2 – 30 min

• Organize as cartas de modo que os números fiquem em ordem crescente!

12 78 3 50 25 1

Page 4: 2 Computacao Introd AlexandrePaschoal

Alexandre R. Paschoal

Exercício 11-) Pegue uma panela

2-) Encher de água

3-) Ligue o fogo

3-) Pegue o pacote de miojo

4-) Colocoque na panela

5-) Espere até ficar pronto

6-) Servir

Page 5: 2 Computacao Introd AlexandrePaschoal

Alexandre R. Paschoal

Exercício 11-) Pegue uma panela rasa

2-) Encher a panela rasa com 4 copos d'água

3-) Ligar a “boca” do fogão em que está a panela com nível alto

4-) Espere até começar a ferver

5-) Pegue o pacote de miojo do sabor desejadoe abrá-o

7-) Coloque o miojo na panela com água fervendo

8-) Espere 4 minutos

9-) Desligue o fogo e retire a água com cuidado

10-) Coloque o miojo num prato

11-) Abra o tempero e jogue no miojo

Page 6: 2 Computacao Introd AlexandrePaschoal

Alexandre R. Paschoal

Exercício 2

• Organize as cartas de modo que os números fiquem em ordem crescente!

12 78 3 50 25 1

>

Page 7: 2 Computacao Introd AlexandrePaschoal

Alexandre R. Paschoal

for(i = 0; i < qtd; i++)for(i = 0; i < qtd; i++)

    {{

          for(j = 0; j < k; j++)for(j = 0; j < k; j++)

          {{

                if(v[j] > v[j+1])if(v[j] > v[j+1])

                {{

                        aux = v[j];aux = v[j];

                       v[j] = v[j+1];v[j] = v[j+1];

                       v[j+1]=aux;v[j+1]=aux;

                }}

          }}

          k­­;k­­;

    }}

Page 8: 2 Computacao Introd AlexandrePaschoal

Alexandre R. Paschoal

Receita de Bolo

Page 9: 2 Computacao Introd AlexandrePaschoal

Alexandre R. Paschoal

Torta de maçãTorta de maçãIngredientes:

- 1 xícara de chá de açúcar- 100 grs de margarina (1 pacotinho)- 2 ovos- 1/2 xícara de chá de leite - 1 1/2 xícara de chá de farinha de trigo- 1 colher de sopa de fermento em pó royal- 2 maçãs em fatias sem casca (ou 3)- canela (se gostar)

Modo de preparar:- Bata o açúcar com a margarina e os ovos, até ficar bem leve.- Junte aos poucos o leite, alternando com a farinha peneirada junto com o

fermento.- Bata bem.- Coloque a massa em forma untada e enfarinhada.- Por cima, coloque as tarias de maçã. Polvilhe com açúcar e canela.- Leve ao forno moderado (180 graus) por 20 minutos.- Bom apetite.

RECEITA RECEITA

Page 10: 2 Computacao Introd AlexandrePaschoal

Alexandre R. Paschoal

Receita  /*Funções de input/output*/#include <stdio.h>

int main(void){    printf("Olá, Mundo!\n");    return 0;}

Programa

InstruçõesInstruções

CódigoFonte

Page 11: 2 Computacao Introd AlexandrePaschoal

Alexandre R. Paschoal

GAGGGTGATGTATATCCTATGCGCGCGCGCGCGCGCGCGGCAACATTTGGAGAGAGAATGGAGGGTGATGTATATCCTATGCGCGCGCGCGCGCGCGCGGCAACATGGTGATCCACCGGTGTACTCACTCCAAGTTGCCTTTTAGGACCTGATCGTTCAAGAGGTGCCCGTTAGCATACAATTCGCGAGGGTGATGTATATCCTATGCGCGCGCGCGCCGCGGCAACATACTAATATAAGCAGCCGGTGCTCTATGCGCGCGAGGGTGATGTATATCCTATGCGCGCGCGCGCGCGCGCGGCAACATGAGGGTGATGTATATATTGTAGTATATCCTATGCGGTATATCCTACGCGGCAACATAC

Page 12: 2 Computacao Introd AlexandrePaschoal

Alexandre R. Paschoal

RECEITA

• Descrição dos passos de como fazer XYZ

• XYZ = só bolo ou miojo?

• Em Computação é ALGORITMO

Page 13: 2 Computacao Introd AlexandrePaschoal

Alexandre R. Paschoal

Obs IMPORTANTE

“RECEITA” - CUIDADO

ALGORITMO <> RECEITA (Mais rigorosos em definição)

Sugestão de leitura:

Livro: Ciência Dos Computadores – Uma Abordagem Algorítimica

Jean-Paul Tremblay e Richard B. Bunt

Page 14: 2 Computacao Introd AlexandrePaschoal

Alexandre R. Paschoal

Algoritmo

- Cuidado:

- Receita não é um algoritmo!

Nossa, mas p q ? acabou dizer que é !!

OBS: Mais rigorosos não consideram.

P q ?

Page 15: 2 Computacao Introd AlexandrePaschoal

Alexandre R. Paschoal

Algoritmo

- Instruções bem definidas;

- Instruções finitas (começo, meio e fim);

- Sem ambiguidade;

- 0 ou N entradas mas sempre tem saída;

Page 16: 2 Computacao Introd AlexandrePaschoal

Alexandre R. Paschoal

Programação (Desenvolver)

• Programar é uma arte

• Tem que ter carinho

• Tem que ter paciência

• … persistência, concentração etc

Page 17: 2 Computacao Introd AlexandrePaschoal

Alexandre R. Paschoal

Computador

• Como dito, é uma máquina. Não pensa

• Programa: forma pelo qual “conversamos” com a máquina (computador).

• Algoritmo, a abstração de um programa, ou seja, a idéia “lógica”, em forma de instruções, de um programa.

Page 18: 2 Computacao Introd AlexandrePaschoal

Alexandre R. Paschoal

Programa = Software

Programa ou Software nada mais é do que a “entidade” que faz a comunicação entre homem e máquina;

− Máquina: Celular, geladeira, Video Game, Microcomputador, etc

Dois principais tipos de software (Licença de uso):

− Software Livre;− Software Proprietário.

Page 19: 2 Computacao Introd AlexandrePaschoal

Alexandre R. Paschoal

INFORMÁTICA

DEFINIÇÃO:

• “informação automática”, ou seja, a utilização de métodos e técnicas no tratamento automático da

informação.

• É preciso uma ferramenta adequada: o computador eletrônico.

Page 20: 2 Computacao Introd AlexandrePaschoal

Alexandre R. Paschoal

COMPUTADOR• máquina que

processa dados

• orientada por um conjunto de instruções

• e destinada a produzir resultados completos, com um mínimo de intervenção humana.

Page 21: 2 Computacao Introd AlexandrePaschoal

Alexandre R. Paschoal

Funcionamento: Computador

• Sistema baseado em Hardware (HD) e Software (SW).

• Hardware = Equipamento (Físico)

• Software = Programa (Lógico)

• Basicamente o computador é organizado em três principais funções: Entrada, processamento e saída.

Page 22: 2 Computacao Introd AlexandrePaschoal

Alexandre R. Paschoal

Conceitos Básicos: Computação

PS: Resolução de Problemas

Page 23: 2 Computacao Introd AlexandrePaschoal

Alexandre R. Paschoal

Conceitos Básicos: Computação

INGREDIENTESALGORITMO(“RECEITA”) MIOJO

Page 24: 2 Computacao Introd AlexandrePaschoal

Alexandre R. Paschoal

Conceitos Básicos: Computação

Page 25: 2 Computacao Introd AlexandrePaschoal

Alexandre R. Paschoal

Computador não pensa!

Page 26: 2 Computacao Introd AlexandrePaschoal

Alexandre R. Paschoal

Arquitetura: Software

Page 27: 2 Computacao Introd AlexandrePaschoal

Alexandre R. Paschoal

Software livreSoftware livre: Uma questão de liberdade

“Software é como receita culinária. Você deve ter a liberdade de:

− cozinhar conforme a receita

− copiar e estudar a receita

− modificar a receita, adequar à seu gosto

− distribuir a outras pessoas”

Richard Stalmann

Fonte: Palestra: "Aprendendo a fazer software, livre" - Luiz Fernando Bier Melgarejo

Page 28: 2 Computacao Introd AlexandrePaschoal

Alexandre R. Paschoal

Software Proprietário: Uma questão de ... propriedade

Acostuma com as “Quatro Restrições” , para:

− executar o software ($)

− copiar e estudar os fontes (X)

− modificar o fonte, adequar à seu gosto (?)

− distribuir a outras pessoas (X!)

Fonte: Palestra: "Aprendendo a fazer software, livre" - Luiz Fernando Bier Melgarejo

Page 29: 2 Computacao Introd AlexandrePaschoal

Alexandre R. Paschoal

Linux é um programa?

LinuxLinux ou GNU/LinuxGNU/Linux é um Sistema Operacional (S.O.)

Sistema Operacional é um conjunto de ferramentas (programas) necessárias para que um computador possa ser utilizado de forma adequada.

− Fonte: Wikipedia

Conclusão: SO é o programa/software (ou conjunto deles) responsável pela comunição entre Homem (Usuário) e o Hardware (Máquina)

Page 30: 2 Computacao Introd AlexandrePaschoal

Alexandre R. Paschoal

• E ai ... o que muda com Software Livre?

Page 31: 2 Computacao Introd AlexandrePaschoal

Alexandre R. Paschoal

A Revolução do Pinguim

Page 32: 2 Computacao Introd AlexandrePaschoal

Alexandre R. Paschoal

GNU/Linux

Kernel(Linux)

Progs.GNU

Progs.GNU

Progs.GNU

Progs.GNU

Progs.GNU

Progs.GNU

A Revolução Do Pingüim

 /*Funções de input/output*/#include <stdio.h>

int main(void){    printf("Olá, Mundo!\n");    return 0;}

Programa

Page 33: 2 Computacao Introd AlexandrePaschoal

Alexandre R. Paschoal

DETALHES TÉCNICOS

A parte tecnológica

Page 34: 2 Computacao Introd AlexandrePaschoal

Alexandre R. Paschoal

DRISTRIBUIÇÕES

Page 35: 2 Computacao Introd AlexandrePaschoal

Alexandre R. Paschoal

Page 36: 2 Computacao Introd AlexandrePaschoal

Alexandre R. Paschoal

As Distribuições

Page 37: 2 Computacao Introd AlexandrePaschoal

Alexandre R. Paschoal

Be Free - Seja Livre

A Filosofia do Software Livre

Page 38: 2 Computacao Introd AlexandrePaschoal

Alexandre R. Paschoal

Freedom to be Free 1985 - um pesquisador do MIT, Richard Stallman, cria a Fundação Software

Livre (FSF – Free Software Fundation);

Principal Filosofia: Liberdade de expressão (usuário):

-> (GPL) executar, copiar, distriuir, estudar, modificar e aperfeiçoar;

É elaborado um marco na forma de criação de software: o documento “Manifesto GNU”. Neste manifesto continha:

A razões do movimento SL;

A criação de um SO livre, denominado GNU.

Be Free – Seja Livre

Page 39: 2 Computacao Introd AlexandrePaschoal

Alexandre R. Paschoal

Visão Sobre Software Livre

Software Livre

Liberdade

UsoAlteraçãoDistribuiçãoEstudar

Colaboração

Comunidade

Experiência

Bem estar

Page 40: 2 Computacao Introd AlexandrePaschoal

Alexandre R. Paschoal

Be Free – Seja Livre

Page 41: 2 Computacao Introd AlexandrePaschoal

Alexandre R. Paschoal

Sugestão

• Quero começar a usar Linux...

Page 42: 2 Computacao Introd AlexandrePaschoal

Alexandre R. Paschoal“Windows: escrito pelos melhores programadores que o dinheiro pode comprar. Linux: escrito por programadores que dinheiro nenhum no mundo compra.”

Dúvidas ?!?!Dúvidas ?!?!