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

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

Introdução à Programação Marcos Antonio Estremote

Apresentações semelhantes


Apresentação em tema: "Introdução à Programação Marcos Antonio Estremote"— Transcrição da apresentação:

1 Introdução à Programação Marcos Antonio Estremote Estremot@gmail.com

2  Apesar dos computadores de hoje em dia serem máquinas super poderosas que fazem praticamente tudo, eles ainda não conseguem compreender a linguagem do ser humano.  Você pode estar se perguntando: “Mas como não entende se eu digito tudo em português?” Como o computador entende a informação?

3  Na verdade o computador é uma máquina que só compreende duas informações: LIGADO ou DESLIGADO. É mais ou menos como se fosse uma lâmpada elétrica que você acende ou apaga por meio de um interruptor. Infelizmente com esses dois estados não podemos dizer muita coisa, apenas SIM ou NÃO, VERDADEIRO ou FALSO e isso não é suficiente para conversarmos com a máquina. Como o computador entende a informação?

4  Para conseguir representar outras informações, os cientistas da computação decidiram então agrupar 8 “lâmpadas” e usar as possíveis combinações de “aceso e apagado” para se comunicar com a máquina. Como o computador entende a informação?

5

6  Usamos então os caracteres 0 e 1 para representar apagado e aceso, respectivamente. É o chamado Sistema Binário. Neste sistema de numeração as combinações são escritas como: 00000001, 10101010, 11111111 ou qualquer outra variação possível. Cada combinação representa uma letra, número, sinais de pontuação, etc. Como o computador entende a informação?

7

8  Mas como fazemos para “dizer” essas combinações ao computador? Nos primeiros computadores (década de 40) a programação dos computadores era feita por meio da ligação de cabos entre os conectores disponíveis, algo que não era nada prático e exigia grande atenção e conhecimento técnico. Como o computador entende a informação?

9

10  Felizmente esse tempo já ficou para trás e hoje utilizamos o teclado para digitar os comandos que serão enviados aos computadores. Eles continuam entendendo apenas zeros e uns, a grande jogada é que atualmente utilizamos programas que traduzem a linguagem humana para linguagem de máquina, os chamados compiladores e interpretadores. Como o computador entende a informação?

11  Programação consiste no ato de indicar como o computador (hardware) deve trabalhar ou realizar serviços;  Quais são os serviços que um computador pode realizar?  Enviar mensagens eletrônicas, armazenar e recuperar dados, realizar exames e cirurgias, jogar e muitas outras coisas.  Para que o computador consiga realizar de fato estes serviços, deve-se escrever um programa. Programação de Computadores

12  Programa pode ser definido como uma série de instruções que indicam como o computador irá realizar serviços;  O programa deve definir a ordem em que as instruções devem ser executadas pelo computador;  Um computador, geralmente, possui muitos programas, que podem estar sendo executados ao mesmo tempo. Programa

13  Algoritmos são abstratos:  Independe de máquina e de linguagem de programação;  Pode ser representado de várias formas;  Pode ser feito por uma máquina ou por um humano.  Programa é uma implementação real de um algoritmo utilizando uma linguagem de programação:  É executado por um computador. Algoritmos X Programas

14  Os programas tem que ser escritos em uma linguagem de programação:  Uma linguagem que pode ser entendida pelo computador.  Uma linguagem que pode ser traduzida para a linguagem entendida pelo computador. Linguagens de Programação

15  As linguagens de programação são conjuntos de termos e regras que permitem a formulação de instruções para o computador. Geralmente essas instruções são escritas em formato de texto (em inglês na maioria das vezes);  A primeira e mais primitiva linguagem de computador é a própria linguagem de máquina (0’s e 1’s);  Programar era difícil e cansativo;  Os programas eram difíceis de serem entendidos por outros programadores. Linguagens de Programação

