Aula 01 Linguagens de Programação e Lógica

Documentos relacionados
Resumo aula. Conceituação; Origem; Lógica de programação; Argumentos; Lógica simbólica; Dedutivos; Indutivos;

Matemática Computacional. Introdução

Lógica Matemática. Definição. Origem. Introdução

Bacharelado em Sistemas de Informação Disciplina: Lógica Matemática. Introdução à Logica Matemática. Prof.ª Dr.ª Donizete Ritter

Definição tem, por objeto de estudo, as leis gerais do pensamento, e as formas de aplicar essas leis corretamente na investigação da verdade.

Prof.ª Dr.ª Donizete Ritter. MÓDULO II_PARTE 1: Lógica de Argumentação

Fundamentos de Lógica e Algoritmos. Aula 1.2 Introdução a Lógica Booleana. Prof. Dr. Bruno Moreno

Aula 02 Introdução à Lógica. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Argumentos Dedutivos e Indutivos. Professor Mário Hozano

Programação de Computadores

Existem três categorias principais de linguagem de programação: linguagem de máquina, linguagens assembly e linguagens de alto nível.

Lógica e Computação. Uma Perspectiva Histórica

Programação de Computadores

TÉCNICO DE INFORMÁTICA - SISTEMAS

Prof. Tiago Semprebom, Dr. Eng. 09 de abril de 2013

LÓGICA DE PROGRAMAÇÃO 1

Fundamentos de Programação Introdução

Programação de Computadores:

OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO

Programação de Computadores

Programação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação

Introdução à Computação

18/01/2016 LÓGICA MATEMÁTICA. Lógica é usada para guiar nossos pensamentos ou ações na busca da solução. LÓGICA

Informática I. Aula 14. Aula 14-10/10/2007 1

Linguagem de Programação I Prof. Tiago Eugenio de Melo.

1 Introdução à Programação O que é? Para que serve?... 1

Cálculo proposicional

PROGRAMAÇÃO I. Introdução

Compiladores. Introdução

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

Métodos para a construção de algoritmo

LO GICA E TE CNICA DE PROGRAMAC ÃO. TÁSSIO JOSÉ GONÇALVES GOMES

Introdução a Programação de Jogos

4 O conceito de variável

Algoritmos e Técnicas de Programação Introdução Givanaldo Rocha de Souza

Técnicas de Programação

Estrutura e funcionamento básico de um computador

I - CONCEITOS INICIAIS

Curso Profissional de Gestão e Programação de Sistemas Informáticos. Programação e Sistemas de Informação. Módulo 1. 1ª Parte Prof. Sandra Pais Soares

A única diferença entre o difícil e o impossível é que o último demora um pouco mais de tempo para ser alcançado..

Introdução à Ciência da Computação

MC-102 Aula 01. Instituto de Computação Unicamp

Lógica Matemática e Elementos de Lógica Digital

Algoritmos. Laura Goulart. 11 de Dezembro de 2018 UESB. Laura Goulart (UESB) Algoritmos 11 de Dezembro de / 12

Dedução Natural e Sistema Axiomático Pa(Capítulo 6)

Dedução Natural LÓGICA APLICADA A COMPUTAÇÃO. Professor: Rosalvo Ferreira de Oliveira Neto

4) Defina o que vem a ser um algoritmo, e porque, o mesmo depende do processo.

Fundamentos de Programação 1

Slides trabalhados durante a quinta aula

Patrícia de Siqueira Ramos. UNIFAL-MG, campus Varginha. 21 de Março de 2018

LÓGICA DE PROGRAMAÇÃO INTRODUÇÃO À PROGRAMAÇÃO DE COMPUTADORES

Ferramentas Programação. UDESC - Prof. Juliano Maia 1

Introdução a Programação

Fundamentos da Computação 1. Aula 03

Algoritmos e Programação - Engenharia da Computação -

Aula teórica 7. Preparado por eng.tatiana Kovalenko

Aula 2 - Introdução Cleverton Hentz

Organização de Computadores

LÓGICA COMPUTACIONAL. Prof. André Aparecido da Silva Disponível em:

Introdução à Programação Aula 03. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

INF 1005 Programação I

Programação Estruturada

Fundamentos de Programação 1

Resolução De Problemas Em Informática. Docente: Ana Paula Afonso Resolução de Problemas. 1. Analisar o problema

Fundamentos de Programação em Python

Apresentação Plano de ensino Curso Conceitos básicos de lógica Introdução aos algoritmos - resolução de problemas Conceitos de programação Conceitos

Introdução ao Python. Programa Computacional

Programação I Apresentação

Estrutura de Seleção

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior

Olá pessoal, Hoje vamos entender os conceitos sobre linguagem de programação. Definição, tipos de linguagens e as linguagens mais utilizadas

