Skip to content

Instantly share code, notes, and snippets.

Keybase proof

I hereby claim:

  • I am fuadsaud on github.
  • I am fuad (https://keybase.io/fuad) on keybase.
  • I have a public key whose fingerprint is 7E48 FEF8 3C3F C2AF 19A2 AF11 A3FC 96BF 4AA8 ADC6

To claim this, I am signing this object:

module Checkout where
import Data.List
type Price = Integer
type Product = Char
type Cart = [Product]
type Rule = Cart -> Price
total :: Cart -> [Rule] -> Price
class CheckOut
def initialize(rules)
@rules = rules
@goods = []
end
def scan(good)
goods << good unless good.nil?
end
require_relative 'check_out'
require 'minitest/autorun'
class TestPrice < Minitest::Test
RULES = [
ModPrice.new('A', 3, 50, 130),
ModPrice.new('B', 2, 30, 45),
FixedPrice.new('C', 20),
FixedPrice.new('D', 15),
]
\documentclass[12pt]{article}
\usepackage{sbc-template}
\usepackage{graphicx,url}
\usepackage[brazil]{babel}
%\usepackage[latin1]{inputenc}
\usepackage[utf8]{inputenc}
% UTF-8 encoding is recommended by ShareLaTex
import Data.List.Split (splitOn)
import Data.Char (isDigit)
import Data.List (insert, sortBy)
import Data.Function (on)
data Haircut = Haircut { n :: Int, barbers :: [Barber] }
data Barber = Barber { i :: Int, time :: Int, originalTime :: Int } deriving Eq
instance Ord Barber where
@fuadsaud
fuadsaud / Dijkstra.hs
Last active August 29, 2015 14:19
Solution for Google Code Jam "Dijkstra" problem (https://code.google.com/codejam/contest/6224486/dashboard#s=p2)
module Dijkstra where
import Data.Char (isDigit)
import Data.Map (Map)
import qualified Data.Map as M
type Q = String
data Dijkstra = Dijkstra Int [Q] deriving Show
@fuadsaud
fuadsaud / make-composed-comparison1.clj
Last active August 29, 2015 14:17
fuad.im/FUNctional Programming
(defn make-composed-comparison [& comparisons]
(fn [p1 p2]
(let [results (for [comparison comparisons] (comparison p1 p2))
first-non-zero-result
(some (fn [result] (if (not (= 0 result)) result nil)) results)]
(if (nil? first-non-zero-result)
0
first-non-zero-result))))
PLAINTEXT = ARGV[0].gsub(/[^A-Za-z]/, '')
KEY = ARGV[1]
p KEY
.chars
.cycle
.take(PLAINTEXT.size)
.zip(PLAINTEXT.chars)
.reduce(Hash.new { [] }) { |acc, (key, char)| acc.merge(key => acc[key] + [char]) }
.to_a

Inteligencia Artificial

Sistemas Especialistas

1. O que sao sistemas especialistas?

Um sistema especialista e um sistema computacional que simula a habilidade de tomada de decisoes de um humano especialista em um determinado dominio. Sao projetados com intuito de resolver problemas complexos atraves de raciocionio realizado sobre uma base de conhecimento.