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

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

Algoritmos e Programação de Computadores

Apresentações semelhantes


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

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

2 HARDWARE + SOFTWARE = COMPUTADOR
O Computador 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

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
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 Algoritmos 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);

10 Algoritmos 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

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

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

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

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

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

16 Algoritmos 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

17 Algoritmos 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;

18 Algoritmos 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;

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

20 Algoritmos 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érico Caracter Nulo (Void) Inteiro Real

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

22 Algoritmos 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;

23 Algoritmos 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 Pascal C int x x:integer int x

24 Algoritmos 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;

25 Algoritmos 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 Pascal C real x x: real float x

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

27 Algoritmos 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;

28 Algoritmos 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;

29 Algoritmos Declaração: LPE Pascal C char x x: char char x

30 Algoritmos 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

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

32 Algoritmos 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;

33 Algoritmos 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

34 Algoritmos 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. 100 3,14 i r

35 Algoritmos Tipos de dados serão necessários na declaração de objetos (variáveis); Tipos disponíveis em LPE: TIPO DE DADO DESCRIÇÃ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”;

36 Algoritmos 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: OPERADOR DESCRIÇÃO + Adição - Subtração * Multiplicação / Divisão % (mod) Resto da divisão div Quociente da divisão

37 Algoritmos 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: <variável> <- <expressão>; //Exemplo resultado <- 5*86;

38 Algoritmos Comandos Entrada de dados (leia) EX: leia(total1);
leia(<variável>); 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 é: leia(Nome da variável); //Exemplo leia(total1);

39 Algoritmos 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 (<expressões>); Exemplo imprima(‘Resultado: ‘, a+b-5); imprima(expressão ou variável); //Exemplo imprima(“Resultado: “, a+b-5);

40 Algoritmos h b 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. Dados de Entrada Dados de Saída

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

42 Algoritmos 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. 1 2 3 4 5 6 7 8 9 10 11 12 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); }

43 Algoritmos 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; Linha Base Altura Area 7 - 5 9 3 10 15 12

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

45 Algoritmos 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 / altura2

46 Algoritmos 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ção II I * / Operador Prioridade Significado multiplicação

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

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

49 Algoritmos 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); Operador Exemplo de uso Significado > A>B, 4>3, C>3 = = Diferente de Igual a <= Menor ou igual a B*A<=0 A= =0 A+B != C Menor que 2*A<B Maior que < != >= Maior ou igual a ‘a’>=‘b'

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

51 Algoritmos 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;

52 Algoritmos 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);

53 Algoritmos 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

54 Algoritmos 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;

55 Algoritmos Tabela do operador e: A B A e B V F


Carregar ppt "Algoritmos e Programação de Computadores"

Apresentações semelhantes


Anúncios Google