Aula 05 Estrutura de Seleção em C

Introdução à Computação

Apresentação. Informação geral + Conceitos iniciais

Introdução à Ciência da Computação ICC0001 Prof. Diego Buchinger

Plano de Aula - Lógica de Programação - cód Horas/Aula

Autômatos e Linguagens

Programação de Computadores IV. Introdução a Linguagens de Programação Simone Martins SLIDES CEDIDOS POR BRUNO MARQUES 1

Matemática discreta e Lógica Matemática

Algoritmos e Programação

Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES. Introdução. Geovane Griesang

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE DEPARTAMENTO DE INFORMÁTICA E MATEMÁTICA APLICADA. DIM0320 Algoritmos e Programação de Computadores

CONCEITOS DE LINGUAGENS DE PROGRAMAÇÃO

Introdução à Computação para Engenharia MAC2166 Prof. Dr. Paulo Miranda IME-USP. Aula 1 Introdução à Computação

Lógica e Metodologia Jurídica

UNIDADE 1 CONCEITOS BÁSICOS EM ALGORITMOS

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO. ANÁLISE E DESENVOLVIMENTO DE SISTEMAS/PARANGABA PROF. MS. RONNISON REGES VIDAL Ceará, 01 de fevereiro de 2017

Paradigmas de Programação

Conceitos Básicos ENTRADA PROCESSAMENTO SAÍDA

Introdução a Lógica de Programação

Desenvolvimento de programas. Análise do problema. Análise do problema. Análise do problema. Desenvolvimento do algoritmo. Codificação do programa

Fundamentos de Algoritmos (5175/31)

Questões de Paradigmas de Programação Matéria: Prova 1 4ª EDIÇÃO

LO GICA E TE CNICA DE PROGRAMAC ÃO. TÁSSIO JOSÉ GONÇALVES GOMES

Desenvolvimento de programas

Introdução ao Curso. Área de Teoria DCC/UFMG 2019/01. Introdução à Lógica Computacional Introdução ao Curso Área de Teoria DCC/UFMG /01 1 / 22

Conhecendo a Linguagem de Programação C

Transcrição:

Aula 01 Linguagens de Programação e Lógica Disciplina: Algoritmos Prof. Allbert Velleniche de Aquino Almeida E-mail: allbert.almeida@fatec.sp.gov.br Site: http://www.allbert.com.br /allbert.almeida

Resumo da aula Objetivo Definição Nível de Linguagem Tipos de Linguagem Interpretadores X Compiladores Lógica Formal e Lógica Booleana Lógica de Programação

Objetivo O objetivo dessa aula é fazer uma introdução a Linguagem de Programação com o foco nos conceitos e como aplicamos a lógica na investigação da verdade.

Definição de Linguagem de Programação: Aurélio: linguagem em que se expressa um conjunto de ações de forma aceitável pelo computador; Uma linguagem de programação (LP) é uma ferramenta utilizada pelo profissional de informática para escrever programas; É um conjunto de instruções a serem executadas pelo computador para realizar um determinado processo.

Nível de Linguagem Linguagem de Máquina Linguagem de Baixo de Nível Linguagem de Alto Nível

Nível de Linguagem Homem Alto Baixo Máquina

Linguagem de Máquina É a única linguagem diretamente compreendida pelo computador, e está intrinsecamente relacionada ao projeto de hardware do mesmo. Geralmente, essas linguagens consistem em um conjunto de caracteres (0s e 1s), que definem cada operação elementar que deve ser realizada pelo computador para a execução de uma dada aplicação.

Linguagem de Baixo de Nível Dada a dificuldade de se programar em linguagem de máquina, surgiu a linguagem de baixo nível Assembly. O Assembler é o programa que traduz a linguagem Assembly em linguagem de máquina.

Linguagem de Alto Nível Essas linguagens possuem instruções simples, normalmente próximas do inglês e das notações matemáticas, para executar tarefas básicas que equivalem, em linguagem de máquina ou mesmo assembly, a um conjunto de instruções elementares. Exemplos: Fortran, COBOL, Pascal, C, C++, Java, etc.

Linguagem de Alto Nível Linguagens não Estruturadas Linguagens Estruturadas Linguagens Orientadas a Objetos

Linguagens não Estruturadas São aquelas linguagens que não aceitam blocos de estruturas. Um programa, então, é uma sequência de instruções que se utiliza, quando necessário, de desvios (vá para). Como exemplo dessas linguagens tem-se: Fortran, Cobol, etc.

Linguagens Estruturadas São aquelas linguagens que incorporam blocos de estruturas de repetições (while, do while, etc.). Essas linguagens visam tornar os programas menores, mais claros, mais fáceis de serem compreendidos e depurados, através, principalmente, da eliminação dos desvios. Exemplo: C, Cobol Estruturado, Pascal, Fortran-77, etc.

