A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Introdução a Programação I. 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.

Apresentações semelhantes


Apresentação em tema: "Introdução a Programação I. 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."— Transcrição da apresentação:

1 Introdução a Programação I

2 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 destas máquinas para poder competir com um único PlayStation 3...

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 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.

4 O que faz um computador? +, -, /, x >, <, =

5 CISC x RISC

6 al-Khowarizm ou Algoritmos 1. Pegar uma escada; 2. Posicionar abaixo da lâmpada; 3. Pegar uma nova lâmpada; 4. Remover a lâmpada queimada; 5. Colocar a nova lâmpada; 6. Guardar a escada.

7 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 resto resto resto resto resto 0

8 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.

9 Á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...

10 Linguagem dos computadores - Linguagem mais simples - Linguagem Matemática e binária: Alfabeto - Bits e bytes - CPUs de 8, 16, 24, 64 e 128 bits

11 Linguagem de Programação

12 - C++ - JAVA - C - Pascal - Fortran - Visual Basic - ASP - LUA - Phyton - C# - SQL

13 Pseudo-código Declare N 1, N 2, N 3 como inteiro Escreva Entre com o dividendo e com o divisor: Leia N 1,N 2 Se N 2 0 então N 3 N 1 div N 2 Escreva O quociente é igual a, N 3 Senão Escreva Operação Inválida FimSe

14 Compiladores

15 Interpretadores

16 Máquina Virtual

17 Insetos (Bugs...)

18 Debugers

19 Sintaxe x Semântica

20 Compilador IDE - Integrated Development Environment

21 Arquitetura de Computadores Barramento CPU UC ULA RC Dispositivo de Entrada e Saída Memória

22 Barramento

23 Unidade de Controle Barramento CPU UC ULA RC Dispositivo de Entrada e Saída Memória

24 Unidade Lógica e Aritimética Barramento CPU UC ULA RC Dispositivo de Entrada e Saída Memória

25 Registradores Barramento CPU UC ULA RC Dispositivo de Entrada e Saída Memória

26 Operações Elementares

27 Atribuição Vidas = 5;

28 Avaliação de Expressões (5 * PI) / 360

29 Precedência de Operadores 5+4/2 ?

30 Leitura de dados Le (posição de mouse);

31 Escrita de dados Imprime Iniciando fase 1

32 Palavras Reservadas

33 Case Sensitive Posicao x posicao

34 Variáveis

35 Declaração de Variáveis Var As NomeDescriçãoExemplos IntNúmeros inteiros1, 22, 333, -430 FloatNúmeros reais3.1415, 2.333, 5.0 BoolVerdadeiro ou FalsoTrue / False (somente estes 2)

36 Exemplos Var v1 As Int Var v2 As Int Pergunta: qual é o problema do exemplo?...

37 Regras para nomear variáveis OBRIGATÓRIO... - Não usar palavras reservadas - Não colocar espaço entre partes da variável: Var numero de vidas as Int - Não começar a palavra com números - Não usar símbolos: #Vidas, Custo$, etc... (exceção: _) - Não usar acentos

38 Regras para nomear variáveis Boas maneiras... -Dar nomes sugestivos -Não usar nomes muito extensos: Numerototaldevidasdopersonagem -Usar como separadores: _ ou maiúsculas: NumeroDeVidas, numero_de_vidas

39 Inicialização de Variáveis Var fase As Int... fase = 0 NomeDescriçãoExemplos IntNúmeros inteiros1, 22, 333, -430 FloatNúmeros reais3.1415, 2.333, 5.0 BoolVerdadeiro ou FalsoTrue / False (somente estes 2)

40 Exercício Suponha que o seu programa possua duas variáves: CorFundo e CorFrente Escreva um programa que faça a cor do fundo passar a ser a cor da frente e a cor da frente a cor do fundo

41 Expressões Retornam um valor 3 tipos: -Aritiméticas -Lógicas -Relacionais

42 Expressões Aritiméticas X X + Y X-Y X*Y X/Y ((3 + X)/(Y-4))

43 Expressões Lógicas (A) A e B A ou B não (A)

44 Tabelas Verdade ORTrueFalse True FalseTrueFalse

45 Tabelas Verdade ANDTrueFalse True False

46 Tabelas Verdade NOT TrueFalse True

47 Expressões Relacionais A > B A>=B A = B AB

48 Prioridades PrioridadeOperadores 0parenteses,funções 1+, - (operadores unitários) 2potenciação 3*, / 4+, - 5operadores relacionais 6não 7e 8ou

49 Estrutura de um programa Program NomeDoPrograma Method Main() // Programa End Method End Program

