1.3k likes | 1.59k Views
Lógica de Programação. Sumário. Briefing Representação de Algoritmos Dados Variáveis Expressões Tabelas Verdade Representação de Algoritmos Pseudocódigo e VisuAlg Instruções Primitivas Estrutura de Decisão Estrutura de Repetição Vetores Procedimentos e Funções.
E N D
Sumário • Briefing • Representação de Algoritmos • Dados • Variáveis • Expressões • Tabelas Verdade • Representação de Algoritmos • Pseudocódigo e VisuAlg • Instruções Primitivas • Estrutura de Decisão • Estrutura de Repetição • Vetores • Procedimentos e Funções
Lógica de Programação Briefing
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
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?
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
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.
Briefing • Matemática • Solução: -2 +1 +3 +2 0 -1
Briefing • Semântica • Qual afirmação está correta? • A afirmação abaixo é verdadeira • A afirmação acima é falsa
Briefing • Semântica • Solução: ? • Resultado • Eu, Robô • BladeRunner • Wall-E • ...
Briefing • Informática • Lógica de programação • 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
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
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énidese busque exemplos deste tipo de problema
Lógica de Programação Representação de Algoritmos Linguagem Natural
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
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
Representação de Algoritmos • Linguagem Natural • Ex1: Preparar um churrasco
Representação de Algoritmos • Linguagem Natural • Ex2: Projetar e construir um novo carro
Atividade (classwork) • Cite 5 exemplos de problemas que possam ser resolvidos com algoritmos • Elabore um algoritmo em linguagem natural para cada problema citado
Lógica de Programação Representação de Algoritmos Fluxograma
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
Representação de Algoritmos • Fluxograma • Figuras
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
Representação de Algoritmos • Fluxograma • Ex1: Preparar um churrasco
Representação de Algoritmos • Fluxograma • Ex2: Projetar e construir um novo carro
Atividade (classwork) • Cite 5 exemplos de problemas que possam ser resolvidos com algoritmos • Elabore um algoritmo com fluxogramas para cada problema citado
Lógica de Programação Dados
Dados • O que são dados? • Dados são...
Dados Não neste contexto!!! • O que são dados na informática?
Dados • O que é dado? • O que é informação? • O que é conhecimento?
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
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?)
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)
Dados • Numéricos • Os números devem ser tratados da seguinte maneira: • 2 = Inteiro • 2.0 = Real • 2.1 = Real
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)
Dados • Lógicos • Verdadeiro pode ser simbolizado por: • V • TRUE • 1 • SIM • Falso por: • F • FALSE • 0 • NÃO
Dados • Lógicos • O colaborador é professor? • V • Portanto, o colaborador não é técnico administrativo, diretor, atendente ou qualquer outra função • O colaborador é professor? • F • O colaborador é técnico administrativo? • F • O colaborador é atendente? • F • Portanto, o colaborador exerce outra função
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
Dados • Literais • Exemplos de dados literais: • “25” • “Fulano” • “24 de Fevereiro” • “30.2” • “20/02/2002” • “-32a9ff34” • “$#@”
Atividade (homework) • Cite 10 exemplos de dados para cada tipo de dado: • Numérico inteiro • Numérico real • Literal
Lógica de Programação Variáveis
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
Variáveis • Imagine um armário: 38 Idade 1200.00 Salário Cidade Ijuí Nº filhos RS Estado 3 Nome Fulano Ciclano
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)
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
Lógica de Programação Expressões Aritméticas
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
Expressões • Aritméticas • São utilizados os seguintes operadores
Expressões • Aritméticas • Os tipos de dados do resultado das expressões são: