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

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

Lógica de Programação.

Apresentações semelhantes


Apresentação em tema: "Lógica de Programação."— Transcrição da apresentação:

1 Lógica de Programação

2 Sumário Briefing Representação de Algoritmos Dados Variáveis
Expressões Tabelas Verdade Pseudocódigo e VisuAlg Instruções Primitivas Estrutura de Decisão Estrutura de Repetição Vetores Procedimentos e Funções

3 Lógica de Programação Briefing

4 Briefing Lógica Do grego “Logos” Estudo do raciocínio válido
Aquilo que pode ocorrer Áreas da ciência Filosofia Matemática Semântica Informática

5 Briefing Filosofia Você é prisioneiro de uma tribo indígena que conhece todos os segredos do Universo e portanto sabem de tudo. Você está para receber sua sentença de morte. O cacique o desafia: - Faça uma afirmação qualquer. Se o que você falar for mentira você morrerá na fogueira, se falar uma verdade você será afogado. Se não pudermos definir sua afirmação como verdade ou mentira, nós te libertaremos.  O que você diria?

6 Briefing Filosofia Solução: Afirme que você morrerá na fogueira!
Explicação: Se você realmente morrer na fogueira, isto é uma verdade, portanto deveria morrer afogado Mas se você morrer afogado a informação seria uma mentira e, portanto, deveria morrer na fogueira Mesmo prevendo o futuro, haveria um impasse Você seria libertado

7 Briefing Matemática Você deve colocar os números nas intersecções destes três aros, de modo que nas três linhas a soma seja dois.

8 Briefing Matemática Solução: +3 -2 +1 +2 -1

9 Briefing Semântica Qual afirmação está correta?
A afirmação abaixo é verdadeira A afirmação acima é falsa

10 Briefing Semântica Solução: ? Resultado Eu, Robô Blade Runner Wall-E
...

11 Briefing Informática Lógica de programação Algoritmo
Técnica de encadear pensamentos para atingir um determinado objetivo Algoritmo Uma sequência finita de passos, logicamente colocados, que levam a execução de uma determinada tarefa

12 Briefing Informática Algoritmo “Receita de bolo”
Deve ter passos claros e precisos Softwares são algoritmos construídos com alguma linguagem de programação

13 Atividade (classwork)
Escreva um parágrafo que conceitue a palavra “Lógica”, na sua opinião sem a consulta de quaisquer recursos literários ou bibliográficos Pesquise e escreva sobre o Paradoxo de Epiménides e busque exemplos deste tipo de problema

14 Representação de Algoritmos Linguagem Natural
Lógica de Programação Representação de Algoritmos Linguagem Natural

15 Representação de Algoritmos
Linguagem Natural Narrativa Sequência de passos Trilha evolutiva Podem conter decisões que modificam o curso e os passos a serem seguidos

16 Representação de Algoritmos
Linguagem Natural Ex: Preparar um bolo Início: Coloque no liquidificador a laranja picada (sem casca e sem o pavio central), os ovos, o óleo e o açúcar Ligue o liquidificador e bata por 3 minutos Despeje o conteúdo em uma vasilha e adicione a farinha e o fermento Misture bem Asse em forno médio e pré-aquecido por 35 minutos Faça a cobertura, despejando o suco de laranja com açúcar e o leite sobre o bolo ainda quente Fim: Deixe esfriar e sirva

17 Representação de Algoritmos
Linguagem Natural Ex1: Preparar um churrasco

18 Representação de Algoritmos
Linguagem Natural Ex2: Projetar e construir um novo carro

19 Atividade (classwork)
Cite 5 exemplos de problemas que possam ser resolvidos com algoritmos Elabore um algoritmo em linguagem natural para cada problema citado

20 Representação de Algoritmos Fluxograma
Lógica de Programação Representação de Algoritmos Fluxograma

21 Representação de Algoritmos
Fluxograma Representação gráfica Figuras geométricas representam ações distintas Muito popular Fácil entendimento das ideias contidas no algoritmo

22 Representação de Algoritmos
Fluxograma Figuras

23 Representação de Algoritmos
Fluxograma Ex: Preparar um bolo INÍCIO Junte a laranja picada, ovos, óleo e açúcar Ligue o liquidificador e bata por 3 minutos Despeje em uma vasilha e adicione farinha e fermento Despeje o suco de laranja, açúcar e leite sobre o bolo para cobertura Asse em forno médio por 35min Misture bem Deixe esfriar e sirva FIM

24 Representação de Algoritmos
Fluxograma Ex1: Preparar um churrasco

25 Representação de Algoritmos
Fluxograma Ex2: Projetar e construir um novo carro

