Buscar

AULA 01_CURSO_DE_EXTENSÃO_BITSBYTES


Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

 CONCEITOS BÁSICOS DE PROGRAMAÇÃO
 A arte de programar - a organização do pensamento 
 Lógica de programação - tipos de linguagens de programação
 Conceito de algoritmo
 ESTRUTURA DE CONTROLE
 Sequência, seleção, repetição
 Representação de algoritmos
 Instruções Primitivas
 TIPOS DE DADOS
 Tipos de dados 
 Funções - simples e para tratamento de String
 Repetição com variável de controle
 OPERADORES - TÉCNICAS DE PROGRAMAÇÃO 
 Expressões Literais, Relacionais e Lógicas
 Modularização
 Recursividade 
TEMAS
AULA - 01
BITS & BYTES
APRENDER A PENSAR !
• Todo ser humano pensa. Mas nem sempre o
faz de maneira reflexa.
• O pensar espontâneo fixa-se no objeto
pensado. Termina praticamente aí seu
processo de conhecimento!
• Interessa-nos aqui “aprender a pensar”.
• Isso significa passar de um nível espontâneo,
primeiro e imediato a um nível reflexo!
DADO  INFORMAÇÃO CONHECIMENTO !
ALGUMAS REFLEXÕES 
SOBRE EDUCAÇÃO !
Curiosamente não ensinamos nossos jovens a
pensar.
Gastamos horas e horas ensinando como os
outros pensam ou como os outros solucionaram
os problemas de sua época, mas não
ensinamos nossos filhos a resolver os próprios
problemas.
STEPHEN CHARLES KANITZ
• Nossos alunos, na maioria, estão
desmotivados e cheios das aulas!
• Alguns professores adoram ser o centro das
atenções!
• Muitos estão infelizes com sua posição de
ator obrigado a entreter por cinquenta minutos
um bando de desatentos (????).
• Não é por coincidência que somos uma
nação facilmente controlada por políticos
mentirosos e intelectuais espertos.
• Nossos diretores valorizam a autoridade, não
o indivíduo.
STEPHEN CHARLES KANITZ
• Nossas salas de aula geram alunos
intelectualmente passivos, e não líderes; puxa
sacos, e não colaboradores.
• Elas incentivam a ouvir e obedecer, a
DECORAR, e jamais a ser criativo.
STEPHEN CHARLES KANITZ
• Em outros países a sala de aula é construída como
anfiteatro, onde os alunos ficam num plano ACIMA
do professor, não ABAIXO ! GRÉCIA !
• O objetivo não é a transmissão de conhecimento por
parte do professor, esta é a função dos livros, não
das aulas.
• As aulas são para exercitar nossa CAPACIDADE DE
RACIOCÍNIO, de convencer nossos colegas de
forma clara e concisa, indo direto ao ponto.
• Aprendíamos a ser OBJETIVOS, a mostrar
liderança, a resolver conflitos de opinião, a chegar
a um comum acordo e obter AÇÃO CONSTRUTIVA.
• No Brasil só se fica na teoria!
STEPHEN CHARLES KANITZ
No mundo moderno, em constante
mutação, Inteligência significa enxergar
o que os outros (ainda) não veem!
Isso é próprio de pessoas criativas,
pesquisadoras, curiosas, exploradoras,
que encontram soluções para os novos
problemas  INOVAÇÃO !
STEPHEN CHARLES KANITZ
Talento é acertar um alvo
que ninguém acerta!
Genialidade é acertar um alvo
que ninguém vê...
Arthur Schopenhauer
Gdańsk-Prússia (1788) - Frankfurt-Alemanha (1860)
As pessoas comuns pensam apenas
como passar o tempo. Uma pessoa
inteligente tenta usar o tempo.
Quanto menos inteligente é um
homem, menos misteriosa lhe parece
a existência.
Não devemos mostrar a nossa cólera
ou o nosso ódio senão por meio de
atos. Os animais de sangue frio são
os únicos que têm veneno.
Importante não é ver o que ninguém nunca viu, mas sim, pensar
o que ninguém nunca pensou sobre algo que todo mundo vê.
Arthur Schopenhauer
Gdańsk-Prússia (1788) 
Frankfurt-Alemanha (1860)
• O nosso ensino de FÍSICA e QUÍMICA é MUITO
SUPERIOR ao americano.
• Mesmo assim, o Brasil produz MENOS FÍSICOS E
QUÍMICOS que os Estados Unidos.
• Damos MUITA TEORIA e INFORMAÇÃO, mas
ENSINAMOS POUCO como USAR as informações
aprendidas.
• Os americanos sabem e aprendem muito menos
teoria, mas DEVOTAM MAIS TEMPO aprendendo
como USAR A INFORMAÇÃO apresentada, sob
todos os ângulos.
STEPHEN CHARLES KANITZ
OBSERVAR E PENSAR
• O primeiro passo para APRENDER A
PENSAR é APRENDER A OBSERVAR!
• Só que isso, infelizmente, não é
ensinado.
• Incentivaria os alunos a estudar menos e
a observar mais, e de forma correta.
STEPHEN CHARLES KANITZ
O QUE DIZEM OS EDUCADORES ?
VYGOTSKY  a aprendizagem e o
ensino são formas universais de
desenvolvimento MENTAL.
Lev Semenovitch Vygotsky
ORSHA 1896 - MOSCOU 1934
Ensino propicia a apropriação da cultura e o
DESENVOLVIMENTO do PENSAMENTO, dois processos
articulados entre si, formando uma unidade.
a) enquanto o aluno forma conceitos científicos, incorpora
PROCESSOS de PENSAMENTO e vice-versa;
b) enquanto forma o PENSAMENTO teórico, desenvolve
AÇÕES MENTAIS, mediante a solução de problemas que
suscitam a atividade mental do aluno.
Com isso assimila o conhecimento teórico e as
capacidades e habilidades relacionadas a esse
conhecimento.
Lev Semenovitch Vygotsky
ORSHA 1896 - MOSCOU 1934
EM QUE MOMENTO DAS
NOSSAS VIDAS ISSO ACONTECE ?
OU DEVERIA TER 
ACONTECIDO?
Daria tudo que sei, pela
metade do que ignoro.
RENÉ DESCARTES
(La Haye en Touraine - 1596/Estocolmo-1650
Trocaria toda minha tecnologia
por uma tarde com Sócrates.
STEVEN SCHIBLE JANDALI
San Francisco Califórnia - 1955
Palo Alto Califórnia - 2011
O QUE REPOUSA SUBJACENTE
A ESSES PENSAMENTOS?
O DESEJO DE SABER....
O DESEJO DE APRENDER....
Programar...
Programar é a arte de organizar
e dominar a complexidade.
Edsger Wybe Dijkstra
Roterdã - 1930 / Nuemen - 2002
A ARTE DE PROGRAMAR
PROGRAMAR É UMA ARTE?
PROGRAMAR É PENSAR DE
MANEIRA ORDENADA E
LOGICAMENTE COERENTE!
Ensinar programação nas escolas!
Bill Gates
Steve Jobs
Jack Dorsey
Drew Houston
.................
PROGRAMAR É PENSAR DE MANEIRA
ORDENADA E LOGICAMENTE COERENTE!
Duas palavras - pensar e lógica !
O QUE É LÓGICA ?
LÓGICA  é o estudo filosófico do
raciocínio válido. Utilizada em
atividades mais intelectuais, a lógica é
usada principalmente nas disciplinas
de filosofia, matemática, semântica e
CIÊNCIA DA COMPUTAÇÃO.
FORMAL
DE ARGUMENTAÇÃO
DO DIREITO
MATEMÁTICA
DE PROGRAMAÇÃO
FUZZY
......
LÓGICA
LÓGICA FORMAL também chamada de LÓGICA
SIMBÓLICA, preocupa-se, basicamente, com a
ESTRUTURA DO RACIOCÍNIO.
LÓGICA MATEMÁTICA é uma sub-área da matemática
que explora as aplicações da lógica formal para a
MATEMÁTICA.
LÓGICA DE PROGRAMAÇÃO é a técnica de
desenvolver ALGORITMOS (sequências
lógicas) para atingir determinados objetivos.
Utiliza regras baseadas na Lógica Matemática e
em outras teorias básicas da CIÊNCIA DA
COMPUTAÇÃO.
Os ALGORITMOS são depois adaptados para
a LINGUAGEM DE PROGRAMAÇÃO utilizada
pelo programador para construir seu
SOFTWARE.
O conceito de um ALGORITMO foi formalizado
em 1936 pela Máquina de Turing de ALAN
TURING e pelo Cálculo Lambda  de Alonzo
Church, que formaram as primeiras fundações
da Ciência da Computação.
Alan Mathison Turing
Londres-1912/Wilmslow-1954 
ENIGMA !!!! 
JOGO DA IMITAÇÃO 
Arthur Scherbius - 1918
https://www.google.com.br/imgres?imgurl&imgrefurl=http://www.ucalgary.ca/turing/node/15&h=0&w=0&tbnid=PmE07K930At08M&zoom=1&tbnh=219&tbnw=230&docid=CcW8ID9CHciWbM&tbm=isch&ei=yzlwU-e2BcjRsAS45YCYCw&ved=0CAUQsCUoAQ
Um PROGRAMA de computador é ESSENCIALMENTE
um ALGORITMO que DIZ AO COMPUTADOR os
PASSOS específicos e em que ORDEM eles devem ser
executados.
Logo, o ALGORITMO pode ser considerado uma
SEQUÊNCIA DE OPERAÇÕES que podem ser
simuladas por uma máquina de Turing completa.
ALGORITMO
PROGRAMA
SOFTWARE
ALGORITMO  FLUTUA ACIMA DO BEM E DO MAL !!!!
LINGUAGEM DE 
PROGRAMAÇÃO 
SOFTWARE
BÁSICO 
APLICATIVO  é um produto desenvolvido para auxiliar
o usuário final nas mais variadas tarefas.
Exemplos  Processador de Texto, Planilha Eletrônica
Softwares de Apresentação, SGBD’s, Navegadores,
Mídias Socias, Mensagens,........etc.
SOFTWARE
BÁSICO
APLICATIVO
SISTEMAS OPERACIONAIS
LINGUAGENS DE PROGRAMAÇÃO
SISTEMA OPERACIONAL  é o conjunto de programas
indispensáveis para o funcionamento de qualquer
computador. Controla o Hardware, gerenciando o fluxo de
dados na
máquina (entrada, saída), o uso da memória, etc.
Funciona como um intermediário entre o usuário e o
equipamento.
Exemplos  MS-DOS, MAC-OS, OS2, WINDOWS, LINUX,
UNIX, SOLARIS, MAC-APPLE, CHROME-OS, ANDRIOD,
iOS, VM, MVS, ....
????
USUÁRIO
COMPUTADOR
HARDWARE
SISTEMA
OPERACIONAL
• MSDOS
• WINDOWS
• LINUX
• MAC-OS
• ANDROID
• iOS
• ..............
USUÁRIO - SISTEMA OPERACIONAL - MÁQUINA 
http://www.google.com.br/url?sa=i&rct=j&q=&esrc=s&frm=1&source=images&cd=&cad=rja&docid=jXOv0jE8aFh6xM&tbnid=BipiGyz1QDMJ9M:&ved=0CAUQjRw&url=http://pt.all-free-download.com/vector-livre/vector-clip-art/rosto_triste_tango_115987.html&ei=fSntUdXtB4bm9gSz04CQBg&bvm=bv.49478099,d.eWU&psig=AFQjCNGWpIpmPowZMYwjKBA3kB_IRrvslQ&ust=1374583508229896
 
USUÁRIO HARDWARE 
 
SISTEMA OPERACIONAL 
SHELL KERNEL 
SHELL  é o elo entre o usuário e o Sistema Operacional,
funcionando como intérprete entre os dois.
KERNEL  é o NÚCLEO do Sistema Operacional. Representa a
camada mais baixa de interface com o hardware.
USUÁRIO - SISTEMA OPERACIONAL - MÁQUINA 
LEIA;
GRAVE;
CALCULE;
IMPRIMA;
EXIBA;
ACESSE;
LINGUAGEM DE 
PROGRAMAÇÃO
USUÁRIO
DESENVOLVEDOR (PROGRAMADOR)  UMA PESSOA FELIZ !
http://www.google.com.br/url?sa=i&source=images&cd=&cad=rja&uact=8&docid=ZTRlky3K5cvJpM&tbnid=Qw9BVCr1Eg47oM:&ved=0CAgQjRw4xQE&url=http://blogs.msdn.com/b/wcamb/archive/2009/01/07/azure-services-platform-falando-sobre-o-sistema-operacional-windows-azure.aspx&ei=AAYlU4qhIZKpkAegvoGIBw&psig=AFQjCNHn8E8OaCGsShztKFEAoKlL3qIb8Q&ust=1395021696631830
https://www.google.com.br/imgres?imgurl&imgrefurl=http://maonarodablog.com.br/page/6/?s=cama&h=0&w=0&tbnid=kAcml0c7a62bBM&tbnh=226&tbnw=222&zoom=1&docid=YO9tx-DP0_g_HM&ei=gAclU5e3Lo7QkQfkg4HoAQ
LINGUAGEM DE PROGRAMAÇÃO  é uma notação
com a qual podemos escrever programas capazes de
serem processados por um computador. A Linguagem
de Programação funciona como um elo entre o homem e
a máquina. As Linguagens de Programação podem ser de
Baixo Nível ou de Alto Nível.
PROGRAMAÇÃO  é o ato de definir, escrever e testar
instruções para comunicar ao computador um conjunto
de operações que deverão ser executadas.
 LINGUAGEM DE BAIXO NÍVEL  uma linguagem de
programação é de mais baixo nível na medida que se
aproxima da linguagem da máquina.
Exemplo: Assembly (Assembler - montador).
 LINGUAGEM DE ALTO NÍVEL  uma linguagem de
programação é de mais alto nível na medida que se aproxima
da linguagem do homem. Exemplos: Fortran, C, C++, Cobol,
Visual Basic, Delphi, JAVA, ASP, PHP, PERL, Natural, AJAX,
Ruby on Rails, Python Java Script,...
AS LINGUAGENS DE PROGRAMAÇÃO PODEM SER
COMPILADAS OU INTERPRETADAS !
ASSEMBLY
1 clear:
2 PUSH AF
3 PUSH BC
4 PUSH DE
5 PUSH HL
6
7 LD HL, 4000H
8 LD DE, 4001H
9 LD BC, 6143
10
11 XOR A,A
12 LD (HL), A
13
14 LDIR
15 
16 POP HL
17 POP DE
18 POP BC
19 POP AF
20 RET
SELECT Vendedor, Mês, AVG (Venda)
FROM Tab_Vendas
WHERE Mês = ’05’
GROUP BY Vendedor
SQL
IF (N Mod 2 = 0) Then
Writeln('O número é par ')
Else
Writeln('O número é ímpar');
DELPHI
COMPILADOR  é um programa que traduz o programa
feito em uma linguagem de programação (programa fonte)
para a linguagem de máquina (aquela que o computador
entende e é capaz de executar). Cada linguagem de
programação tem o seu compilador próprio.
Exemplo de programa fonte:
readln(x,y);
z:= x + y;
writeln(x,y,z);
O computador não entende
esse código. Ele precisa ser
traduzido em linguagem de
máquina !
QUEM FAZ ESSA TRADUÇÃO É O COMPILADOR !
O PROCESSO DE COMPILAÇÃO
PROGRAMA
FONTE
COMPILADOR
PROGRAMA
OBJETO
LINK
EDITOR
PROGRAMA
EXECUTÁVEL
ERROS DE 
SINTAXE
ERROS DE 
LÓGICA
PROGRAMA FONTE  programa escrito pelo programador em
uma linguagem de programação.
PROGRAMA OBJETO  é o programa fonte traduzido para a
linguagem de máquina.
PROGRAMA EXECUTÁVEL  é programa objeto que passou
pela fase de link-edição, ou seja, foram acrescentadas a ele
algumas rotinas já em linguagem de máquina.
LIGADORE
S
SOFTWARE PROPRIETÁRIO SOFTWARE LIVRE
(EXECUTÁVEL .EXE) (FONTE) 
 No processo de compilação são identificados apenas os
erros de SINTAXE do programa Fonte, os erros de LÓGICA
só podem ser detectados durante a execução do mesmo.
 Cada linguagem de programação possui o seu compilador
para uma plataforma específica (sistema operacional). Assim,
existe o compilador Fortran para micros da linha IBM/PC com
Windows e o compilador Fortran para mainframe (grande
porte).
O PROCESSO DE COMPILAÇÃO
INTERPRETADOR  é um programa que traduz o
programa feito em uma linguagem de programação para a
linguagem de máquina, instrução a instrução. Exemplo de
linguagens de programação interpretadas: Basic, Logo,
Lisp, HTML, Java Script, ASP,...
O PROCESSO DE INTERPRETAÇÃO
NÃO GERA
UM
EXECUTÁVEL
!
PROGRAMA
FONTE
INTERPRETADOR
EXECUTA O
COMANDO !
Read (x);
Read (y);
Pensar - o que é pensar ?
A Matemática e a Lógica ensinam a pensar!
Algoritmos não pode resgatar toda uma vida!
Algoritmos pode estimular esse resgate!
Alguns sabem programar, mas poucos serão
grandes programadores!
Precisa ter aptidão - ser begabt!
Como resgatar essa deficiência em pouco
tempo!
Enorme desafio!
Existe alguma uma técnica experimental?
Cognitiva???? 
Que tipo de exercício precisamos fazer!
A ARTE DE PROGRAMAR
PROGRAMAR É UMA ARTE?
PROGRAMAR É PENSAR DE
MANEIRA ORDENADA E
LOGICAMENTE COERENTE!
Um programa é uma sequência
de instruções que informa ao
computador sobre uma tarefa
específica que se quer
concretizar.
A esse conjunto de instruções
dá-se o nome de LINGUAGEM
DE PROGRAMAÇÃO.
ALGORITMO
PROGRAMA
SOFTWARE
ALGORITMO  FLUTUA ACIMA DO BEM E DO MAL !!!!
CONJUNTO DE INSTRUÇÕES
ESCRITAS EM UMA LINGUAGEM
DE PROGRAMAÇÃO!
EXISTEM MILHARES...
REGRA DE NEGÓCIO !
ALGORITMO
PROGRAMA
SOFTWARE
SOFTWAREPROGRAMAALGORITMO
NO COMPUTADOR A QUESTÃO DE ORDEM É
FUNDAMENTAL ! O COMPUTADOR NÃO É UMA
MÁQUINA CAÓTICA !
ALGORITMO É O CORAÇÃO DA COMPUTAÇÃO !
ALGORITMO INDEPENDE DA EXISTÊNCIA DO
COMPUTADOR !
ALGORITMOS FLUTUA ACIMA DO BEM E DO MAL !
Jayme Luiz Szwarcfiter
UMA SEQUÊNCIA ORDENADA, FINITA E NÃO AMBÍGUA DE
ETAPAS QUE CONDUZEM À SOLUÇÃO DE UM PROBLEMA.
O CONCEITO DE ALGORITMO
ALGORITMO  PROCESSO, ROTINA, PROCEDIMENTO...
QUALQUER CONTEXTO !
NÃO AMBÍGUA  PRINCÍPIOS
• TERCEIRO EXCLUÍDO!
• NÃO CONTRADIÇÃO!
QUALQUER CONTEXTO !
Misture os ingredientes.
Unte o tabuleiro com manteiga.
Despeje a mistura no tabuleiro.
Se (há queijo parmezon) Então.
Espalhe sobre a mistura.
Leve o tabuleiro no forno.
Enquanto (não corar).
Deixe o tabuleiro no forno.
Deixe esfriar.
Experimente antes de servir.
CONTEXTO CULINÁRIO
Qual a idéia aqui ?
Qual a idéia aqui ?
Qual a idéia aqui ?
QUALQUER CONTEXTO !
Armazene os graus do aluno.
Calcule a média destes graus.
Se (média é superior a 7) Então
Exibe mensagem “Aprovado”
Senão
Exibe mensagem “Reprovado”
CONTEXTO COMPUTACIONAL !
Qual a ideia aqui ?
Qual a ideia aqui ?
QUALQUER CONTEXTO !
Verifique preenchimento do formulário.
Se (preenchimento correto) Então
Arquive o documento.
Forneça protocolo.
Senão
Lamente.
Torne a lamentar.
Mande o cliente comprar outro formulário.
Despeça-se educadamente do cliente.
CONTEXTO ADMINISTRATIVO
E aqui ?
• Em cada contexto considerado, o conjunto das INSTRUÇÕES
PRIMITIVAS é o ponto de partida para a criação de
processos de COMPLEXIDADE CRESCENTE.
• Entretanto, a forma de AGREGAÇÃO das instruções são
aspectos pertinentes a qualquer processo,
INDEPENDENDO, portanto, do contexto a que se referem.
• Estes mecanismos de agregação dizem respeito às
ESTRUTURAS LÓGICAS que regulam a forma de como a
execução de um processo se articula com as instruções
primitivas que o compõem.
OBSERVAÇÕES
Carpe Diem

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Mais conteúdos dessa disciplina