Skip to content

Instantly share code, notes, and snippets.

View OtavioHenrique's full-sized avatar

Otavio OtavioHenrique

View GitHub Profile
{
"DadosTecnicos": [
{
"id": 6785,
"companySolutionId": "5581",
"inventoryRef": "169321",
"validationAccepted": "YES",
"sync": "NO",
"syncCount": "0",
"blockedSync": "0",
#include <stdio.h>
#include <stdlib.h>
float finalGrade(float grade1, float grade2, float grade3) {
return ((4 * grade1) + (4 * grade2) + (2 * grade3)) / 10;
}
FILE* openFile(char* file){
FILE *pFile;
#include <stdio.h>
#include <time.h>
int main () {
clock_t begin = clock();
int ni = 3000, nj = 3000, nk = 3000;
for(int i = 0; i < ni; i++) {
for(int j = 0; j < nj; j++) {
Notation Short Description Denomination
O(1) A melhor solução possível Constante
O(log n) Quase bom, árvore binária e o algoritimo mais famoso O(log n) Logaritimica
O(N) Quando andamos por todos os dados. Solução "OK" Linear
O(n log n) Não é uma solução ruim. Algoritimo mais famoso é Merge Sort. nlogn
O(N^2) Horrivel, vamos ver o exemplo a seguir Quadratico
O(2^n) Horrivel, algoritimo mais famoso é o quicksort Exponential
O(N!) A solução mais horrível, fatorial é quando você testa cada solução possível Fatorial
@OtavioHenrique
OtavioHenrique / big_o.md
Created October 26, 2018 03:36
Entendendo a notação Big O

Big O é uma famosa notação da ciência da computação, porém esse tópico ainda da medo em muitas pessoas. Alguns programadores não tem um curso completo em Ciência da Computação e nunca viram este tópico e alguns que mesmo fazendo o curso muitas vezes acabam não tendo um completo entendimento do assunto.

Nesse texto eu vou explicar o que realmente é Big O e o que você realmente precisa saber.

Eu vou explicar o básico da notação Big O com exemplos escritos em Ruby.

Gosto de escrever exemplos em Ruby, pois acho a linguagem mais fácil de ser lida por qualquer pessoa que já programe algo

Isso não pretende ser um guia completo de Big O, se você quer saber tudo sobre, no final do texto vou dar referências de como continuar seu estudo.

1. O que e um sistema Operacional? Qual sua finalidade em um sistema computacional?

E um software que opera basicamente fazendo uma interface com o hardware do computador, ele tambem gerencia o hardware e os softwares sendo executados.

2. Relacione e explique tres situacoes tipicas em que um sistema operacional contribui para a execucao de um aplicativo.

  1. Ele ajuda na interface entre o aplicativo e os recursos do computador
  2. Ele gerencia o processo de execucao do aplicativo, como E/S ou interrupcoes.
  3. Ele facilita o uso do aplicativo pelo usuario final.

1. Por que o OS cria processos?

Para gerenciar a execucao de um programa, controlando a alocacao de recursos e estado de cada programa em execucao.

2. Que tipo de sistema operacional deve ter um sistema de computacao para que possa ter varios programas tendo instrucoes de seu codigo sendo executadas simultaneamente, ou seja, no mesmo instante?

Um SO com capacidade de gerenciar multiprocessamento, ou seja, hardware com multi processadores executando em cada core do processador um processo diferente.

3. Discorra sobre o barramento de enderecos

class People
def initialize(name:, age:, weight:)
@name = name
@age = age
@weight = weight
end
end
bruna = People.new(name: "Bruna", age: "24", weight: "54")
puts bruna.name
array = [1,2]
array_bruna = [1,2,3,4]
def subtracao(bruna)
subtracao = 0
bruna.each do |number|
subtracao = subtracao - number
end
@OtavioHenrique
OtavioHenrique / royal_family.pl
Created September 9, 2018 00:41
A simple Britsh Royal Family base of facts to study Prolog
female(elizabeth).
female(charlotte).
male(philip).
male(harry).
male(george).
male(louis).
male(charles).
male(william).