Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Conceitos Fundamentais de Memória e Algoritmos em Computação, Notas de estudo de Introdução à Computação

Este material aborda os conceitos da memória principal de um computador, sua organização e comunicação com a CPU, explorando o sistema de endereçamento, a conexão memória-CPU e os barramentos do sistema. Discute bases numéricas, conversões, tipos de dados, operações e funções matemáticas em programação, com exemplos práticos e exercícios para cálculos em campeonatos e preços. Aborda problemas de geometria e logística, como cálculo de perímetro e embalagem de parafusos, com trechos de código C++. Valioso para estudantes de ciência da computação, oferece uma base sólida em hardware e programação, consolidando o aprendizado com exemplos práticos e teoria.

Tipologia: Notas de estudo

2018

Compartilhado em 11/08/2025

hugo-da-silva-souza-3
hugo-da-silva-souza-3 🇧🇷

6 documentos

1 / 67

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
apresentação da disciplina
duas aulas de teoria e
duas aulas de laboratório (carga semanal)
resumo dos trabalhos
introdução ao desenvolvimento de algoritmos
introdução a uma linguagem de programação: Linguagem C/C++
1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43

Pré-visualização parcial do texto

Baixe Conceitos Fundamentais de Memória e Algoritmos em Computação e outras Notas de estudo em PDF para Introdução à Computação, somente na Docsity!

apresentação da disciplina

duas aulas de teoria e

duas aulas de laboratório (carga semanal)

resumo dos trabalhos

introdução ao desenvolvimento de algoritmos

introdução a uma linguagem de programação: Linguagem C/C++

Objetivos

O estudante deverá desenvolver capacidades e habilidades para:

  • discutir e analisar situações correspondentes a problemas variados que

envolvam conceitos já estudados (Física, Química, Matemática, ... ) ,

conceitos relativos ao cotidiano e conceitos específicos da área de

Informática;

  • estabelecer os métodos de resolução desses problemas e descrever esses

métodos utilizando uma linguagem algorítmica;

  • implementar programas de computador, correspondentes às soluções

desses problemas, utilizando um ambiente de programação ( DEV C++ ).

Observação importante:

O estudante deve se colocar como o protagonista nas atividades de

aprendizagem.

Atividades de Avaliação- Média final

Serão realizadas, durante o semestre, provas P2 e P3 , conforme calendário

definido pela coordenação dos cursos.

A prova P3 é substitutiva (pode substituir a nota P2 caso o estudante não tenha

realizado a prova P2 ou não tenha obtido aprovação).

Nessas provas não será permitida consulta a livros, apostilas ou anotações.

O fator será definido em função da participação e desempenho do estudante nas

atividades propostas durante as aulas de Laboratório.

Cálculo da média final: MF = P2 x fator

Para ser aprovado o aluno deve ter no mínimo média final 5,0 e frequência em

pelo menos 75% das aulas

Bibliografia

Martins, C.T.K. e Rodrigues, M. “Estudo de Algoritmos – soluções em C++”.

livro digital – edição 2015

Martins, C.T.K. e Rodrigues, M. “Estudo de Algoritmos – soluções em C++”.

São Paulo: Ed Autor – 2008 reedição 2014

Salvetti, D. D. e Barbosa, L. M. “Algoritmos”. São Paulo: Makron Books – 1998.

Hubbard, J. R. “Programação em C++”. 2

ª

Ed. Porto Alegre: Bookman, 2000.

Coleção Schaum

Carboni, I. F. “Lógica de Programação”. São Paulo: Thomson, 2003.

Schildt, H. “C, completo e total”. 3a. Ed. São Paulo: Makron Books, 1996.

dado : informação codificada conhecimento informação representação dado

tipos alfanuméricos Tipos de dados básicos em uma linguagem de programação tipo lógico tipos numéricos quantidades, medidas, valores monetários ... valores lógicos: verdadeiro/falso identificadores, códigos não numéricos ...

abstração

memória

armazena dados armazena instruções

processador

realiza operações que modificam o conteúdo da memória

arquitetura Von

Neumann

linguagens de

programação

imperativas

variável

armazena dados

comandos - instruções

especificam ações que modificam os conteúdos de variáveis

variável

  • abstração de um conjunto de células de memória
  • finalidade: armazenar dados correspondentes às informações

tratadas pelo programa

  • (alguns) atributos de uma variável:

o nome (identificador da variável)

o tipo (tipo de dado que a variável pode armazenar)

o valor (conteúdo armazenado na variável - dinâmico)

o endereço

memória principal - organização

As memórias são estruturadas em conjuntos ordenados (sequências) de bits (dígitos binários), denominados células, cada uma com capacidade para armazenar um segmento de dado (informação) ou de instrução. Se uma célula consistir de k bits ela poderá armazenar, a cada momento, uma entre 2 k^ diferentes combinações de bits. 0 0 1 1 1 0 0 1 0 1 1 0 0 0 1 1 1 1 1 1 1 1 0 1

memória principal - organização Cada célula é identificada por um número, chamado de endereço. É esse mecanismo (endereçamento) que torna possível o acesso aleatório a cada célula de memória. Célula pode ser interpretada como a menor parte de memória endereçável. Se uma memória tem n células, o sistema de endereçamento enumera as células sequencialmente de zero até n- 1. Observação: cada endereço é um valor binário (valor inteiro na base 2).

memória principal organização exemplo de modelo Memória com 8 células de 8 bits (1 byte), assim o sistema de endereçamento pode ser estruturado com valores binários de 3 bits:

endereço 0  000

endereço 1  001

endereço 2  010

endereço 7  111

endereço (3 bits) célula (8 bits)

memória principal conexão entre Memória e Unidade Central de Processamento A conexão envolve três vias principais, denominadas barramentos. Finalidade de cada barramento do sistema: Barramento de endereço - é unidirecional e carrega as saídas de endereço binário da CPU para os circuitos de memória, para selecionar uma célula de memória. Barramento de dados - barramento bidirecional que carrega dados entre a CPU e os circuitos de memória. Barramento de controle - carrega sinais de controle da CPU para os circuitos de memória (sinais que definem o tipo de operação: leitura/escrita).

(Pequeno espaço para apresentar o conceito de bases numéricas)

Apresentaremos um resumo de características de bases numéricas para

que seja possível transitar entre as formas de registros em três bases de

interesse (em relação aos sistemas computacionais):

binária (base 2),

decimal (base 10) e

hexadecimal (base 16).

Algarismos:

na base 2: 0 ou 1 (dois algarismos)

na base 10: 0, 1, 2, ... 9 (dez algarismos)

na base 16: 0, 1, 2, ... 9, A, B, C, D, E, F ( dezesseis “algarismos”)

Bases numéricas

Valor posicional

Na escrita de um valor, associa-se a cada algarismo o seu valor

posicional, que é a potência da base correspondente à posição do

algarismo, assim por exemplo:

quando escrevemos 452 (base decimal)

a interpretação é : 2 unidades mais 5 dezenas mais 4 centenas

ou seja: 2x1+5x10+4x

Da mesma forma

quando escrevemos 4AE (base hexadecimal) deve-se associar o valor: Ex1+Ax16+ 4 x 2

ou ainda (conversão para decimal): 14x1+10x16+4x256 = 1198

Qual é o valor decimal correspondente ao valor binário 101011?