Estrutura de Dados. Ricardo José Cabeça de Souza www.ricardojcsouza.com.br ricardo.souza@ifpa.edu.br. Parte 1



Documentos relacionados
Algoritmos e Linguagem de Programação de Computadores I

Apresentação. Rio de Janeiro, 19 de fevereiro de 2002 Waldemar Celes

INF1004 e INF1005: Programação 1. Introdução à Programação

Organização de Computadores

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES

Introdução à Programação

Introdução. INF1005 Programação I 33K Prof. Gustavo Moreira gmoreira@inf.puc-rio.br

AULA 2: INTRODUÇÃO A LINGUAGEM DE C. Curso: Ciência da Computação Profª.: Luciana Balieiro Cosme

Aula 2 Modelo Simplificado de Computador

Prof. Dr. Charlie Antoni Miquelin BÁSICO DE COMPUTAÇÃO EM TC

Introdução aos Computadores

Programação de Computadores

Introdução à Arquitetura de Computadores

1 Modelo de computador

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

Introdução à Lógica de Programação

Introdução à Programação de Computadores

Web site. Objetivos gerais. Introdução. Profa. Patrícia Dockhorn Costa

Fundamentos de Microinformática. Ricardo José Cabeça de Souza 2010 Fundamentos 3

PROCESSAMENTO DE DADOS

INFORMÁTICA BÁSICA. Prof. Rafael Zimmermann

Memória principal; Unidade de Controle U C P. Unidade Lógica e Aritmética

LÓGICA DE PROGRAMAÇÃO

Aula 01 Introdução à Informática. Prof. Bruno Gomes

Informática. Prof. Macêdo Firmino. Macêdo Firmino (IFRN) Informática Setembro de / 25

1.1. Organização de um Sistema Computacional

Figura 1 - O computador

1 - Processamento de dados

Estrutura de Dados. Ricardo José Cabeça de Souza Parte 4

ALP Algoritmos e Programação. . Linguagens para Computadores

Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre

Lição 1 Introdução à programação de computadores

SIMULADO Windows 7 Parte V

Apostila Informática Básica. 1.0 Introdução 1/14

PRONATEC FUNDAMENTOS DE HARDWARE. Prof. Kilmer Pereira

Estrutura de um Computador. Linguagem de Programação Rone Ilídio UFSJ - CAP

Algoritmos e Programação _ Departamento de Informática

Introdução a Informática. Prof.: Roberto Franciscatto

MANUTENÇÃO DE MICRO. Mário Gomes de Oliveira

MC-102 Aula 01. Instituto de Computação Unicamp

Componentes de um computador típico

Programação de Computadores. Turma CI-180-B. Josiney de Souza.

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO

Estrutura de Dados. Ricardo José Cabeça de Souza Parte 2

Estrutura geral de um computador

Computação Eletrônica

Informática, Internet e Multimídia

O Processo de Programação

O objetivo desta prática é ensinar como usar a máquina chamada computador visível ou vc0, um simulador de computador de von Neumann escrito em Java.

Introdução à Programação

Capacidade = 512 x 300 x x 2 x 5 = ,72 GB

O que é um programa? Programa é uma lista de instruções que descrevem uma tarefa a ser realizada pelo computador.

Algoritmos e Programação Estruturada

CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA

Algoritmos e Programação Aula 01 Introdução a Computação

Arquitetura e Organização de Computadores Introdução à Organização do Computador

Arquitetura de Computadores. Tipos de Instruções

Sistemas Numéricos bit / Byte BIT BYTE. Prof. Celso Candido ADS / REDES / ENGENHARIA

MC102 Algoritmos e Programação de Computadores 1ª Aula Introdução à Programação de Computadores

UCP. Memória Periféricos de entrada e saída. Sistema Operacional

Software Básico (INF1018)

Introdução à Programação 2006/07. Computadores e Programação

COMPUTADOR SIMPLIFICADO E COMPUTADOR DIGITAL. Algoritmos e Programação APG0001

Software. Professora Milene Selbach Silveira Prof. Celso Maciel da Costa Faculdade de Informática - PUCRS

Algoritmos e Linguagem de Programação I

3. Arquitetura Básica do Computador

Tecnologia da Informação. Prof Odilon Zappe Jr

