1.21k likes | 1.3k Views
Introdução a Programação I. A Long long Time ago….
E N D
A Long long Time ago… o ENIAC. Esta máquina das cavernas media 17m x 9m, era capaz de fazer 38 divisões e 357 multiplicações por segundo e levava 2 horas para calcular o mesmo que 100 engenheiros levariam 1 ano apenas com lápis e papel. Seriam necessárias 1.000.000 destas máquinas para poder competir com um único PlayStation 3...
Máquina de Fazer contas previsão meteorológica: Para fazer uma previsão corretamente para um país como o Brasil são necessárias aproximadamente 155.520.000.000.000.000 contas 100 contas por segundo, irá levar mais ou menos 3 bilhões de anos (mais ou menos a idade da Terra...) para calcular a previsão do tempo para o dia de amanhã no Brasil.
O que faz um computador? +, -, /, x >, <, =
al-Khowarizm ou Algoritmos Pegar uma escada; Posicionar abaixo da lâmpada; Pegar uma nova lâmpada; Remover a lâmpada queimada; Colocar a nova lâmpada; Guardar a escada.
O algoritmo mais antigo do mundo Um dos algoritmos mais antigos é o de Euclides, que foi escrito na Grécia em torno de 300 A.C. (adivinhe como era o nome do matemático que o escreveu...). Este algoritmo se propõem a encontrar o maior divisor inteiro comum entre um par de números. O algoritmo diz: divida um dos números pelo outro e pegue o resto desta divisão pegue o segundo número da divisão e coloque-o no lugar do primeiro, dividindo-o pelo resto obtido no cálculo anterior. Continue este procedimento até que o resto da divisão seja zero. O último resto obtido será o maior divisor comum. 3654 1365 resto 924 1365 924 resto 441 924 441 resto 42 441 42 resto 21 42 21 resto 0
Definição Formal Algoritmo é uma seqüência ordenada e finita de passos bem definidos que descrevem como realizar uma certa tarefa específica. Propriedades de um algoritmo: Os passos obedecem a uma ordem específica; Não existe ambigüidade; O número de passos é finito.
Áreas da Computação • Banco de Dados: desenvolve algoritmos para gerar e manipular um volume grande de dados; • Computação Gráfica: desenvolve soluções para sintetizar imagens numa tela plana, buscando simular (através de algoritmos) a iluminação, sombras, reflexos, etc. • Inteligência Artificial: busca algoritmos que de alguma forma procuram resolver problemas de planejamento ou de simulação de comportamento; • Otimização: procura algoritmos que sejam mais eficientes dos que os conhecidos (normalmente esta efixiência é medida em tempo). • Entretenimento: Faz algoritmos para dar razão de ser ao PlayStation e ao Xbox...
Linguagem dos computadores • Linguagem mais simples • Linguagem Matemática e binária: 100111010101001001 • Alfabeto • Bits e bytes • CPUs de 8, 16, 24, 64 e 128 bits
Linguagem de Programação • C++ • JAVA • C • Pascal • Fortran • Visual Basic • ASP • LUA • Phyton • C# • SQL
Pseudo-código Declare N1, N2, N3 como inteiro Escreva “Entre com o dividendo e com o divisor: ” Leia N1,N2 Se N2≠0 então N3← N1 div N2 Escreva “O quociente é igual a”, N3 Senão Escreva “Operação Inválida” FimSe
CPU UC ULA Dispositivo de Entrada e Saída Memória RC Barramento Arquitetura de Computadores
CPU UC ULA Dispositivo de Entrada e Saída Memória RC Barramento Unidade de Controle
CPU UC ULA Dispositivo de Entrada e Saída Memória RC Barramento Unidade Lógica e Aritimética
CPU UC ULA Dispositivo de Entrada e Saída Memória RC Barramento Registradores
Atribuição Vidas = 5;
Avaliação de Expressões (5 * PI) / 360
Precedência de Operadores 5+4/2 ?
Leitura de dados Le (posição de mouse);
Escrita de dados Imprime “Iniciando fase 1”
Case Sensitive Posicao x posicao
O Primeiro Programa Iniciar programa Imprimir “Hello Word” Finalizar programa
Traduzindo para o JAVA(ou para uma linguagem de computador...) class HelloWorld { public void main(String[] args) { System.out.print("Hello World!"); } }
Dissecando o Programa class HelloWorld { public void main(String[] args) { System.out.print("Hello World!"); } }
Dissecando o Programa class HelloWorld { public void main(String[] args) { System.out.print("Hello World!"); } }
Dissecando o Programa class HelloWorld { public void main(String[] args) { System.out.print("Hello World!"); } }
Escopos class jogo { realize leitura de teclado { ... // Aqui chamamos mecanismos de ler teclado } Movimente o personagem { ... // Usando a entrada, movimentamos o personagem ... // conforme desejado } }
Comentários class HelloWorld { /* O método main sempre deve estar presente num programa padrão. */ public void main(String[] args) { System.out.print("Hello World!"); //Imprime a mensagem } }
Dissecando o Programa class HelloWorld { public void main(String[] args) { System.out.print("Hello World!"); } }
Saída de Dados class HelloWorld { public void main(String[] args) { System.out.print("Hello World!"); } }
Saída de Dados outros padrão
Métodos e Funções System.out.print("Hello World!");
Como saber o que fazem? a. Saber qual é a sintaxe do método. b. Saber o que o método faz ou resolve. c. Saber quais são os parâmetros ou argumentos do método.
Analisando o método print... • A sintaxe do método é • System.out.print ([conteúdo a ser impresso]) • b. Este método imprime algo na tela. • O cursor permanece exatamente ao final do • último caractere impresso; de maneira que, • se a função for novamente chamada, a impressão • continuará na sequência. • c. O único parâmetro é o conteúdo que desejamos imprimir.
Métodos e Funções System.out.print("Hello World!"); Pedro.Escreva (“texto”)
Variações... System.out.println("Hello World!");