26 Atividade (classwork)
Cite 5 exemplos de problemas que possam ser resolvidos com algoritmos Elabore um algoritmo com fluxogramas para cada problema citado

27 Lógica de Programação Dados

28 Dados O que são dados? Dados são...

29 Dados Não neste contexto!!! O que são dados na informática?

30 Dados O que é dado? O que é informação? O que é conhecimento?

31 Dados

32 Dados Os dados possuem tipos diferentes, dependendo da forma que possuem e o que proporcionam ao sistema A memória do computador trabalha de forma diferente com cada tipo de dado Os tipos de dados são: Numéricos Lógicos Literais

33 Dados Numéricos Inteiros
São valores numéricos (positivos ou negativos) que não possuem casas decimais Idade (28,5 anos?) Dia (dia 15,2?) Unidades (2,1 maçãs?)

34 Dados Numéricos Reais São valores numéricos (positivos ou negativos) que podem possuir casas decimais Peso (78,6 kg) Largura de um terreno (12,5 m) Número real positivo (23.4) Número real negativo (-12.9) Uma casa decimal (0.0) Duas casas decimais (-0.32)

35 Dados Numéricos Os números devem ser tratados da seguinte maneira:
2 = Inteiro 2.0 = Real 2.1 = Real

36 Dados Lógicos São também conhecidos como booleanos
Sua ideologia de uso reflete a maneira de funcionamento dos computadores São usados para representar dois tipos de valores possíveis: V (valor lógico verdadeiro) F (valor lógico falso)

37 Dados Lógicos Verdadeiro pode ser simbolizado por: Falso por: V TRUE 1
FALSE NÃO

38 Dados Lógicos O colaborador é professor?
V Portanto, o colaborador não é técnico administrativo, diretor, atendente ou qualquer outra função F O colaborador é técnico administrativo? O colaborador é atendente? Portanto, o colaborador exerce outra função

39 Dados Literais Letras, números e caracteres especiais podem ser dados de tipo literal Uma sequência de dados deste tipo é caracterizada por estar entre aspas duplas (“”) É também conhecido por tipo de dado alfanumérico (alfa = letras; numérico = números) ou string

40 Dados Literais Exemplos de dados literais: “25” “Fulano”
“24 de Fevereiro” “30.2” “20/02/2002” “-32a9ff34”

41 Atividade (homework) Cite 10 exemplos de dados para cada tipo de dado:
Numérico inteiro Numérico real Literal

42 Lógica de Programação Variáveis

43 Variáveis As variáveis são espaços criados na memória do computador para guardar informações Estas informações são armazenadas por período temporário pela aplicação a ser executada (software) Seus valores, diferente das constantes podem variar

44 Variáveis Imagine um armário: 38 Idade 1200.00 Salário Cidade Ijuí RS
Nº filhos RS Estado 3 Nome Fulano Ciclano

45 Variáveis Cada “gaveta” armazena um tipo de dado
Se o valor na gaveta identificada for substituído, o dado anterior se perderá Cada gaveta pode possuir somente UM dado (valor)

46 Variáveis Existem algumas regras a serem seguidas ao nomearmos uma variável: Começar com uma letra Os demais caracteres podem ser letras, números ou ‘_’ (underline, underscore) Não podem ser utilizados nomes reservados, como: escreva, leia, var, etc. Procure utilizar nomes sugestivos para suas variáveis

47 Expressões Aritméticas
Lógica de Programação Expressões Aritméticas

48 Expressões Aritméticas
São expressões cujo resultado é um valor numérico (inteiro ou real) São utilizados somente operadores aritméticos e variáveis numéricas para este tipo de expressão

49 Parte inteira da divisão
Expressões Aritméticas São utilizados os seguintes operadores Operador Operação + Adição - Subtração * Multiplicação / Divisão Manutenção de sinal Inversão de sinal DIV Parte inteira da divisão MOD Resto da divisão

50 Expressões Aritméticas
Os tipos de dados do resultado das expressões são: Inteiro +, -, * = Real Qualquer / DIV MOD

51 Expressões Aritméticas
Os elementos obedecem uma hierarquia de execução Parênteses Multiplicação ou Divisão (o que vier primeiro) Soma e Subtração (o que vier primeiro) Media = Nota1 + Nota2 + Nota3 / 3 Media = (Nota1 + Nota2 + Nota3) / 3

52 Atividades (classwork)
Verifique o tipo de dado numérico resultante das seguintes expressões aritméticas: 7 * 2 4 DIV 1 4.5 * 2 (2 MOD 4) (10 + 2) * 2 - 0.8 / - 2 7 * ( ) (10 DIV 2) + 0.2 (90 MOD 33) - 0.2