Linguagem Não-estruturada X Estruturada *** Potenciação Desvios **** Inicio: real: num, exp, total, contador; escreva( Entre com um número : ); leia (num); escreva( Entre com um expoente : ); leia (exp); total 1; contador 1; Expoente: se (contador > exp) vá para Imprime; total total * num; contador contador + 1; vá para Expoente; Imprime: escreva ( Resultado :, total); Fim. *** Potenciação Estruturada **** Inicio: real: num, exp, total, contador; escreva( Entre com um número : ); leia (num); escreva( Entre com um expoente: ); leia (exp); total 1; para contador de 1 até exp faça total total * num; fim_para; escreva ( Resultado :, total); Fim.

Linguagens Orientadas a Objetos Essas linguagens expressam um novo modelo dentro da programação. Normalmente, incorporam as estruturas das linguagens estruturadas e acrescentam às mesmas a capacidade de lidar com o paradigma de Objetos. Exemplos: C++, Java.

Linguagem de Alto Nível Os programas escritos em linguagens de alto nível devem ser traduzidos para linguagem de máquina através de: Interpretadores Compiladores

Interpretadores Um interpretador lê uma instrução de um programa escrito em linguagem de alto nível, faz uma consistência de sua sintaxe e, caso esteja correta, a converte em uma ou mais instruções em linguagem de máquina e as executa. Segue, então, para a próxima instrução e assim sucessivamente até o término da execução do programa.

Interpretadores Interpretação pura LP Fonte LM Interpretação Execução

Compiladores Um compilador lê uma instrução de um programa escrito (código fonte), faz uma consistência de sua sintaxe e, caso esteja correta, a converte em uma ou mais instruções em linguagem de máquina. Em seguida, são agregadas a este código rotinas em linguagem de máquina que possibilitarão sua execução, sendo criado neste ponto o arquivo executável (.exe).

Compiladores LP Fonte Compilação LM.EXE Execução

Lógica - Conceito A Lógica tem, por objeto de estudo, as leis gerais do pensamento, e as formas de aplicar essas leis corretamente na investigação da verdade.

Lógica de Programação A lógica, basicamente, trata da correção do pensamento, ou seja, nos ensina a usar os critérios do pensamento. Em termos de programação, é a técnica de encadear o raciocínio para atingir um determinado objetivo ou resolver um dado problema. Essa forma de encadeamento é chamada, em Lógica, de argumento.

Argumento Um argumento é uma sequência de proposições na qual uma delas é a conclusão e as demais são premissas. As premissas justificam a conclusão. Proposições: sentenças afirmativas que podem ser verdadeiras ou falsas Premissas: afirmações disponíveis Exemplo: Todo aluno de Computação precisa estudar Lógica. (premissa) José é aluno de Computação. (premissa) Logo, José precisa estudar Lógica. (conclusão)

Argumento O objetivo de um argumento é justificar uma afirmação que se faz, ou dar as razões para uma certa conclusão obtida. Exemplo: Você me traiu. Pois, disse que ia estudar e meu irmão lhe viu na boate. Um argumento demonstra/prova como a partir dos dados de um problema chegou-se a uma conclusão.

Argumento: Raciocínio e Inferência Exercício: Um rei resolveu dar a liberdade a um de seus três prisioneiros. Mandou trazer três chapéus brancos e dois vermelhos. Vendou os olhos dos prisioneiros, colocou um chapéu em cada um e depois foi retirando a venda dos olhos deles. Ganharia a liberdade aquele que soubesse dizer, de forma convincente, a cor do seu próprio chapéu olhando para os outros prisioneiros. Os dois primeiros não souberam dizer. O terceiro, antes que o rei lhe tirasse a venda dos olhos, afirmou com toda certeza a cor do seu chapéu. Qual a cor do chapéu do terceiro prisioneiro? Justifique.

Resposta Prisioneiros Possibilidades A B C 1 B B B 2 B B V 3 B V B 4 V B B 5 B V V 6 V B V 7 V V B

Argumento: Raciocínio e Inferência Para convencer que você sabe a resposta (que não é um chute) você tem de expor as razões que o levaram a conclusão (justificar). Pontos de Partida Caminhos Seguidos Raciocínio ou Processo de Inferência Conclusão Um argumento poderia ser considerado uma reconstrução explícita do raciocínio efetuado

Argumento: Raciocínio e Inferência Inferência é a relação que permite passar das premissas para a conclusão, um encadeamento lógico ; A palavra inferência vem do latim, Inferre, e significa conduzir para O objeto de estudo da lógica é determinar se a conclusão de um argumento é ou não decorrente das premissas (uma inferência).