16  A resolução do problema passou pela criação de uma linguagem em que os código numéricos fossem substituídos por mnemônicos;  O nome dessa linguagem é ASSEMBLY LANGUAGE;  Então era necessário um outro programa que lia o programa escrito nessa linguagem alternativa e o traduzia para a linguagem nativa do computador;  O processo de tradução da linguagem de montagem para a linguagem de máquina é realizado por um programa chamado ASSEMBLER.

17  Cada tipo de CPU tem sua linguagem de máquina específica:  Instruções codificadas em binário;  Dependente de máquina.  Linguagem Assembly é dependente de máquina, porém utiliza palavras reservadas para codificar instruções (mnemônicos);  Outros níveis são independentes de máquina e facilitam a leitura e escrita de programas por parte do ser humano:  Complexidade atual de programas exigem cada vez mais o emprego destas linguagens. Níveis de Abstração de Linguagens

18  Cada tipo de CPU executa apenas uma linguagem de máquina particular;  Deve-se traduzir um programa para a linguagem de máquina;  Um compilador é um programa que traduz um programa escrito (código fonte) em uma determinada linguagem de programação para outra linguagem (linguagem destino);  Se a linguagem destino for a de máquina, o programa pode depois de compilado, ser executado.  Um interpretador é um programa que traduz instrução por instrução de um programa em linguagem de máquina e imediatamente executa a instrução. Como o computador entende um programa?

19 Compilação X Interpretação Compilação Interpretação

20  Existem vários exemplos tanto de linguagens interpretadas como de linguagens compiladas;  A linguagem C é um exemplo de linguagem compilada;  Java é uma linguagem de programação que utiliza um processo híbrido de tradução:  O compilador Java traduz o código-fonte em um formato intermediário independente de máquina chamado Bytecode;  O interpretador Java específico da máquina onde irá rodar o programa então traduz os bytecodes para a linguagem de máquina e executa o código. Compilação X Interpretação

21 Compilação/Interpretação em Java

22  Uma linguagem de programação define as palavras e símbolos que se pode usar para escrever um programa;  Uma linguagem de programação emprega um conjunto de regras (sintaxe) que estabelece como palavras e símbolos podem ser agrupados de maneira a formar instruções válidas de um programa;  A semântica de uma instrução define o significado desta instrução no programa;  Um programa que é sintaticamente correto não é necessariamente logicamente (semanticamente) correto. Sintaxe e Semântica

23  Foram desenvolvidas diversas linguagens de programação:  FORTRAN  ALGOL  COBOL  PASCAL  BASIC  ADA  C e C++  JAVA, etc.  Estas novas linguagens foram afastando cada vez mais o programador do nível de máquina. Linguagens de Programação

24  Relembrando: um das principais funcionalidades do computador é a manipulação de informações.  Internamente, o computador manipula unicamente números;  As linguagens de programação permitem o uso de outros tipos de informações de forma transparente.  Tipos: conjunto de objetos que tem em comum o mesmo comportamento diante de um conjunto definido de operações.  Ex: Pessoas, Carros. Tipos

25  Infelizmente as linguagens de programação são limitadas e não podem manipular todos os tipos existentes no mundo real. A maioria das linguagens manipula:  Números inteiros;  Números reais;  Letras;  Objetos lógicos. Tipos

26 Conectivo “e”: Conjunção  Proposições compostas em que está presente o conectivo “e”;  Simbolicamente representado por “ ∧ ”.  A sentença: “Marcos é médico e Maria é estudante”... pode ser representada apenas por: p ∧ q. Onde: p = Marcos é médico e q = Maria é estudante.  Como se revela o valor lógico de uma proposição conjuntiva? Da seguinte forma: uma conjunção só será verdadeira, se ambas as proposições componentes forem também verdadeiras.

27 Conjunção  Pensando pelo caminho inverso, teremos que basta que uma das proposições componentes seja falsa, e a conjunção será – toda ela – falsa. Obviamente que o resultado falso também ocorrerá quando ambas as proposições componentes forem falsas. pqp∧qp∧q VVV VFF FVF FFF