53 Lógica de Programação Expressões Lógicas

54 Expressões Lógicas As expressões lógicas são aquelas cujo o resultado da sua avaliação tem um resultado lógico (V ou F) Comparador == Igual <> Diferente < Menor < = Menor ou Igual > Maior > = Maior ou Igual Operador OU OR v E AND ^ NÃO NOT

55 Expressões Lógicas Comparadores A = 5, B = 3 A = B Falso
A <> B Verdadeiro A > B Verdadeiro A < B Falso A > = B Verdadeiro A < = B Falso

56 Expressões Lógicas Operadores OU E NÃO
O resultado será verdadeiro se pelo menos UM resultado de uma expressão lógica for verdadeiro E O resultado será verdadeiro somente se TODOS os resultados das expressões lógicas forem verdadeiros NÃO O resultado final é o inverso do resultado da expressão lógica

57 Expressões Lógicas 1º Valor Operador 2º Valor Resultado V E F OU NÃO

58 = Expressões OU Lógicas Exemplos
Se eu usar casaco OU blusão, me manterei aquecido = OU

59 = Expressões E Lógicas Exemplos
Se não houver placas de proibida a ultrapassagem E não houver faixa contínua, posso ultrapassar o veículo = E não não

60 Expressões Lógicas Exemplos Se não for homem, é mulher = não

61 Expressões Lógicas A = 2, B = 3 C = 2, D = 3 A == B A <> B
F V A == B ^ C == D A == B v C == D ¬ (A == B) C == A v B <> D C == A ^ B <> D F V

62 Atividades (mix) Lista de exercícios (1-2) ½ Classwork ½ Homework

63 Lógica de Programação Expressões Literais

64 Expressões Literais Seu resultado proporciona um valor literal
Ocorre com menos frequência nos sistemas do que as expressões aritméticas e lógicas O operador varia de uma linguagem de programação para outra (+)(,)(.)... A operação para unir dois valores literais (strings) é chamado de concatenação

65 Expressões Literais Exemplo
Suponha que esteja sendo utilizada uma linguagem que o operador de concatenação seja “+” Imagine que queremos construir a expressão “REFRIGERANTE”, havendo a string “REFRI” e “GERANTE” “REFRI” + “GERANTE” = “REFRIGERANTE”

66 Expressões Lógicas Tabelas Verdade
Lógica de Programação Expressões Lógicas Tabelas Verdade

67 Expressões Lógicas (Tabelas Verdade)
Considere as variáveis A e B. Como não sabemos seus valores, se faz necessário desenvolver todas as combinações lógicas possíveis (Tabela Verdade) A B NÃO A NÃO B A OU B A E B V F

68 Expressões Lógicas (Tabelas Verdade)
As tabelas verdade são utilizadas para verificar se uma fórmula é verdadeira ou falsa, e quando que ela é verdadeira ou falsa São utilizadas em interrogatórios, para verificar se um indivíduo está mentindo ou não São utilizadas para quando não se sabe o valor verdadeiro de cada variável da fórmula Todas as probabilidades

69 Expressões Lógicas (Tabelas Verdade)
Verifique quando a seguinte expressão é falsa: A v ¬B Falso quando A for falso e B for verdadeiro A B ¬B A v ¬B V F

70 Atividades (classwork)
Informe a tabela verdade das seguintes expressões lógicas, informando em cada questão quando que o resultado é falso ou verdadeiro: A ^ B A v B A v ¬B ¬A ¬A ^ B A ^ ¬B ¬A ^ ¬B A v ¬A B ^ ¬B v A

71 Representação de Algoritmos Pseudocódigo e VisuAlg
Lógica de Programação Representação de Algoritmos Pseudocódigo e VisuAlg

72 Representação de Algoritmos
Pseudocódigo, algoritmo ou português estruturado Utilizado para elaborar a sequência lógica pela linguagem natural, antes de utilizar uma linguagem de programação Permite a tradução de um algoritmo para uma linguagem de programação específica, diretamente VisuAlg

73 Representação de Algoritmos
Pseudocódigo, algoritmo ou português estruturado Ex: Alô Mundo! (Hello World!)

74 Instruções Primitivas
Lógica de Programação Instruções Primitivas

75 Instruções Primitivas
As instruções primitivas exercem funções básicas e essenciais para a operação dos computadores sendo: Entrada de dados Saída de dados Servem para que o sistema se comunique com: Usuário Periféricos

76 Instruções Primitivas
Aplicativos, softwares e programas que não utilizam instruções primitivas é incapaz de se comunicar com o mundo exterior Programas sem comunicação com o mundo externo não tem qualquer utilidade

