Anotações, resumos, trabalhos, provas e problemas de Computação

Fundamentos de IHC: Lei de Hick, Lei de Fitts, Gestalt e Cores

ComputaçãoAtualizado em 3,1 KB

Lei de Hick

Relaciona o tempo que uma pessoa leva para tomar uma decisão com o número de possíveis escolhas que ela possui:

T = k × log2(N + 1), caso tenham probabilidades iguais;

T = k × log2(1 + 1/pi), onde pi é a probabilidade da alternativa i, caso tenham probabilidades diferentes.

k ≈ 150 ms (constante obtida empiricamente).

Exercício: Tempo de busca em listas

Calcular o tempo médio necessário para achar um livro em uma lista de 25, 50 e 100 livros:

  • 25 livros: T = 150 x log2(25+1) ≈ 705 ms
  • 50 livros: T = 150 x log2(50+1) ≈ 850,86 ms
  • 100 livros: T = 150 x log2(100+1) ≈ 998,73 ms

Nota: Assumindo ordem alfabética e sem necessidade de rolagem.

Lei de Fitts

Relaciona o tempo (T) que uma pessoa leva para apontar para algo com o tamanho...

Continue lendo "Fundamentos de IHC: Lei de Hick, Lei de Fitts, Gestalt e Cores" »

Guia prático de comandos SQL: DDL e DML com exemplos

ComputaçãoAtualizado em 2,66 KB

Criando tabelas no Banco de Dados

CREATE TABLE Parentesco (
  ID NUMBER(4),
  Descricao VARCHAR2(75) NOT NULL,
  CONSTRAINT PK_Parentesco PRIMARY KEY (ID)
);

CREATE TABLE Pessoa (
  CPF NUMBER(11),
  Nome_completo VARCHAR2(150) NOT NULL,
  DT_nascimento DATE,
  Sexo CHAR(1),
  ID_parentesco NUMBER(4),
  CONSTRAINT PK_pessoa PRIMARY KEY (CPF),
  CONSTRAINT Check_date CHECK (DT_nascimento >= TO_DATE('01/01/1920', 'DD/MM/YYYY')),
  CONSTRAINT Check_Sexo CHECK (Sexo IN ('M', 'F')),
  CONSTRAINT FK_ID_Pessoa FOREIGN KEY (ID_parentesco) REFERENCES Parentesco(ID)
);

Inserindo registros nas tabelas

INSERT INTO Parentesco (ID, Descricao) VALUES (9000, 'EU');
INSERT INTO Parentesco (ID, Descricao) VALUES (9100, 'Pai');