50 Hello World Program MeuPrimeiroPrograma Method Main() Print ("Hello World") End Method End Program

51 Funções Nome_da_Funcao (parametro1, parametro2,...) Ex: Print ( ) ConsoleWriteLine ( ) Sin ( )...

52 Exercicio Obsereve a sintaxe da funcao round: Floor (numero_real) A funcao devolve a parte inteira do numero real passado como parametro Esrcreva um programa que imprime a parte decimal de um numero: Var numero as decimal Numero = [seu codigo]

53 Exercicio Var numero as decimal Numero = Var num2 As Integer num2 = floor (num) print(num - num2)

54 Outra forma de imprimir Console.WriteLine(alguma coisa)

55 Leitura de dados num = ConsoleReaddecimal(entre com um numero", False)

56 Melhorando o exercicio... Var num As Decimal num = ConsoleReaddecimal("Entre com um numero", False) Var num2 As Integer num2 = floor (num) Console.WriteLine(num - num2)

57 Objetos Carro Atributos Carro.placa Carro.cor Carro.modelo Carro.anda() Carro.mede_velocidade() Carro.para()

58 Objetos Program UFO Method Main() Define MySprite As Sprite MySprite.Load( "ufo.gif" ) MySprite.MoveTo( 200, 200 ) MySprite.Show() End Method End Program

59 Mais sobre Objetos Program UFO Method Main() Define MySprite As Sprite MySprite.Load( "ufo.gif" ) MySprite.MoveTo( 0, 0 ) MySprite.Show() Delay(1000) MySprite.MoveTo( 300, 0 ) Delay(1000) MySprite.MoveTo( 300, 300 ) Delay(1000) MySprite.MoveTo( 0, 300 ) Delay(1000) MySprite.MoveTo( 0, 0 ) Delay(1000) MySprite.MoveTo( 150, 150 ) End Method End Program

60 Condicao If Then // faz alguma coisa Else // faz outra coisa… End If

61 Condicao If Then // faz alguma coisa End If

62 Condicao - exemplo Var num As Integer num = ConsoleReadint("Enter com um numero", False) If num > 0 Then console.Write("numero e positivo") Else console.Write("numero negativo...") End If

63 exercicio O operador mod funciona da seguinte maneira: Resultado = numero1 mod numero2 Resultado contem o resto da divisao inteira de numero1 e numero2 Escreva uma função que le um numero e responde se ele é par ou impar

64 exercicio Var num As Integer num = ConsoleReadint("Enter com um numero", False) If (num Mod 2) = 1 Then console.Write("numero e impar") Else console.Write("numero par...") End If

65 Concatenação de Ifs If condicao1 Then //faz coisa 1 End If If condicao1 Then //faz coisa 1 End If If condicao1 Then //faz coisa 1 End If

66 Concatenação de Ifs If tecla = seta_frente Then //anda para frente End If If tecla = seta_traz Then //anda para traz End If If tecla = espaco Then //pula desgracado! End If

67 Desafio Master! Qual é a diferença? If condicao1 Then //faz coisa 1 End If If condicao2 Then //faz outra coisa End If If condicao3 Then //mais outra coisa End If If condicao1 Then //faz coisa 1 Else If condicao2 Then //faz outra coisa Else If condicao3 Then //Nossa! Outra coisa! End If

68 Mais um exercicio Escreva um algoritmo que leia um ano e verifique se é bissexto. Um ano é bissexto se é divisível por 4, senão é um século. No caso de século, o ano é considerado bissexto se for divisível por 400.

69 Mais um! Escrever um algoritmo que determina o maior dentre três números inteiros

70 Ultimo! Escreva um algoritmo que leia três valores inteiros que serão armazenados em três variáveis L, M, N e troque seus valores, se necessário, de modo que L seja o menor, M o valor do meio e N o maior.

71 Incrementos e decrementos Contador = Contador + 1 Contador = Contador + 10 Contador += 10 Tempo -= 100

72 Caracteres especiais console.ConsoleWrite ( quero pular uma linha \n") console.ConsoleWrite ( agora uma tabulacao \t")

73 E finalmente os Loops... Como poderia fazer um objeto se mover suavemente pela tela?

74 While While Condição // comandos End While

75 Exemplos While Var contador As Integer contador = 0 While (contador < 10) contador += 1 console.ConsoleWrite(contador) End While

76 O que faz este programa? Var contador As Integer contador = 0 While true contador += 1 console.ConsoleWrite(contador) End While

77 Exercicio Disco Voador que anda de um lado para outro...


Carregar ppt "Introdução a Programação I. 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."

Apresentações semelhantes


Anúncios Google