77 Instruções Primitivas
De atribuição Principal maneira de se armazenar informação em uma variável <nome_da_variável> <- <expressão> O tipo da variável deve estar conciso com o valor a ser atribuído (inteiro, real, literal, ...) No fluxograma é ilustrado pelo bloco PROCESSAMENTO var = 1+1

78 Instruções Primitivas
De saída de dados Somente a instrução de atribuição não é suficiente para haver comunicação, pois o valor fica armazenado na memória As instruções de saída são os meios pelos quais as informações são exibidas ao usuário e/ou periféricos escreva(“Alô Mundo!”) escreva(<variável>) No fluxograma é representado pelo bloco IMPRESSÃO DE RESULTADOS Escreva “Alô Mundo”

79 Instruções Primitivas
De entrada de dados Somente a instrução e saída não é suficiente, pois não há dinamicidade no sistema Cada vez que o programa é executado, novos valores podem ser atribuídos às variáveis leia(<variável>) No fluxograma é ilustrado pelo bloco ENTRADA DE DADOS NATURAL leia Nome

80 Estrutura de Decisão Tipo SE
Lógica de Programação Estrutura de Decisão Tipo SE

81 Estrutura de Decisão As estruturas de decisão englobam os princípios da condição O fluxo de instruções a ser seguido é escolhido em função do resultado da condição Podem existir várias condições a serem avaliadas para a definição do fluxo a ser seguido Condição = Expressão lógica As decisões podem ser tomadas por SE e ESCOLHA

82 Estrutura de Decisão Tipo Se
Nesta estrutura uma única condição é avaliada Se o resultado for verdadeiro (V, T, 1), então um determinado conjunto de instruções será executado. Caso contrário, ou seja, o resultado for falso (F, F, 0) outro conjunto de instruções será executado É obrigatório que o algoritmo prossiga por alguma das condições (verdadeiro ou falso)

83 Estrutura de Decisão Tipo Se Condições idade < 18
genero = ‘Masculino’ altura >= 1.60

84 Estrutura de Decisão Tipo Se Sintaxes ... V F <condição>
<comando composto 1> <comando composto 2>

85 <comando composto>
Estrutura de Decisão Tipo Se Sintaxes ... <condição> V F <comando composto>

86 Estrutura de Decisão Tipo ESCOLHA
Lógica de Programação Estrutura de Decisão Tipo ESCOLHA

87 Estrutura de Decisão Tipo Escolha Generalização do SE
Pode haver uma ou mais condições a serem testadas e um comando composto diferente associado a cada uma das condições

88 Estrutura de Decisão Tipo Escolha Sintaxes ... V F V F… V F
<Condição_1> V <Comando_composto_1> F V <Condição_2> <Comando_composto_2> F… <Condição_n> V <Comando_composto_n> F <Comando_composto_s>

89 Atividades (classwork)
Transcreva os exercícios da aula passada utilizando o tipo ESCOLHA no VisuAlg a) b) c) Elabore o fluxograma para cada exercício

90 Estrutura de Repetição Laços Contados
Lógica de Programação Estrutura de Repetição Laços Contados

91 Estrutura de Repetição
São comuns os trechos de código que devem ser repetidos em um algoritmo Este trecho de código pode conter valores diferentes, seja pela entrada ou pela saída de dados As estruturas de repetição também são conhecidas por laços de repetição ou loops Existem dois tipos de estruturas de repetição: laços contados e laços condicionais Lógica de Programação (Leonardo Minelli)

92 Estrutura de Repetição
Laços Contados São utilizados para quando sabe-se ao certo quantas vezes o comando composto no interior do bloco deverá ser executado Instrução dotada de mecanismos para contar quantas vezes o laço é executado 5x Lógica de Programação (Leonardo Minelli)

93 Estrutura de Repetição
Laços Contados Semântica O valor <inicio> é atribuído a variável <variavel> O valor <variavel> é comparado com o valor <final> Se <variavel> for menor ou igual que <final> Comando composto é executado Ao final do comando é atribuído +1 para <variavel> Se <variavel> for maior que <final> Comando composto não é executado Finaliza-se o laço

94 Estrutura de Repetição
Laços Contados Semântica <variavel> é uma variável do tipo inteiro <inicio>, <final>, <passo> podem ser constantes ou variáveis <passo> se não atribuído terá o valor de 1. Significa de quanto em quanto será acrescido o valor a cada execução do laço de repetição, podendo ser positivo ou negativo

95 Estrutura de Repetição
Laços Contados Fluxograma ... <condição> V F ... <comando composto>