INSERT INTO Pessoa (CPF, Nome_
...
Continue lendo "Guia prático de comandos SQL: DDL e DML com exemplos" »

Arquiteturas de Computadores: Von Neumann, Harvard, RISC, CISC e DSP

ComputaçãoAtualizado em 4,85 KB

Arquiteturas de Computadores

Características Ineficientes da Arquitetura de Von Neumann

1. Programas e dados são armazenados em uma única memória sequencial, o que pode criar um retardo na operação do sistema.

2. Não há distinção explícita na representação entre dados e instruções.

3. Ambientes de linguagem de programação de alto nível utilizam várias estruturas de dados, mas a memória possui apenas uma dimensão, logo tais estruturas devem ser linearizadas.

4. A representação dos dados não retém nenhuma informação quanto ao tipo de dado armazenado.

Melhorias:

1. Essa arquitetura fornece caminhos independentes para dados de endereços, dados, endereços de instruções e instruções. Isso permite à CPU acessar instruções...

Continue lendo "Arquiteturas de Computadores: Von Neumann, Harvard, RISC, CISC e DSP" »

Exercícios de Arquitetura de Solução em Computação em Nuvem: TOGAF e Modelos de Nuvem

ComputaçãoAtualizado em 3,82 KB

Arquitetura de Solução de Computação em Nuvem

1. Sobre as arquiteturas de TI, leia as afirmações a seguir e assinale a alternativa correta:

I. Há três principais arquiteturas: a baseada em mainframes, a cliente-servidor e a utilização de datacenters e virtualização.

II. Na arquitetura cliente-servidor, há um computador de grande porte que processa as informações em grande quantidade, e os terminais dos usuários servem como entrada ou saída de dados.

III. Os avanços significativos nas conexões de internet e altas velocidades de comunicação colaboraram para tornar a arquitetura em nuvem uma opção interessante para a infraestrutura de TI.

  • A. Apenas a informação I está correta
  • B. As afirmações I e II estão corretas
  • C. As afirmações
...
Continue lendo "Exercícios de Arquitetura de Solução em Computação em Nuvem: TOGAF e Modelos de Nuvem" »

RISC vs CISC: evolução e diferenças das arquiteturas de CPU

ComputaçãoAtualizado em 3,28 KB

A abordagem mais comum para a comparação entre RISC e CISC é listar as características de ambas e colocá-las “lado a lado”, discutindo como cada uma influencia o desempenho. Esta abordagem é correta ao comparar tecnologias contemporâneas, como sistemas operativos ou placas de vídeo, mas falha ao analisar o debate entre RISC e CISC. Estas não são apenas tecnologias, mas sim filosofias de projeto de CPU — estratégias para atingir objetivos definidos perante problemas específicos.

Na aplicação destas estratégias, os projetistas consideraram as limitações tecnológicas da época. Compreender essas restrições é a chave para entender ambas as arquiteturas, exigindo um contexto histórico para além de simples benchmarks.

Para...

Continue lendo "RISC vs CISC: evolução e diferenças das arquiteturas de CPU" »

Modelagem Estrutural e Comportamental: Diagramas de Interação, Sequência, Colaboração e Estado

ComputaçãoAtualizado em 3,68 KB

A modelagem estrutural é a análise da estrutura do sistema, dos objetos e de seus relacionamentos. Este modelo é desenvolvido em camadas.

Modelagem Estrutural

São montados os diagramas de interação, mostrando o relacionamento dos módulos e subsistemas.

Diagrama de Interação

Uma interação é uma especificação comportamental que inclui uma sequência de trocas de mensagens entre um conjunto de objetos para alcançar um propósito.

Diagramas de Interação: Uso

Deve ser usado quando se deseja visualizar o comportamento de vários objetos dentro de um único caso de uso, a partir das mensagens passadas entre eles. O ponto forte desses diagramas é sua simplicidade.

Diagramas de Sequência e Colaboração

São descendentes dos diagramas de...

Continue lendo "Modelagem Estrutural e Comportamental: Diagramas de Interação, Sequência, Colaboração e Estado" »

RUP, XP e Scrum: resumo dos processos de desenvolvimento de software

ComputaçãoAtualizado em 3,34 KB

Processo Unificado (RUP)

“Rational” é o nome da empresa. O RUP é um processo formado por subprocessos, onde cada parte do ciclo de vida possui processos para personalizar o RUP às suas necessidades.

O RUP (ou simplesmente UP) é, na realidade, um conjunto de processos e métodos que usam a UML para modelar os mais variados aspectos do desenvolvimento de software. Seus autores argumentam que se trata de um framework para gerar processos. Sua meta é garantir a produção de software de alta qualidade que atenda às necessidades dos usuários dentro de um cronograma e de um orçamento previsíveis.

Fases do RUP

  • Iniciação (Inception)
  • Elaboração (Elaboration)
  • Construção (Construction)
  • Transição (Transition)

Iterações são entregas. “As...

Continue lendo "RUP, XP e Scrum: resumo dos processos de desenvolvimento de software" »

Fundamentos da Análise e Desenvolvimento de Sistemas: papéis, modelos e fases

ComputaçãoAtualizado em 3,99 KB

Para o sucesso de um projeto de sistema, é fundamental compreender suas características e os sistemas que a empresa realmente necessita.

Papéis Essenciais no Desenvolvimento de Sistemas

Analista de Perfil

Mais voltado para a especificação dos requisitos do que para o conhecimento da programação e operação de máquinas.

Analista de Sistemas

É responsável por especificar os requisitos do sistema do ponto de vista da eficácia, ou seja, garantir que o sistema alcance os objetivos globais da empresa. Trata-se de certificar-se de que o sistema fará o que precisa ser feito, independentemente da instrução que será dada para se chegar a esse objetivo.

Projetista

Tem como papel focar na eficiência, isto é, voltado para a obtenção do melhor

...
Continue lendo "Fundamentos da Análise e Desenvolvimento de Sistemas: papéis, modelos e fases" »

Multicast em Sistemas Distribuídos: Confiabilidade, Ordenação e Gerenciamento de Grupos

ComputaçãoAtualizado em 2,65 KB

Distinção entre Grupos Sobrepostos e Não Sobrepostos

  • Grupos Sobrepostos: Entidades podem pertencer a vários grupos.
  • Grupos Não Sobrepostos: Qualquer processo pertence, no máximo, a um grupo.

Três Propriedades da Confiabilidade de Mensagens Multicast

  • Integridade: A mensagem recebida é a mesma que foi enviada, e nenhuma mensagem é entregue duas vezes.
  • Validade: Garante que a mensagem será entregue.
  • Acordo: Garante que, se a mensagem é entregue para um processo, então ela é entregue para todos os processos.

Três Tipos de Ordenação de Entrega de Mensagens Multicast

  • Ordem FIFO (First-In-First-Out): O primeiro a entrar é o primeiro a sair. Preserva a ordem da perspectiva do processo remetente.
  • Ordem Causal: Se uma mensagem acontece antes
...
Continue lendo "Multicast em Sistemas Distribuídos: Confiabilidade, Ordenação e Gerenciamento de Grupos" »

Arquitetura e Organização de Computadores: conceitos, componentes e barramentos

ComputaçãoAtualizado em 5,09 KB

Arquitetura e Organização de Computadores

A arquitetura de um computador refere-se aos atributos de um sistema que são visíveis para o programador. Exemplos: formas de endereçamento da memória.

Uma arquitetura criada há décadas e que é famosa até os dias atuais é a x86, que se iniciou com o processador Intel 8086 em 1978, seguido pelos seus descendentes: 8088, 80286, 80386, 80486 e Pentium. Esse fato demonstra que uma arquitetura pode sobreviver por muitos anos, enquanto sua organização pode mudar conforme a evolução da tecnologia. É possível, portanto, existirem diversas organizações diferentes baseadas em uma única arquitetura. Além disso, a evolução na organização pode gerar alterações na arquitetura, possibilitando...

Continue lendo "Arquitetura e Organização de Computadores: conceitos, componentes e barramentos" »