28 Para assimilar...  Uma maneira de assimilar bem essa informação seria pensarmos nas sentenças simples como promessas de um pai a um filho: “eu te darei uma bola E te darei uma bicicleta”. Ora, pergunte a qualquer criança! Ela vai entender que a promessa é para os dois presentes. Caso o pai não dê nenhum presente, ou dê apenas um deles, a promessa não terá sido cumprida. Terá sido falsa! No entanto, a promessa será verdadeira se as duas partes forem também verdadeiras!

29 Conectivo “ou”: Disjunção  Proposições compostas em que está presente o conectivo “ou”;  Simbolicamente representado por “V”.  A sentença: “Marcos é médico ou Maria é estudante”... pode ser representada apenas por: p V q. Onde: p = Marcos é médico e q = Maria é estudante.  Como se revela o valor lógico de uma proposição disjuntiva?

30 Disjunção  Uma disjunção será falsa quando as duas partes que a compõem forem ambas falsas! E nos demais casos, a disjunção será verdadeira! pqpVqpVq VVV VF V FV V FFF

31 Para assimilar...  Lembremos da promessa de um pai a um filho: “eu te darei uma bola OU te darei uma bicicleta”. Neste caso, a criança já sabe, de antemão, que a promessa é por apenas um dos presentes! Bola ou bicicleta! Ganhando de presente apenas um deles, a promessa do pai já valeu! Já foi verdadeira! E se o pai for abastado e resolver dar os dois presentes? Pense na cara do menino! Feliz ou triste? Felicíssimo! A promessa foi mais do que cumprida. Só haverá um caso, todavia, em que a bendita promessa não se cumprirá: se o pai esquecer o presente, e não der nem a bola e nem a bicicleta. Terá sido falsa toda a disjunção.

32 Operador Unário: “não”  Como negar uma proposição?  Basta acrescentar a palavra “não” antes da sentença.  E se a sentença original já for uma negativa?  Basta excluir a palavra “não”. p~p VF FV

33 Precedência dos Operadores Lógicos PrecedênciaDescrição 1Parênteses 2NÃO (Negação) 3E (Conjunção), OU (Disjunção)

34 : Qual o resultado das seguintes expressões lógicas : a) V e ( V ou F) b) V e não (V ou F) c) (F ou V) e não (F) Exercício

35  pot: potência entre dois números.  Ex: 10 pot 2 = 100 / 6 pot 3 = 216  raiz: operação de radiciação entre dois números.  Ex: 9 raiz 2 = 3 / 216 raiz 3 = 6  div: resultado inteiro de uma divisão.  Ex: 10 div 4 = 2 / 22 div 6 = 3  resto: resto da divisão inteira de dois números inteiros.  Ex: 10 resto 4 = 2 / 22 resto 6 = 4 Operadores Aritméticos

36 Precedência dos Operadores Aritméticos PrecedênciaDescrição 1parênteses 2pot, raiz 3 *, /, resto 4+, -

37  Editor e interpretador de algoritmos criado pelo professor Claúdio Morgado de Souza;  É uma ferramenta para os alunos iniciantes em programação exercitarem seus conhecimentos;  Possui interface simples;  Não requer instalação. O Visualg

38

39

40

41

42

43

44

45 1)Elabore um algoritmo que escreva seu nome. 2)Elabore um algoritmo que escreva seu nome numa linha e o sobrenome em outra linha. Exercícios

46  Não tem graça um programa que só mostra texto. O ideal é que possamos digitar informações que serão processadas pelo computador.  Para tal, precisamos de um lugar na memória onde as informações que digitamos sejam guardadas.  A este lugar na memória damos o nome de variável. Variáveis

47  Cada variável precisa de um nome para identificá-la e de um tipo. Variáveis