96 Estrutura de Repetição Laços Condicionais
Lógica de Programação Estrutura de Repetição Laços Condicionais

97 Estrutura de Repetição
Laços Condicionais Diferente dos laços contados, com os laços condicionais não se sabe ao certo quantas vezes a repetição será executada Existem dois tipos de instruções que expressam este tipo de laço Enquanto Repita

98 Estrutura de Repetição
Laços Condicionais Enquanto No início da instrução a condição é testada Se for falsa, os comandos compostos não serão executados, nem por uma vez Se for verdadeira, os comandos compostos serão executados Se repetirá até que a condição proposta seja falsa. Atenção: O controle para saída do laço é de responsabilidade do criador do código! Em um momento a condição deve ser falsa para que o laço pare de ser executado. Quando isto ocorre, é chamado de laço infinito ou looping

99 Estrutura de Repetição
Laços Condicionais Enquanto Semântica <condição> é qualquer expressão lógica

100 Estrutura de Repetição
Laços Condicionais Repita Semelhante ao enquanto A condição é testada ao final do laço Diferente do enquanto, que é no início Sempre será executado pelo menos uma vez

101 Estrutura de Repetição
Laços Condicionais Repita Semântica <condição> é qualquer expressão lógica

102 Vetores Unidimensionais
Lógica de Programação Vetores Unidimensionais

103 Vetores Todas as variáveis, até agora, possuem somente um valor, correto? Lembram do armário e das gavetas?

104 ... Variáveis Imagine um armário: 38 Idade 1200.00 Salário Cidade Ijuí
Nº filhos RS Estado 3 Nome Fulano Ciclano

105 Vetores Só podíamos armazenar um valor por vez em cada variável
Se precisássemos armazenar 10 nomes, necessitaríamos de 10 variáveis de tipo literal! nome1, nome2, nome3, ... nome10 O vetor veio para acabar com estes problemas!

106 Vetores O que é um vetor? Segundo a matemática...
Segmento de reta orientado que possuem a mesma intensidade, mesma direção e mesmo sentido! SANTOS, Reginaldo J.

107 Vetores O que é um vetor?

108 Vetores O que é um vetor? Segundo a informática...
Vetor é uma variável que, a partir de posições diferentes, consegue armazenar várias informações do mesmo tipo Sua posição inicial será SEMPRE 0 (zero) Existem basicamente dois tipos de vetores Unidimensionais Bidimensionais

109 Vetores Unidimensionais
Vetores unidimensionais são semelhantes a uma “trilha” de informações Pensando em um vetor com países que falam português, por exemplo, um vetor unidimensional seria o seguinte: pt[0,1,2,3,4,5,6,7] pt[0..7] Brasil São Tomé e Príncipe Cabo Verde Timor Leste Moçambique Portugal Guiné-Bissau Angola

110 Vetores Unidimensionais VisuAlg
<variavel> : vetor[<inicio>..<final>] de <tipo de dado> Este comando criará um vetor unidimensional com o nome <variavel>, que iniciará em <inicio> e irá até <final>, possuindo o tipo de dado <tipo de dado> Literal Inteiro Real

111 Vetores Bidimensionais
Lógica de Programação Vetores Bidimensionais

112 Vetores Bidimensionais O que é um vetor?
Vetores Bidimensionais = Matrizes Matriz É uma tabela de “m” linhas e “n” colunas sobre um conjunto, normalmente um corpo “F”, representada sobre a forma de um quadro “s”

113 Vetores Bidimensionais Veja o quadro dos países que falam português...

114 [ ] pt Vetores Bidimensionais pt[1,1] pt[1,2] pt[1,3] pt[1,4] pt[2,1]

115 Vetores Bidimensionais
Ex: pt[1,1] = Brasil pt[1,2] = São Tomé e Príncipe pt[1,3] = Cabo Verde pt[1,4] = Timor Leste pt[2,1] = Moçambique pt[2,2] = Portugal pt[2,3] = Guiné-Bissau pt[2,4] = Angola

116 Procedimentos e Funções
Lógica de Programação Procedimentos e Funções

117 Procedimentos e Funções
Subalgoritmos e subprogramas são blocos independentes de comandos que visam dividir as operações do programa Os subalgoritmos podem ser de dois tipos Procedimentos Funções

118 Procedimentos e Funções
Os procedimentos não possuem valores de retorno Os valores são processados e manipulados dentro do bloco

119 Procedimentos e Funções

120 Procedimentos e Funções
Assim como na matemática, as funções recebem valores que são passados por parâmetros


Carregar ppt "Lógica de Programação."

Apresentações semelhantes


Anúncios Google