Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Curso de lógica - Introdução

Curso de lógica - Introdução

Curso de lógica com Ruby.

Leandro Vitor

July 31, 2016
Tweet

More Decks by Leandro Vitor

Other Decks in Technology

Transcript

  1. • Formado em Ciência da Computação • Pós Graduando em

    Engenharia de Software • Trabalho com desenvolvimento desde 2011 • Experiência em Php, Java, Python, Ruby, JavaScript • Transpetro, Petrobras, USP, SINE-AL, Beter Park … • https://github.com/vitoleandro • [email protected] # Sobre
  2. • Linguagem de Máquina • Algoritmos • Lógica de Programação

    • Linguagem de alto nível • Sintaxe e semântica • Sistema de computação • Ruby # Ementa
  3. # Linguagem de Máquina Todo computador necessita de instruções com

    ações bem específicas para funcionar. Estas ações, devem ser passadas para o computador em uma linguagem que ele possa entender, esta linguagem é chamada de linguagem de máquina. Esta linguagem, por sua vez, é composta apenas de números, representados de forma binária, que, sob o ponto de vista do computador, representam as operações e os operandos que serão usados no processamento do programa.
  4. # Algoritmos Algoritmo é uma sequencia finita de instruções bem

    definidas e não ambíguas, cada uma das quais devendo ser executadas mecânica ou eletronicamente em um intervalo de tempo finito e com uma quantidade de esforço finita. fonte: wikpedia Um algoritmo não representa, necessariamente, um programa de computador, e sim os passos necessários para realizar uma tarefa. Sua implementação pode ser feita, por um computador, um autômato ou até por um ser humano
  5. # Linguagem de alto nivel Linguagem de alto nível é

    com se chama em ciência da computação uma linguagem com um nível de abstração relativamente elevado, longe do código de máquina e mais próximo a linguagem humana. fonte: wikpedia As linguagens de não estão diretamente relacionadas a arquitetura do computador. Desta forma o programador não precisa conhecer as características do processador, com instruções e registradores. Essas características são abstraídas na linguagem de alto nível.
  6. # Sintaxe e Semantica Sintaxe é um conjunto de regras

    que define a forma de uma linguagem, estabelecendo como são compostas as suas estruturas básicas (palavras) fonte: PUC-RIO A sintaxe de uma linguagem de programação é formada por regras léxicas e regras sintáticas.
  7. # Sintaxe e Semantica As regras léxicas descrevem as combinações

    válidas de caracteres que formam os tokens da linguagem de programação (palavras reservadas, identificadores, operadores …) fonte: PUC-RIO As regras sintáticas descrevem como os tokens podem ser combinados para formar instruções válidas (comandos, expressões, subordinas …)
  8. # Sintaxe e Semantica A semântica descreve o significado de

    construções sintáticas válidas. fonte: PUC-RIO Não existe uma notação padrão para a descrição da semântica das linguagens de programação. Diferentes formalismos foram desenvolvidos para atender diferentes objetivos. Geralmente uma linguagem de programação é descrita informalmente, utilizando-se linguagem natural (Inglês, português… )
  9. # Compiladores Um compilador é um programa de sistema que

    traduz um programa descrito em uma linguagem de alto nível para um programa equivalente em um código de maquina para um processador. Em geral, um compilador não produz diretamente o código de maquina, mas sim, um programa em linguagem simbólica semanticamente equivalente ao programa em linguagem de alto nível.
  10. # Interpretador Um interpretador é um programa que age como

    se fosse um interprete, percorrendo as instruções de um programa escrito em uma determinada linguagem de programação e, a medida em que vai interpretando cada instrução vai traduzindo para o processador, que então executa cada ação correspondente.
  11. # Ruby Ruby é uma linguagem dinâmica, open source com

    foco na simplicidade e na produtividade. Tem uma sintaxe elegante de leitura natural e fácil escrita.
  12. # Um pouco de história Ruby é uma linguagem de

    programação interpretada multiparadigma, de tipagem dinâmica e forte, com gerenciamento de memória automático, originalmente planejada e desenvolvida no Japão em 1995, por Yukihiro "Matz" Matsumoto, para ser usada como linguagem de script. Matz queria uma linguagem de script que fosse mais poderosa do que Perl, e mais orientada a objetos do que Python.[4] Ruby suporta programação funcional, orientada a objetos, imperativa e reflexiva. Foi inspirada principalmente por Python, Perl, Smalltalk, Eiffel, Ada e Lisp, sendo muito similar em vários aspectos a Python.[5] Atualmente, Ruby é a 10ª linguagem de programação mais popular do mundo, de acordo com o Índice Tiobe.[6]