Programa A busca da formação integral de adolescentes que habitam as periferias e bolsões de miséria em Cascavel/PR através da saúde, do meio

Sistemas Operacionais

Resolução de problemas e desenvolvimento de algoritmos

UNIVERSIDADE FEDERAL DE UBERLÂNDIA Faculdade de Computação Curso de Introdução à Informática Prof: Anilton Joaquim da Silva / Ezequiel Roberto Zorzal

Representação Binária de Dados

Sistemas Operacionais. Prof. André Y. Kusumoto

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA INFORMÁTICA APLICADA

IFTO LÓGICA DE PROGRAMAÇÃO AULA 01

Sistemas Operacionais. Andrique Amorim Gerência de Arquivos

Introdução às Linguagens de Programação

Dispositivos de Entrada e Saída

Capítulo I : Noções Gerais

Processamento de Dados

20 Caracteres - Tipo char

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01

Escola Secundária c/3º CEB José Macedo Fragateiro. Curso Profissional de Nível Secundário. Componente Técnica. Disciplina de

FundamentosemInformática

Sistema de Computação

Informática básica Telecentro/Infocentro Acessa-SP

GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - MILLENNIUM

Curso: Técnico de Informática Disciplina: Redes de Computadores. 1- Apresentação Binária

PROGRAMAÇÃO JAVA. Parte 1

Introdução. Capítulo Breve sinopse

Aula teórica 3. Tema 3.Computadores e linguagens Linguagens de Programação Compilação e linkagem LP Java. Preparado por eng.

Computação L2. Arquivos. Observação: Material da Disciplina Computação Eletrônica CIN/UFPE.

Hardware Básico. - Conceitos Básicos - Números Binários - Principais Componentes. Professor: Wanderson Dantas

Binária. Introdução à Informática. Introdução à Informática. Introdução à Informática. Introdução à Informática. Bit. Introdução à Informática

ANÁLISE E IMPLEMENTAÇÃO DE ALGORITMOS DE COMPRESSÃO DE DADOS. Maria Carolina de Souza Santos 1 Orientador: Prof.º Ms.

Algoritmos. Cláudio Barbosa

Programação Básica em STEP 7 Operações Binárias. SITRAIN Training for Automation and Drives. Página 6-1

5 Entrada e Saída de Dados:

Transcrição:

Estrutura de Dados Ricardo José Cabeça de Souza www.ricardojcsouza.com.br Parte 1

MODELO DE UM COMPUTADOR CPU Central Processing Unit

MODELO DE UM COMPUTADOR O canal de comunicação (conhecido como BUS) Meio para a transferência de dados entre os diversos componentes Na memória principal São armazenados os programas e os dados no computador Tem acesso randômico, o que significa se pode endereçar (isto é, acessar) diretamente qualquer posição da memória Memória não é permanente(volátil) Dados são armazenados enquanto o programa está sendo executado Após o término do programa, a área ocupada na memória fica disponível para ser usada por outras aplicações