Validade de um Argumento Em um argumento válido, as premissas são consideradas provas evidentes da verdade da conclusão, caso contrário não é válido. Quando é válido, podemos dizer que a conclusão é uma consequência lógica das premissas, ou ainda que a conclusão é uma inferência decorrente das premissas.

Validade de um Argumento Exemplo 1: O argumento que segue é válido? Se eu ganhar na Loteria, serei rico. Eu ganhei na Loteria. Logo, sou rico. Válido (a conclusão é uma decorrência lógica das duas premissas.)

Validade de um Argumento Exemplo 2: O argumento que segue é válido? Se eu ganhar na Loteria, serei rico Eu não ganhei na Loteria Logo, sou pobre Não é Válido (a conclusão não é uma decorrência lógica das duas premissas.)

Validade de um Argumento A lógica se preocupa com o relacionamento entre as premissas e a conclusão, ou seja, com a estrutura e a forma do raciocínio. A verdade do conteúdo de cada premissa e da conclusão é estudo das demais ciências.

Dedução e Indução A Lógica dispõe de duas ferramentas que podem ser utilizadas pelo pensamento na busca de novos conhecimentos: a dedução e a indução, que dão origem a dois tipos de argumentos: Dedutivos e Indutivos.

Argumentos Dedutivos Exemplos de argumentos dedutivos: Todos os mamíferos são mortais. Todas as cobras são mortais. Todas as cobras são mamíferos. Argumento Inválido Todos os diamantes são duros. Alguns diamantes são jóias. Algumas jóias são duras. Argumento Válido

Argumentos Indutivos Os Argumentos Indutivos não pretendem que suas premissas forneçam provas cabais da veracidade da conclusão, mas apenas que forneçam indicações dessa veracidade. (possibilidade, probabilidade) Seguem do Raciocínio Indutivo, isto é, obtém conclusões baseada em observações/experiências. Enquanto que um Raciocínio Dedutivo exigi uma prova formal sobre a validade do argumento.

Argumentos Indutivos Exemplo1: Joguei uma pedra no lago, e ela afundou; Joguei outra pedra no lago e ela também afundou; Joguei mais uma pedra no lago, e ela também afundou; Logo, se eu jogar uma outra pedra no lago, ela vai afundar.

Argumentos Indutivos Exemplo2: A vacina funcionou bem nos ratos. A vacina funcionou bem nos macacos. Logo, vai funcionar bem nos humanos. Exemplo3: 80% dos entrevistados vão votar no candidato X. Logo, o candidato X vai vencer as eleições.

Validade e Verdade Verdade e Falsidade: são propriedades das proposições, nunca dos argumentos Validade ou Invalidade: são propriedades dos argumentos dedutivos que dizem respeito a inferência ser ou não válida (raciocínio ser ou não correto)

Validade e Verdade Exemplo 1 Toda baleia é um mamífero Todo mamífero tem pulmões Logo, toda baleia tem pulmões (V) (V) (V) Argumento válido e a conclusão verdadeira.

Validade e Verdade Exemplo 2 Toda aranha tem seis pernas Todo ser de seis pernas tem asas Logo, toda aranha tem asas (F) (F) (F) Argumento válido e a conclusão falsa

Lógica Clássica e Lógica Simbólica Lógica Clássica formula os argumentos em linguagem natural, mas enfrenta problemas de ambiguidade e de construções confusas. A Lógica Simbólica ou Lógica Matemática utiliza símbolos de origem matemática para formular os argumentos. Trabalho iniciado pelo matemático inglês George Boole (1815 1864) Álgebra Booleana. e consolidado pelo filósofo e matemático alemão Goottlob Frege (1848 1895)

Expressões lógicas ou booleanas Uma expressão lógica ou booleana é uma expressão cujos operadores são lógicos e cujos operandos são expressões relacionais, constantes e/ou variáveis do tipo lógico. O resultado da avaliação de uma expressão lógica é sempre um valor falso ou verdadeiro;

Expressões lógicas ou booleanas Operador Matemática Usado Exemplos Conjunção e E a E b Disjunção ou OU a OU b Negação não NÃO NÃO a

Tabela verdade do operador E Você conhece JAVA Você conhece C++ Resultado FALSO FALSO FALSO FALSO VERDADEIRO FALSO VERDADEIRO FALSO FALSO VERDADEIRO VERDADEIRO VERDADEIRO

Tabela verdade do operador OU Você conhece JAVA Você conhece C++ Resultado FALSO FALSO FALSO FALSO VERDADEIRO VERDADEIRO VERDADEIRO FALSO VERDADEIRO VERDADEIRO VERDADEIRO VERDADEIRO