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

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

Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti.

Apresentações semelhantes


Apresentação em tema: "Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti."— Transcrição da apresentação:

1 Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

2 Hardware: parte física do computador. Formada pelos circuitos eletrônicos, dispositivos mecânicos, magnéticos e etc. Software: os programas que executam sobre o hardware. HARDWARE + SOFTWARE = COMPUTADOR O Computador

3 Conceitos Iniciais Lógica de programação: é a técnica de encadear pensamentos para atingir determinado objetivo. O aprendizado desta técnica é necessário, para quem deseja trabalhar com desenvolvimento de sistemas e programas. Algoritmo: é uma seqüência de passos finitos com o objetivo de solucionar um problema. (Lopes, Garcia)

4 Quando nós temos um problema, nosso objetivo é solucioná-lo. Algoritmo não é a solução de um problema, pois, se assim fosse, cada problema teria um único algoritmo. Algoritmo é um conjunto de passos (ações) que levam à solução de um determinado problema, ou então, é um caminho para a solução de um problema e, em geral, os caminhos que levam a uma solução são muitos. (Lopes, Garcia)

5 Algoritmo Frequentemente nos deparamos com vários problemas. Muitas vezes já vimos um algoritmo e não sabíamos que, à aquela seqüência de passos damos o nome de algoritmo. Um exemplo bem freqüente é quando queremos falar em algum telefone público. Aquilo que está escrito no telefone é um algoritmo. Veja a seguir um exemplo de um algoritmo do cotidiano. 1 – Retirar o telefone do gancho 2 – Esperar o sinal 3 – Colocar o cartão 4 – Discar o número 5 – Falar no telefone 6- Colocar o telefone no gancho

6 Algoritmo Outro exemplo clássico é um algoritmo para resolver o problema de fritar um ovo 1 Pegar frigideira, ovo, óleo e sal 2 Colocar óleo na frigideira 3 Acender o fogo 4 Colocar a frigideira no fogo 5 Esperar o óleo aquecer 6 Colocar o ovo 7 Retirar quando pronto Cada linha do algoritmo podemos chamar de uma instrução, logo, podemos dizer que um algoritmo é um conjunto de instruções. Instrução indica a um computador uma ação elementar a ser executada.

7 Algoritmo para trocar lâmpada 1 Se (lâmpada estiver fora do alcance) pegar escada; 2 Se (lâmpada estiver quente) pegar pano; 3 Pegar lâmpada; 4 Tirar lâmpada queimada; 5 Colocar lâmpada boa;

8 Algoritmos Sintaxe: dita as regras de como as sentenças e cada um de seus elementos devem ser construídos corretamente; Semântica: se preocupa com o significado de uma sentença construída.

9 Todo algoritmo deve ser descrito em alguma linguagem; Assim, o algoritmo deve respeitar um padrão sintático; Primeira linguagem: LPE (Linguagem em Português Estruturado); Algoritmos