MODELO DE UM COMPUTADOR A área de armazenamento secundário Representada por um disco (disco rígido, pen driver, etc. Tem a vantagem de ser permanente Tem um custo mais baixo do que a memória principal Acesso aos dados é bem mais lento Dispositivos de entrada e saída Dispositivos de entrada (por exemplo, teclado, mouse) permitem passarmos dados para um programa Dispositivos de saída permitem que um programa exporte seus resultados, por exemplo em forma textual ou gráfica usando monitores ou impressoras

ARMAZENAMENTO DE DADOS E PROGRAMAS NA MEMÓRIA A memória do computador é dividida em unidades de armazenamento chamadas bytes Cada byte é composto por 8 bits, que podem armazenar os valores zero ou um Todas as informações (programas, textos, imagens, etc.) são armazenadas usando uma codificação numérica na forma binária Na representação binária, os números são representados por uma sequência de zeros e uns Por exemplo, o número decimal 5 é representado por 101, pois 1*2 2 + 0*2 1 + 1*2 0 é igual a 5 Não é possível endereçar diretamente um bit

ARMAZENAMENTO DE DADOS E PROGRAMAS NA MEMÓRIA Para ser possível armazenar uma sequência de caracteres, que representa o texto, atribui-se a cada caractere um código numérico Por exemplo, pode-se associar ao caractere 'A' o código 65, ao caractere 'B' o código 66, e assim por diante Se todos os caracteres tiverem códigos associados (inclusive os caracteres de pontuação e de formatação), podemos armazenar um texto na memória do computador como uma sequência de códigos numéricos

ARMAZENAMENTO DE DADOS E PROGRAMAS NA MEMÓRIA Um computador só pode executar programas em linguagens de máquina Cada programa executável é uma sequência de instruções que o processador central interpreta, executando as operações correspondentes Esta sequência de instruções também é representada como uma sequência de códigos numéricos Os programas ficam armazenados em disco e, para serem executados pelo computador, devem ser carregados (transferidos) para a memória principal Uma vez na memória, o computador executa a sequência de operações correspondente

INTERPRETAÇÃO VERSUS COMPILAÇÃO Qualquer computador não pode executar programas em sua forma original, apenas programas na linguagem de máquina No caso da interpretação, um programa interpretador (I M ), escrito em M, lê o programa P S escrito em S e simula cada uma de suas instruções, modificando os dados do programa da forma apropriada No caso da compilação, um programa compilador (C M ), escrito em M, lê o programa P C, escrito em C, e traduz cada uma de suas instruções para M, escrevendo um programa P M cujo efeito é o desejado Como consequência deste processo, P M, por ser um programa escrito em M, pode ser executado em qualquer máquina com a mesma linguagem de máquina M, mesmo que esta máquina não possua um compilador.

Interpretação

Compilação

EXEMPLO DE CÓDIGO EM C Consideremos um programa que tem a finalidade de converter valores de temperatura dados em Celsius para Fahrenheit

EXEMPLO DE CÓDIGO EM C

COMPILAÇÃO DE PROGRAMAS EM C Desenvolvimento programas em uma linguagem como C, precisamos de, no mínimo, um editor e um compilador Com o editor de textos, escrevemos os programas fontes, que são salvos em arquivos Com o compilador, transformamos os programas fontes em programas objetos, em linguagem de máquina, para poderem ser executados Os programas fontes são, em geral, armazenados em arquivos cujo nome tem a extensão.c Os programas executáveis possuem extensões que variam com o sistema operacional: no Windows, têm extensão.exe ; no Unix (Linux), em geral, não têm extensão Com o compilador gcc, na linha de comando do sistema operacional, digitar: > gcc o prog prog.c

COMPILAÇÃO DE PROGRAMAS EM C Desenvolvimento programas em uma linguagem como C, precisamos de, no mínimo, um editor e um compilador Com o editor de textos, escrevemos os programas fontes, que são salvos em arquivos Com o compilador, transformamos os programas fontes em programas objetos, em linguagem de máquina, para poderem ser executados Os programas fontes são, em geral, armazenados em arquivos cujo nome tem a extensão.c Os programas executáveis possuem extensões que variam com o sistema operacional: no Windows, têm extensão.exe ; no Unix (Linux), em geral, não têm extensão

COMPILAÇÃO DE PROGRAMAS EM C Com o compilador gcc, na linha de comando do sistema operacional, digitar: Execução > gcc o prog prog.c >./prog

VERIFICAÇÃO E VALIDAÇÃO Programas podem conter (e, em geral, contêm) erros, que precisam ser identificados e corrigidos

VERIFICAÇÃO E VALIDAÇÃO Este ciclo pode ser realizado usando programas (editor, compilador, ligador) separados ou empregando um ambiente integrado de desenvolvimento (Integrated Development Environment, ou IDE) IDE é um programa que oferece janelas para a edição de programas e facilidades para abrir, fechar e salvar arquivos e para compilar, ligar e executar programas

Estrutura de Dados REFERÊNCIAS Tenenbaum, Aaron M. Langsam, Yedidyah, Augenstein, Moshe J. Estruturas de dados usando C. São Paulo : MAKRON Books, 1995. Veloso, Paulo. et. al. Estrutura de dados. Rio de Janeiro: Campus, 1986. Moraes, Celso Roberto. Estrutura de dados e algoritmos. 2. ed. São Paulo: Futura, 2003. Celes, W. Rangel, J. L. Curso de Estrutura de Dados. PUC- Rio, 2002. W. Celes, R. Cerqueira, J.L. Rangel. Introdução a Estruturas de Dados - com técnicas de programação em C. Rio de Janeiro: Campus, 2004.