48  Assim como o nome de uma pessoa não pode ser “132&$!”, as variáveis também possuem algumas regras para sua nomenclatura.  Devem sempre iniciar com uma letra ou _  Não devem ter caracteres especiais (+,*,!,#,etc)  Não devem possuir espaço  Devem representar o valor nelas contido  Exemplos válidos: nome, valor1, total, x2  Exemplos inválidos: 1x, $legal, tot*al Variáveis

49  Identifique os nomes válidos de variáveis: 1. $Salário9. a > b 2. Salário$10. a + b 3. A[1]11. qwert 4. Xkh12. guarda_chuva 5. Alfa213. U.F. 6. 2Vizinhos14. Diaadia 7. valor15. betateste 8. valOr Exercícios

50  Além do nome precisamos dizer o tipo da variável, ou seja, que informação ela irá armazenar. Entre os tipos que usaremos estão:  Inteiro: para valores sem parte decimal.  Real: para valores com parte decimal.  Caractere: para texto.  Lógico: para verdadeiro ou falso. Variáveis

51  Poderíamos representar visualmente assim: Variáveis

52  Observem que cada tipo é diferente, então não devemos tentar colocar um valor real dentro de um inteiro, ou somar duas variáveis caractere.  No Visualg, as variáveis devem ficar na seção var e são declaradas da seguinte maneira: nome: tipo Variáveis

53  Após declaradas podemos colocar valores nestas variáveis de duas formas: por atribuição, ou por digitação usando o comando leia.  O símbolo <- coloca o valor à direita dentro da variável à esquerda. Lê-se valor1 recebe 5. Variáveis

54  O comando escreva mostra o valor da variável indicada nos parênteses. Neste caso não usamos aspas.  Podemos escrever texto e variáveis da seguinte forma: Variáveis

55  Antes do comando leia podemos digitar qualquer valor na variável. Variáveis

56 1)Elabore um algoritmo que solicite ao usuário a digitação de seu nome completo e depois mostre-o na tela. 2)Elabore um algoritmo que peça para digitar o primeiro nome, depois o sobrenome separadamente e mostre o nome completo de uma só vez. Exercícios

57  Podemos fazer cálculos com valores inteiro ou real.  Os operadores usados são:  + = soma  - = subtração  / = divisão  * = multiplicação Operadores Matemáticos

58  O cálculo se dá da seguinte forma:  total <- 5 + 5 escreva (total)  total <- 5 - 5 escreva (total)  total <- 5 * 5 escreva (total) Operadores Matemáticos

59  Assim como na matemática, o Visualg também considera a precedência dos operadores, ou seja, multiplicação e divisão são resolvidos antes de soma e subtração.  Ex: Qual o resultado de 2 + 2 * 5 ? Resposta: 12, pois 5 * 2 é resolvido antes de somar 2 + 2. Operadores Matemáticos

60  Podemos usar parênteses para resolver ambiguidades.  A expressão anterior ficaria mais clara da seguinte forma: total <- 2 + (2 * 5) Operadores Matemáticos

61  Qual o resultado das seguintes operações: 1) 2 * 3 + 5 2) 2 + 6 / 2 3) 5 * 8 + 4 / 2 4) 6 * 9 – 15 / 3 5) 4 * 3 / 6 - 2 Exercícios

62  Podemos usar o comando leia para digitar números que serão usados nos nossos cálculos.  Observe o exemplo de um somador de dois números: leia (valor1) leia(valor2) total <- valor1 + valor2 escreva(total) Operadores Matemáticos

63 1)Elabore um algoritmo que leia três números inteiros e positivos (A,B,C) e calcule a seguinte expressão: D = R + S, onde R = (A + B) 2 e S = (B + C) 2 2 Exercícios

64 1)Elabore um algoritmo que mostre os seguintes dados:  Sua matrícula;  Seu nome completo;  Seu endereço eletrônico;  O nome do curso que você frequenta. Exercícios

65  Conceitos Básicos de Programação:  Algoritmos;  Representação de algoritmos;  Programa;  Linguagens de programação;  Compilação x Interpretação; Resumindo

66 Perguntas??? Perguntas???


Carregar ppt "Introdução à Programação Marcos Antonio Estremote"

Apresentações semelhantes


Anúncios Google