10 Estrutura básica do algoritmo em LPE: Prog teste; { //Início programa int x, y, soma; soma = x + y; Imprima (“\soma”, soma); } //Fim programa Identificação do algoritmo Bloco de declarações: variáveis Bloco de comandos Algoritmos

11 Um primeiro algoritmo em LPE: Prog primeiro; { imprima (“\n Oi Mundo!”); } Algoritmos Comando Imprima. Gera uma saída no vídeo. Será visto mais adiante

12 Algoritmos geralmente descrevem algum processamento de dados: Estes dados precisam ser representados (descritos) nos algoritmos; Dados de Entrada Dados de Saída Processamento (Computador) Algoritmos

13 Um algoritmo para fins computacionais é a descrição de ações que manipulam objetos em função do tempo. –Objetos descrevem o estado computacional; * Objetos frequentemente serão chamados de variáveis. Algoritmos

14 A cada objeto é associado um nome que identifica este objeto ao longo da programação. Este nome é chamado identificador. De forma geral, podemos dizer que um identificador está associado à uma célula de memória. O termo variável é freqüentemente utilizado como sinônimo de identificador. Algoritmos

15 Regras para nomes de Variáveis: –Use somente letras e números; –O primeiro caracter do nome deve ser uma letra; –Não é permitido o uso de caracteres especiais. Exemplos válidos: ImpostoDeRenda, F1, soma, produto, desconto, SalarioHora. Exemplos inválidos: 1f, Imposto-renda, salario hora. Algoritmos

16 Atributos (características) de um objeto: –Nome; –Célula de memória; –Valor associado; –Tipo: define a categoria dos dados que podem ser armazenados no objeto. conteúdo (valor armazenado na célula de memória) Nome identificador do objeto célula de memória Algoritmos

17 Atributos de um objeto: –O tipo: especifica uma classe de valores que podem ser armazenados na célula de memória associada ao identificador; define as operações válidas sobre o identificador; Algoritmos

18 Tipo de Dado –Um identificador armazena um único dado num instante, mas este dado não pode ser qualquer um; –As células de memória do computador precisam ser compatíveis com o tipo de dado que vão armazenar; Algoritmos

19 Devemos informar ao computador qual o tipo de dado que vamos armazenar; Esta informação determina quantas células de memória serão necessárias para armazenar o dado; Esta informação define quais serão as operações possíveis de se aplicar sobre os dados; –Exemplo: em um dado numérico pode-se aplicar uma operação aritmética. Algoritmos

20 Os tipos de dados podem variar de uma linguagem para outra. No entanto, existem dois tipos básicos: –Tipos simples; –Tipos estruturados (estudados mais adiante); Tipos de Dados Simples NuméricoNulo (Void)Caracter Inteiro Real Algoritmos

21 Declaração do tipo do identificador (objeto): em LPE. tipo identificador; Algoritmos Esta é uma seção obrigatória e todas as variáveis devem ser declaradas antes de serem referenciadas

22 Os Tipos de Dados Numéricos são divididos basicamente em dois grandes conjuntos: –Inteiros; –Reais; Os inteiros podem ser positivos, negativos ou nulos, mas não possuem um componente decimal; Algoritmos

23 Os inteiros são compatíveis com os reais, mas os reais não são compatíveis com os inteiros; Assim, um objeto real pode receber um valor inteiro, mas um objeto inteiro não pode receber um valor real; Declaração de uma variável do tipo inteiro: LPE PascalC intx x:integer int x Algoritmos

24 Os reais podem ser positivos, negativos ou nulos, e possuem sempre um componente decimal; Exemplos: 2,34; 0,0; -214,123; Computacionalmente, existem muitas diferenças entre o armazenamento de números inteiros e números reais; Algoritmos

25 Os números inteiros consomem menos espaço de armazenamento em memória que o tipo real; Declaração de variáveis do tipo real: Exemplo LPE PascalC real x x: real float x Algoritmos

26 Os tipos de dados não numéricos: –Caracter: formado pelas letras (de A a Z, e de a a z), dígitos (de 0 a 9) e caracteres especiais (~,., ?, >, <,...); –A diferença entre caracteres e dados numéricos estão na forma de armazenamento, e nas operações legais permitidas sobre os mesmos; Exemplo: operações aritméticas sobre os dados numéricos. Algoritmos

27 Para diferenciar um caracter de um identificador ou de um dado numérico, utilizaremos apóstrofes (aspas simples).. Assim: –8 é um dado numérico; –‘8’ é um caracter; –A é um identificador; –‘A’ é um caracter; Algoritmos

28 Objetos declarados como do tipo caracter poderão armazenar um único caracter; Para armazenar uma seqüência de caracteres será utilizada a estrutura cadeia de caracteres, que consiste num tipo de dado estruturado; –Exemplo: ‘Z’ é um caracter; “ANA” é uma cadeia de caracteres; Algoritmos

29 Declaração: LPE PascalC char x x: char char x Algoritmos

30 Tipo Lógico: os valores lógicos podem assumir uma entre duas possibilidades (verdadeiro ou falso); –Só poderá armazenar um destes dois valores; Muito utilizados em controle do fluxo lógico do algoritmo; LPE Pascal C logico x x:boolean não existe Algoritmos

31 Caso haja mais de uma variável do mesmo tipo: variaveis tipo identificador1, identificador2; Se houver identificadores de tipos diferentes (inteiro,real, lógico): variaveis int i1, i2, i3, i; real r1, r2; Algoritmos

32 Escolha do tipo de um identificador: deve-se conhecer bem a solução do problema. –Exemplos de inteiros: número de pessoas; um número par ou ímpar; idade de uma pessoa; quantidade de objetos; –Exemplos de reais: o peso de uma pessoa; um percentual; nota de uma avaliação; média; preço de um produto; Algoritmos

33 Situações de dúvida –Exemplos: raíz quadrada de um número; divisão entre dois números inteiros; Quando houver alguma possibilidade de um identificador numérico receber um valor não inteiro, deve ser declarado como real. Inteiros Reais Algoritmos

34 Valores dos dados –os dados são valores que são armazenados em células de memória e que são acessados (ao longo do algoritmo) por referência aos identificadores; –assim, se tivermos os identificadores i, r e l, para objetos do tipo inteiro e real respectivamente, e atribuírmos os valores 100 e 3,14; teríamos a seguinte configuração: –Estes são os valores exibidos quando se utiliza a instrução Imprima. 1003,14 ir Algoritmos

35 Tipos de dados serão necessários na declaração de objetos (variáveis); Tipos disponíveis em LPE: TIPO DE DADODESCRIÇÃO Char Tipo de dado caracter – Todos os caracteres, desde que escrito entre aspas simples: Ex: ‘a’, ‘A’; int Tipo de dado numérico de valores inteiros: Ex: 54 real Tipo de dado numérico de valores reais: Ex:0,56 Char[numero] String Conjunto de caracteres “Olá Mundo”; Algoritmos

36 Operadores Aritméticos Os operadores aritméticos são utilizados na construção de expressões matemáticas, que podem ser formadas por números, constantes de valor numérico ou variáveis numéricas. São eles: OPERADORDESCRIÇÃO +Adição -Subtração *Multiplicação /Divisão % (mod)Resto da divisão divQuociente da divisão Algoritmos

37 ; //Exemplo resultado <- 5*86; Comandos Comandos simples Os comandos simples ou não estruturados caracterizam-se por não possuírem comandos relacionados ou dependentes. Todos os comandos são separados por ponto e vírgula. Exemplo Comando de Atribuição Comando utilizado para atribuir um valor à uma variável e definido pelo operador de atribuição “<-“. Consiste pelo nome de uma variável seguido do operador de atribuição “<-“, depois por uma expressão válida e ponto e vírgula. Por exemplo:

38 Comandos Entrada de dados (leia) leia( ); EX: leia(total1); Comando onde o usuário especifica um valor para uma variável em tempo de interpretação. O valor digitado deve ser correspondente ao tipo de dado da variável definida como parâmetro ao comando. Só permite ler valores para uma variável por comando. Sua sintaxe é: Algoritmos leia(Nome da variável); //Exemplo leia(total1);

39 Saída de dados (ìmprima) Comando de saída de dados para o monitor. Imprime na tela o valor de cada parâmetro. Caso haja mais de um parâmetro, o comando efetua a concatenação de todos e imprime o resultado. São permitidas expressões de qualquer tipo como parâmetro. Os parâmetros são separados por vírgula. Exemplo: Imprima ( ); Exemplo imprima(‘Resultado: ‘, a+b-5); Algoritmos imprima(expressão ou variável); //Exemplo imprima(“Resultado: “, a+b-5);

40 Exemplo:considerando a figura mostrada acima (um retângulo), faça um algoritmo que calcule a área da mesma. Neste problema existem três valores (estados) a serem representados: –Altura do retângulo (h); –Largura (ou base) do retângulo (b); –Área do retângulo. h b Dados de Entrada Dados de Saída Algoritmos

41 Nesta solução, os valores de a e de h só serão conhecidos em tempo de execução, e deverão ser fornecidos pela pessoa que executa o algoritmo. Assim, a preocupação não é com o valor do resultado produzido, e sim com a produção de resultados corretos. Algoritmos

42 Exemplo: no algoritmo para calcular a área de um triângulo retângulo, descrito abaixo, os objetos base e altura são argumentos de entrada, enquanto o objeto area é argumento de saída. Prog Retangulo; { real base, altura, area real; Imprima (“Digite um valor para a altura do retângulo: “); leia (altura); Imprima (“Digite um valor para a base do retângulo: “); leia (base); area <- altura*base; Imprima (“Valor da área: “, area); } Algoritmos

43 Teste de mesa: tabela que demonstra os resultados obtidos ao longo da execução de um algoritmo. –Exemplo: execução do algoritmo do slide anterior para entrada dos valores 3 para o objeto base e 5 para o objeto altura; LinhaBaseAlturaArea Algoritmos

44 Escreva um algoritmo que calcule o diâmetro, a área e a circunferência de um círculo, sabendo que o único dado disponível é o seu raio. –Diâmetro = 2 * Raio –Área = Pi * Raio * Raio –Circunferência= 2 * Pi * Raio Ler dois números inteiros e imprimir a soma. Entrar com dois números inteiros e imprimir a média aritmética. Criar um algoritmo que solicite e imprima os valores da diagonal maior, diagonal menor e calcule a área de um losango. –Fórmula: (diagonal maior * diagonal menor) dividido por 2 Elaborar um algoritmo para calcular e apresentar o volume de uma lata de óleo, utilizando a fórmula: VOLUME = * (R*R) * ALTURA. Algoritmos

45 Escreva um programa em LPE que pergunte o nome a altura (em metros) e a massa (em Kg) do usuário. Em seguida o programa deverá exibir uma mensagem dizendo o nome do usuário e a sua densidade corporal. –Densidade = peso / altura 2 Algoritmos

46 Operadores Aritméticos As operações são realizadas em uma expressão de acordo com a ordem de prioridade. Quando houver empate entre operações, elas serão realizadas da esquerda para a direita. + divisão adição -subtraçãoII I I* / OperadorPrioridadeSignificado multiplicação Algoritmos

47 Os parênteses quebram o ordem de prioridade natural. a Expressão MatemáticaExpressão Algoritmica 2.a+b2*a+b a/2+b a*x^2a.x 2 2 +b a 2+b a/2+b a/(2+b) errado certo Expressões Aritméticas Algoritmos

48 Quando houverem parênteses aninhados, a prioridade será do mais interno. a / (a + b) - (2 * (b + c)) Algoritmos

49 Operadores Relacionais –Comparação entre objetos (ou entre um objeto e um valor) do mesmo tipo; –O resultado será sempre do tipo lógico (V ou F); OperadorExemplo de usoSignificado >A>B, 4>3, C>3 = Diferente de Igual a <=Menor ou igual aB*A<=0 A= =0 A+B != C Menor que 2*A=Maior ou igual a‘a’>=‘b' Algoritmos

50 O operador relacional perde em prioridade para os operadores aritméticos; O operador relacional é binário, isto é, ele deve envolver um operando a sua esquerda e um a sua direita. Assim, a expressão -3 < X <=2 não é válida, pois nela X está relacionando-se com outros dois operandos. Algoritmos

51 Exercício: qual o resultado da expressão relacional A+3 > B quando: –A tem valor igual a 5 e B igual a 8; –A tem valor igual a 0 e B igual a -3; –A tem valor igual a 1 e B igual a 1; –A tem valor igual a -3 e B igual a 1; Algoritmos

52 Operadores Lógicos –Constrói expressão lógica que envolve operandos lógicos; –Utilizados no processo de tomada de decisão e em controles de repetição; –Operadores: e - usado na conjunção de proposições ou - usado na disjunção de proposições não - usado na negação de proposições –Proposição é qualquer elemento que possa produzir valor lógico (variável lógica, expressão relacional ou expressão lógica); Algoritmos

53 Os operadores e e ou são binários; O operador não é unário; Ordem de prioridade: –não  I –e  II –ou  III Algoritmos

54 A expressão A e B será verdadeira quando o operando A e o operando B produzirem resultados verdadeiros simultaneamente. Qualquer outra combinação de valores destes operandos produzirá resultado falso; A expressão A ou B será verdadeira quando uma das proposições (operando A e B) produzir resultado verdadeiro ; Algoritmos

55 Tabela do operador e: ABA e B VVV VFF FVF FFF Algoritmos


Carregar ppt "Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti."

Apresentações semelhantes


Anúncios Google