Versão 0.4. Capítulo 3. Algoritmos e linguagens de programação
|
|
- Ilda Maria Antonieta de Escobar Sintra
- 7 Há anos
- Visualizações:
Transcrição
1 Versão 0.4 Capítulo 3 Algoritmos e linguagens de programação Um computador é projetado de tal forma que pode desempenhar funções que sequer foram imaginadas quando da época de sua concepção. Mas, para isso, é preciso que um programa seja nele instalado para que possa ser executado. Como vimos nos capítulos anteriores, tudo que o computador executa deve ser feito por circuitos eletrônicos digitais, cujas instruções têm que necessariamente ser expressas em termos de zeros e uns. Para introduzir os conceitos de linguagens de programação iremos simplificar ainda mais uma linguagem de programação que foi desenvolvida com o propósito de ensinar programação em linguagem de máquina, que é o nível mais próximo da linguagem que o processador entende, que é de zeros e uns. Usaremos a linguagem Hipo (de computador HIPOtético), desenvolvida pelo Prof Valdemar Setzer, a partir de um sub- conjunto das instruções de um computador real (IBM 1620, fabricado na década de 1960, Setzer, 2000). Imaginem que cada instrução corresponda a uma parte de um circuito eletrônico como mostrado no capítulo anterior. Assim, um programa é uma série de instruções.
2 Instruções do computador eletrônico digital Hipo Núm. Mnemônico O que é executado e sintaxe 11 LDA NN Copia o conteúdo da memória localizada no endereço NN para o acumulador. 12 STA NN Copia o conteúdo do acumulador para a memória localizada no endereço NN. 21 ADD NN Adiciona o conteúdo da memória de endereço NN com o conteúdo do acumulador e grava o resultado no acumulador. 22 SUB NN Subtrai o conteúdo da memória de endereço NN do conteúdo do acumulador e grava o resultado no acumulador 23 MUL NN Multiplica o conteúdo da memória de endereço NN pelo conteúdo do acumulador e coloca o resultado no acumulador 24 DIV NN Divide o conteúdo da memória de endereço NN pelo acumulador e coloca o resultado no acumulador 25 REM NN Divide o conteúdo da memória de endereço NN pelo acumulador e coloca o resto da divisão no acumulador. 29 REV Muda o sinal do conteúdo do acumulador. 31 INN NN Lê um número que foi digitado do teclado e o guarda no endereço NN da memória. 41 PRN NN Imprima a representação decimal do conteúdo da memória com endereço NN. 50 NOP Não executa operação alguma. 51 JMP NN Muda a posição da instrução corrente para a posição NN incondicionalmente. 52 JLE NN Muda a posição da instrução corrente para a posição NN se o valor armazenado no acumulador for menor ou igual a zero. 53 JDZ NN Muda a posição da instrução corrente para a posição NN se o valor armazenado no acumulador for diferente de zero. 54 JGT NN Muda a posição da instrução corrente para a posição NN se o valor armazenado no acumulador for maior que zero. 55 JEQ NN Muda a posição da instrução corrente para a posição NN se o valor armazenado no acumulador for igual a zero. 56 JLT NN Muda a posição da instrução corrente para a posição NN se o valor armazenado no acumulador for menor que zero. 57 JGT NN Muda a posição da instrução corrente para a posição NN se o valor armazenado no acumulador for menor que zero. 58 JGE NN Muda a posição da instrução corrente para a posição NN se o valor armazenado no acumulador for menor que zero. 70 STP Interrompe a execução do programa.
3 Um programa que lê, no teclado, o valor de dois números e apresenta a sua soma no dispositivo de saída seria escrito assim, de acordo com a linguagem de programação simplificada acima: 010 INN INN LDA ADD STA PRN STP 00 Para cada instrução há três valores (instruções que não se referem a um endereço são preenchidas com 00). O primeiro valor (obrigatório) é número de ordem da instrução. Os números de ordem não precisam ser sequenciais (como 21,22,23, etc.) mas as instruções serão executadas na ordem crescente a menos que uma instrução de controle de fluxo (desvio) seja executada. Lembrem- se que essa linguagem é da época de cartões perfurados, a numeração dos cartões eram muito úteis, por exemplo, quando acidentalmente eles se espalhavam ao cair no chão... O número a seguir é aquele correspondente à instrução. O terceiro valor é o endereço da memória que é acessado (gravado ou recuperado) durante a instrução executada. Evidentemente o computador não entenderia essas instruções, mas sim aquelas correspondentes aos números binários dessas instruções. Assim, na primeira linha o primeiro valor seria 1010 (10 decimal, ignoraremos os zeros à esquerda), o segundo seria (31 decimal, que corresponde à instrução INN) e o terceiro seria (77 decimal, endereço da memória escolhido). Assim, em binário, completando os zeros à esquerda para termos 1 byte de informação para cada valor, o programa quase inteligível para uma máquina seria: Mas os bits acima estão organizados em blocos de 8 bits acima, como o processador já sub- entende isso, o programa eletronicamente viável seria: Essa é a verdadeira linguagem de máquina, algo que nós, humanos temos muita dificuldade em entender em termos do que o computador faz com essas instruções, a menos que você seja um engenheiro eletrônico muito NERD. As linguagens de programação podem ser classificadas em níveis. A série de zeros e uns acima, que é a única linguagem que o computador realmente entende, está no nível mais baixo. Existem, felizmente, linguagens de níveis mais alto, mais distantes portanto da linguagem de máquina e mais próximas da linguagem
4 humana. Aquilo que nós podemos fazer manualmente, que foi a transformação do código com mnemônicos (assembler) em binário (tabela 1) Tabela 1. Correspondência de instruções em assembler para linguagem de máquina. Código assembler Linguagem de máquina 010 INN INN LDA ADD STA PRN STP Essa operação, embora muito fácil, é muito mais que entediante e sujeita a erros dificílimos de serem percebidos posteriormente sem uma verificação incrivelmente maçante. Felizmente, essa tarefa é desempenhada por programas, conhecidos como compiladores ou interpretadores assembler, que fazem a transformação automática do programa escrito em assembler para a linguagem de máquina. Algoritmos Algoritmos podem ser considerados como conjuntos de procedimentos logicamente encadeados que servem para executar tarefas. Nós emitimos e recebemos ordens para realizar tarefas. Por exemplo, uma mãe pode solicitar aos filhos que arrumem as suas camas depois que levantarem. Essa mãe se expressa em uma linguagem de alto nível, pois arrumar a cama implica uma série de procedimentos mais simples que poderiam ser assim descritos: 1. Comece a arrumar a cama. 2. Verifique se a cama está arrumada. Sim: Encerre a sua atividade; comunique ã sua mãe: Mãe, terminei! ; Vá para o passo 8. Não: Continue no passo Verifique se o elemento [fronha],[cobertor],[travesseiro],[lençóis] está sujo: Sim: Coloque o elemento sujo no saco de lavanderia; pegue um limpo. Não: Tire o elemento da cama; Verifique o próximo elemento. 4. O elemento era o último da lista? Sim: Vá para a instrução 5. Não: Volte para a instrução 3 e mude para o próximo elemento. 5. Coloque adequadamente os elementos na cama [lençol 1], [travesseiro], [fronha], [lençol 2], [cobertor] 6. O elemento era o último da lista? Sim: Vá para a instrução 2. Não: Volte para a instrução 5 e mude para o próximo elemento. 8. Término da tarefa. Se refletirmos mais profundamente, mesmo cada uma dessas instruções são emitidas em um nível muito alto. Aquilo que seria equivalente, em linguagem de
5 máquina de computador, para instruções executadas por nós seria a intensidade e a duração de cada contração de cada um dos músculos de nosso corpo, em função da informação colhida por células táteis, pressoceptoras, receptoras da retina, receptoras de sons da cóclea e de equilíbrio da orelha interna, etc. Assim, existe algo em nosso sistema nervoso que faz o papel de interpretador e/ou compilador mas que não pertence ao domínio de nossa consciência.
6 Fluxogramas Uma das maneiras de facilitar o entendimento e a implementação de um algoritmo é a confecção de fluxogramas. Os fluxogramas evidenciam a estrutura do algoritmo considerado. Alguns símbolos usados em fluxogramas estão mostrados na figura 1. Figura 1. Símbolos usados em fluxogramas e seu significado Figura 2. Exemplo de fluxograma com o algoritmo arrume a cama. Linguagens interpretadas e linguagens compiladas Os códigos de nível mais alto do que a linguagem de máquina, como vimos, para serem executados, precisam primeiro ser transformados em zeros e uns. Isso pode ser feito de duas maneiras, através de programas interpretadores e através
7 de programas compiladores. Com o emprego de programas interpretadores, o código de alto nível é transformado em linguagem de máquina, linha a linha, durante o próprio processamento. Os compiladores fazem essa transformação antes do processamento, tudo de uma vez. A vantagem dos programas compilados é que são ligeiramente mais rápidos e não necessitam da presença, na memória, do programa interpretador. Os programas compilados, no entanto, são completamente ininteligíveis e tornam a tarefa de encontrar erros em tempo de processamento muito mais difícil. Breve histórico das linguagens de programação. Antes que os programas fossem armazenados na memória, os computadores eram programados pela modificação na posição de fios que interconectam os circuitos eletrônicos. Na figura 3, parte de um computador da década de 1940 mostrando os painéis de mudança de fiação. Assim, um computador que tivesse uma determinada combinação de fios interligados serviria para executar um tipo de tarefa somente. Figura 3. Painéis de mudança de fiação do computador ENIAC (circa 1950). Fotografia cortesia das forças armadas norte- americanas (domínio público). A primeira linguagem de nível maior que o assembler de uso disseminado foi a linguagem FORTRAN, elaborada em O nome se origina da contração dos sufixos de formula e de translation, algo como tradutor de fórmulas. Essa linguagem, em suas primeiras versões, admitia que os programas eram para ser escritos em cartões perfurados de 80 colunas. As primeiras 6 colunas eram reservadas para numeração das linhas de código, onde fosse necessário. A sétima coluna era reservada para
8 continuação de linhas que precisassem ultrapassar os espaços disponíveis de um único cartão. As instruções eram escritas da 8 a até a 72 a coluna. Os comentários (que não são levados em consideração durante a execução), são extremamente úteis para as pessoas entenderem o que o programa executa em cada momento, seja por pessoas que não foram os criadores do programa, seja pelo próprio programador, que facilmente pode se esquecer do que ele pretendia com aquelas instruções após certo tempo. Os comentários obrigatoriamente iniciavam- se com a letra C (de comment ) na primeira coluna. C AREA DE UM TRIANGULO FORMULA DE HERON C ENTRADA LEITOR DE CARTOES UNIDADE 5, NUMEROS INTEIROS C SAIDA IMPRESSORA UNIDADE 6, REAL SAIDA NUMERO INTEIRO C INPUT ERROR DISPAY ERROR OUTPUT CODE 1 IN JOB CONTROL LISTING INTEGER A,B,C READ(5,501) A,B,C 501 FORMAT(3I5) IF(A.EQ.0.OR. B.EQ.0.OR. C.EQ.0) STOP 1 S = (A + B + C) / 2.0 AREA = SQRT( S * (S - A) * (S - B) * (S - C)) WRITE(6,601) AREA 601 FORMAT(4H AREA=,F10.2,12HSQUARE UNITS) STOP END Figura 4. Exemplo de um programa em FORTRAN que calcula a área de um triângulo a partir da informação do comprimento de seus lados. O valor de cada um dos lados foi armazenado nas posições denominadas A, B e C. Note qua nesse programa não há necessidade de se lidar com endereços de memória, o compilador fará essa tarefa. O comando IF verifica se algum dos lados tem valor zero e interrompe o programa caso houver. O valor da área fica armazenado na posição da memória denominada AREA. Durante as décadas de 1960 e 1970 foram criadas a maioria das linguagens até hoje empregadas. Uma tarefa muito difícil é se fazer comparação entre linguagens de computação. Há inúmeros fatores que influenciam a escolha. Um fator muito importante é o acesso às próprias linguagens. Como a curva de aprendizado é muito lenta, o esforço investido implica uma certa inércia. Além disso, o esforço já realizado pode contar muito na escolha de uma linguagem de computação. Existem ainda membros da academia que se dedicam à linguagem FORTRAN de forma bastante ativa, pois existem muitas soluções prontas para problemas científicos, resultado de esforços de cientistas brilhantes que se debruçaram por décadas na solução de problemas. Embora haja alguns programas que fazem conversão de linguagens de programas, eles apresentam certas limitações e os códigos gerados ficam muitas vezes incompreensíveis. O resultado de um levantamento feito pelo site of- some- bioinformatics- polls.html sobre linguagens favoritas de bioinformatas está apresentado na figura 5. Esse levantamento pode ajudar na escolha de uma linguagem, embora haja também a possibilidade que se aprenda duas ou mais linguagens de programação.
9 Figura 5. Levantamento das linguagens de programação favoritas por bioinformatas.
Linguagem de Montagem do NeanderX
Universidade Estácio de Sá Curso de Informática Arquitetura de Computadores Linguagem de Montagem do NeanderX 11.5.2006 Geração Programa Executável Linguagens de Programação As linguagens de programação
Leia maisNEANDERWIN. Algumas características do processador Neander são:
NEANDERWIN O NeanderWin é um simulador da máquina Neander, definida no livro do Raul F. Weber (UFRGS), Fundamentos de Arquitetura de Computadores, Ed. Sagra Luzzatto. A máquina original foi estendida aqui
Leia maisSistema Computacional
Algoritmos e Lógica de Programação Conceitos Básicos Abstração Reinaldo Gomes reinaldo@cefet-al.br O que é um? Integração de componentes atuando como uma entidade, com o propósito de processar dados, i.e.
Leia maisLinguagens de Programação Classificação
Classificação Classificação A proximidade que a linguagem de programação tem com a humana determina sua classe (o nível): Linguagem de máquina (primeira geração) Linguagem assembly - de montagem (segunda
Leia maisProgramação de Computadores:
Instituto de C Programação de Computadores: Introdução a Linguagens de Programação Luis Martí Instituto de Computação Universidade Federal Fluminense lmarti@ic.uff.br - http://lmarti.com Seis Camadas Problema
Leia maisMAC2166 Introdução à Computação Aula 1 Como Funciona um Computador
MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador Kelly Rosa Braghetto DCC IME USP 25 de março de 2014 MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador DCC IME USP 1
Leia maisLinguagens de Programação
Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Linguagens de Programação DCA0800 - Algoritmos e Lógica de Programação Heitor Medeiros 1 Tópicos da aula
Leia maisção de Computadores I
Universidade Federal de Pelotas Instituto de Física e Matemática Departamento de Informática Bacharelado em Ciência da Computação Arquitetura e Organizaçã ção de Computadores I Aula 2 1. Projeto da Arquitetura
Leia maisInformática: termo que provém da contração das palavras Informação. Processamento de dados: operações que se praticam com dados.
Informática: termo que provém da contração das palavras Informação automática. É a ciência que estuda o tratamento automático e racional da informação. Principais funções: - desenvolvimento de novas máquinas
Leia maisPROGRAMAÇÃO I. Introdução
PROGRAMAÇÃO I Introdução Introdução 2 Princípios da Solução de Problemas Problema 1 Fase de Resolução do Problema Solução na forma de Algoritmo Solução como um programa de computador 2 Fase de Implementação
Leia maisExistem três categorias principais de linguagem de programação: linguagem de máquina, linguagens assembly e linguagens de alto nível.
Aula 3 SOFTWARE (programas) Um programa (software) consiste em uma sequência de instruções escritas numa linguagem precisa chamada linguagem de programação. Estas instruções são traduzidas em um compilador,
Leia maisAula teórica 7. Preparado por eng.tatiana Kovalenko
Aula teórica 7 Tema 7. Introdução a Programação Ø Linguagens de Programação Ø LP Java ØEstrutura de um programa em Java ØIdentificadores, variáveis e constantes. ØTipos de dados básicos Preparado por eng.tatiana
Leia maisORGANIZAÇÃO DE COMPUTADORES
ORGANIZAÇÃO DE COMPUTADORES AULA 03 PROFº RITIELLE SOUZA DISTRIBUIÇÃO LÓGICA DISTRIBUIÇÃO LÓGICA Arquitetura de Von Neumann Uma unidade central de processamento recebe informações através de uma unidade
Leia maisEsta pseudomáquina foi criada em homenagem ao homem de Neandertal, o antecessor do homo sapiens.
Documentação Neander C O Neander C O computador hipotético Neander Características Modos de endereçamento Conjunto de instruções Obtendo o Neander C Compilando o Neander C Executando o Neander C Programando
Leia maisIntrodução à Computação
Universidade Federal do Maranhão Curso de Química Departamento de Informática Introdução à Computação Linguagem Fortran Profa. Msc. Maria Auxiliadora Freire maria@deinf.ufma.br 1 Lógica de Programação
Leia maisConjunto de Instruções e Modelos de Arquiteturas
Departamento de Engenharia Elétrica e de Computação EESC-USP SEL-0415 Introdução à Organização de Computadores Conjunto de Instruções e Modelos de Arquiteturas Aula 7 Prof. Marcelo Andrade da Costa Vieira
Leia maisIntrodução ao Fortran 90
Introdução ao Fortran 90 Departamento de Física UFPel Pré-História 1943-1953: Computador com Programa Fixo ENIAC (Electronic Numerical Integrator and Computer) Início do Projeto: 1943 Projeto Completo:
Leia maisIntrodução à Programação
Introdução à Programação Aula 02 Algoritmos e Ciclo de Desenvolvimento Edirlei Soares de Lima Modelo de um Computador Linguagem de Máquina Um processador executa instruções de máquina.
Leia maisAula 5 Oficina de Programação Introdução ao C. Profa. Elaine Faria UFU
Aula 5 Oficina de Programação Introdução ao C Profa. Elaine Faria UFU - 2017 Linguagem de Programação Para que o computador consiga ler um programa e entender o que fazer, este programa deve ser escrito
Leia maisUNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM INTRODUÇÃO A SISTEMAS DIGITAIS. Lista de Exercícios 01
Data final de entrega 27/08/2014, até às 23h59min. Enviar o arquivo de respostas em formato PDF para o e-mail: mota.fernandomaia@gmail.com Lista de Exercícios 01 1. Descreva com suas palavras as principais
Leia maisCONJUNTO DE INSTRUÇÕES
CONJUNTO DE INSTRUÇÕES 1 CARACTERÍSTICAS DE INSTRUÇÕES DE MÁQUINA Quando um programador usa uma linguagem de alto-nível, como C, muito pouco da arquitetura da máquina é visível. O usuário que deseja programar
Leia maisGFM015 Introdução à Computação
GFM015 Introdução à Computação Noções básicas sobre os componentes de microcomputadores (cont...) - Terminologia: Sw, Hw, Programas, Bit, Byte e Códigos Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/ic
Leia maisAmbiente de desenvolvimento
Linguagem C Ambiente de desenvolvimento Um programa em C passa por seis fases até a execução: 1) Edição 2) Pré-processamento 3) Compilação 4) Linking 5) Carregamento 6) Execução Etapa 1: Criação do programa
Leia maisIntrodução à Organização de Computadores. Aula 8
SEL-0415 Introdução à Organização de Computadores Set de Instruções Modelos de Arquiteturas Aula 8 Prof. Dr. Marcelo Andrade da Costa Vieira INSTRUÇÕES n Padrão de código binário armazenado em um dispositivo
Leia maisIII.2 - Princípios de Arquitetura
Conjunto de Instruções e Modo de Endereçamento Ciclo de busca decodificação execução de instruções Programação de um processador Arquitetura de Von Neumann e Componentes Arquiteturas 4, 3, 2, 1 e 0 Tabela
Leia maisSistemas Operacionais
Sistemas Operacionais CAP 2: Conceitos de Hardware e Software Prof. MSc. Diego R. Moraes diegorm@anhanguera.com Download de todo conteúdo da disciplina https://sites.google.com/site/diegorafaelmoraes/downloads
Leia maisProgramação de Computadores IV. Introdução a Linguagens de Programação Simone Martins SLIDES CEDIDOS POR BRUNO MARQUES 1
Programação de Computadores IV Introdução a Linguagens de Programação Simone Martins simone@ic.uff.br SLIDES CEDIDOS POR BRUNO MARQUES 1 Arquitetura de programação 2 O Que é um Dado? Dado é o elemento
Leia maisCompiladores. Introdução à Compiladores
Compiladores Introdução à Compiladores Cristiano Lehrer, M.Sc. Introdução (1/2) O meio mais eficaz de comunicação entre pessoas é a linguagem (língua ou idioma). Na programação de computadores, uma linguagem
Leia maisRepresentação da Informação no Computador
Escola de Ciências e Tecnologia UFRN Representação da Informação no Computador Prof. Aquiles Burlamaqui Nélio Cacho Luiz Eduardo Eduardo Aranha ECT3 INFORMÁTICA FUNDAMENTAL Manter o telefone celular sempre
Leia maisINF 1005 Programação I
INF 1005 Programação I Aula 02 Algoritmos e Ciclo de Desenvolvimento Edirlei Soares de Lima Modelo de um Computador Linguagem de Máquina Um processador executa instruções de máquina
Leia maisIntrodução à Programação Aula 02. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação
Introdução à Programação Aula 02 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação QUAIS SÃO OS COMPONENTES BÁSICOS DO HW DE UM SISTEMA COMPUTACIONAL?
Leia maisProgramação de Computadores
Programação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação Otton Teixeira da Silveira Filho Conteúdo Alguns Conceitos sobre Linguagens Conceito de Algoritmo Pseudocódigo
Leia maisConceitos básicos sobre computadores (continuação)
SSC0101 - ICC1 Teórica Introdução à Ciência da Computação I Conceitos básicos sobre computadores (continuação) Prof. Vanderlei Bonato Prof. Cláudio Fabiano Motta Toledo Sumário O que é um computador e
Leia maisIntrodução a Programação de Jogos
Introdução a Programação de Jogos Aula 02 Algoritmos e Ciclo de Desenvolvimento Edirlei Soares de Lima Modelo de um Computador Linguagem de Máquina Um processador executa instruções
Leia maisUnidade de Controle. UC - Introdução
Unidade de Controle Prof. Alexandre Beletti (Cap. 3 Weber, Cap.8 Monteiro, Cap. 10,11 Stallings) UC - Introdução Para gerenciar o fluxo interno de dados e o instante em que ocorrem as transferências entre
Leia maisMemória. Arquitetura de Von Neumann. Universidade do Vale do Rio dos Sinos Laboratório I Prof.ª Vera Alves 1 CPU. Unidade de controle ULA
Universidade do Vale do Rio dos Sinos Laboratório I Prof.ª Vera Alves 1 Arquitetura de Von Neumann CPU Unidade de controle Unidade de entrada Unidade de saída ULA Von Neumann era um gênio. Falava muitos
Leia maisCES-10 Introdução à Computação. Prof. Paulo André IEC - ITA
CES-10 Prof. Paulo André Estrutura do Curso Conceitos Básicos de Programação Algoritmos Estruturas de Controle Comandos de Entrada e Saída e Manipulação de Arquivos Rotinas, Variáveis Estruturadas e Ponteiros
Leia maisção de Computadores I
Universidade Federal de Pelotas Instituto de Física e Matemática Departamento de Informática Bacharelado em Ciência da Computação Arquitetura e Organizaçã ção de Computadores I Aula 4 1. Projeto da Arquitetura
Leia maisSCC-120 INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO
SCC-120 INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO Prof. Zhao Liang O Sistema de Computador RESULTADOS PROCESSAMENTO DADOS Um computador é um dispositivo físico que recebe dados como entrada, transforma esses
Leia maisSâmia Rodrigues Gorayeb. Arquitetura de Computadores Linguagem de Máquina
Sâmia Rodrigues Gorayeb Arquitetura de Computadores Linguagem de Máquina Arquitetura de Computadores Agenda: Linguagem de máquina 1. Introdução 2. Característica 3. Programas Compilados 4. Programas Interpretados
Leia maisORGANIZAÇÃO DE COMPUTADORES
Organização de Computadores ORGANIZAÇÃO DE COMPUTADORES Curso: Tecnologia em Gestão da Tecnologia da Informação Ano: 2011 Instrução Precisam ser entendidas pelo processador Precisam ser decodificadas e
Leia maisAlgoritmos. Prof. Jonatas Bastos Site:
Algoritmos Prof. Jonatas Bastos Email: jonatasfbastos@gmail.com Site: http://jonatasfbastos.wordpress.com/ 1 Dúvidas! p p p Como os computadores entendem os algoritmo? Os computadores não entendem os passos
Leia maisProgramação de Computadores I
Programação de Computadores I 2018.2 Computador O computador é uma máquina que realiza processamento de dados automaticamente. Ela é formada por um hardware e um software. Notebook Celular Video Game Câmeras
Leia maisLinguagem e Técnicas em Programação. Gilson de Souza Carvalho
Gilson de Souza Carvalho gaucho.gilson@hotmail.com 3.1.3 Condições compostas Linguagem e Técnicas em Programação As condições que vimos até agora sempre foram únicas. Entretanto, conforme aumenta a complexidade
Leia maisAlgoritmos e Programação
Universidade Federal do Vale do São Francisco Curso de Engenharia da Produção / Elétrica Parte 04 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav
Leia maisARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Dr. Daniel Caetano 2012-1 Objetivos Conhecer o processador Compreender os registradores
Leia maisComputador Simplificado Conceitos p.ex. FLUXO de execução
Computador Simplificado Conceitos p.ex. FLUXO de execução Conceitos Computador Simplificado Memória com 16 posições: E0, E1, E15 Dispositivo de entrada: cartões Dispositivo de saída: impressora Processador/ULA
Leia maisINTRODUÇÃO À PROGRAMAÇÃO. Introdução. Sérgio Carlos Portari Júnior
INTRODUÇÃO À PROGRAMAÇÃO Introdução Sérgio Carlos Portari Júnior Sergio.junior@uemg.br TÓPICOS ABORDADOS Comparação homem x computador Entendendo o computador Linguagens de Programação Tipos de traduções
Leia maisSSC304 Introdução à Programação Para Engenharias
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Introdução à Para Engenharias Estrutura de um Computador GE4 Bio GE4Bio Grupo de Estudos
Leia maisMAC2166 Introdução à Computação Aula 1 Como Funciona um Computador
MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador Kelly Rosa Braghetto DCC IME USP 14 de março de 2017 MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador DCC IME USP 1
Leia maisMicroprocessadores CPU. Unidade de Controle. Prof. Henrique
Microprocessadores CPU Unidade de Controle Prof. Henrique Roteiro Registradores; Unidade de Controle Níveis de Complexidade Introdução Um sistema microprocessado conta com diversos dispositivos para um
Leia maisAJProença, Sistemas de Computação, UMinho, 2017/18 1
Introdução aos Sistemas de Computação (3) Estrutura do tema ISC 1. Representação de informação num computador 2. Organização e estrutura interna dum computador 3. Execução de programas num computador 4.
Leia maisConjunto de Instruções e Modelos de Arquiteturas
Departamento de Engenharia Elétrica e de Computação EESC-USP SEL-0415 Introdução à Organização de Computadores Conjunto de Instruções e Modelos de Arquiteturas Aula 7 Prof. Marcelo Andrade da Costa Vieira
Leia maisSSC304 Introdução à Programação Para Engenharias
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Introdução à Para Engenharias Algoritmos e Lógica de GE4 Bio GE4Bio Grupo de Estudos em
Leia maisIntrodução à Computação MAC0110
Introdução à Computação MAC0110 Prof. Dr. Paulo Miranda IME-USP Aula 1 Introdução à Computação Eventos históricos: 1) Primeiro computador a válvulas, o Eletronic Numeric Integrator And Calculator (ENIAC).
Leia maisIntrodução à Computação MAC0110
Introdução à Computação MAC0110 Prof. Dr. Paulo Miranda IME-USP Aula 1 Introdução à Computação Eventos históricos: 1) Máquina universal de Turing criada em 1936 por Alan Turing, fundamento teórico para
Leia maisARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Msc. Tiago Alves de Oliveira Objetivos Conhecer o processador Compreender os registradores
Leia maisHistórico de desenvolvimento de computadores Prof. Luís Caldas Aula 02 Processador de uso geral
Processador de uso geral 1. Introdução: Um sistema digital completo é constituído de uma unidade controle e o bloco operacional. Na figura a seguir alguns elementos externos necessários para completar
Leia maisARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Dr. Daniel Caetano 2012-2 Objetivos Conhecer o processador Compreender os registradores
Leia maisOrganização de Computadores
Organização de Computadores Professor Marcus Vinícius Midena Ramos Colegiado de Engenharia de Computação (74)3614.1936 marcus.ramos@univasf.edu.br www.univasf.edu.br/~marcus.ramos Computador Ferramenta
Leia maisEstrutura de um computador digital. Gustavo Queiroz Fernandes
Gustavo Queiroz Fernandes Atualizado em: 18/02/2019 Sumário Objetivos... 1 Pré-requisitos... 1 Recursos e Materiais... 1 Última Atualização... 1 1. Memória primária... 1 2. Memória secundária... 2 3. Unidade
Leia maisCONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP)
CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP) 1 LINGUAGENS Constituída de seqüência de zeros (0) e uns (1) Cada instrução em ASSEMBLY constitui-se em um mnemônico (uma forma fácil de se lembra) de uma
Leia maisInstruções. Maicon A. Sartin
Instruções Maicon A. Sartin SUMÁRIO Introdução Instruções Formatos de instruções Conjuntos de instruções Execução de instruções Introdução a Linguagem de Montagem Introdução a Linguagem de Montagem Níveis
Leia maisTecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2)
Tecnólogo em Análise e Desenvolvimento de Sistemas Sistemas Operacionais (SOP A2) Conceitos de Hardware e Software Referências: Arquitetura de Sistemas Operacionais. F. B. Machado, L. P. Maia. Editora
Leia maisLógica de Programação I. Gilson de Souza Carvalho
Gilson de Souza Carvalho gaucho.gilson@hotmail.com 1. Estruturas básicas Apresentaremos um resumo com os comandos estudados para criação de algoritmos. Para utilizar estes comandos, usaremos uma sintaxe
Leia maisArquitetura e Organização de computadores
Arquitetura e Organização de computadores Aula 1: Organização e evolução de computador, parte 1 Prof. MSc. Pedro Brandão Neto pedroobn@gmail.com Sistemas de Informação - UNDB Introdução Computador Digital
Leia maisDisciplina: Arquitetura de Computadores
Disciplina: Arquitetura de Computadores Estrutura e Funcionamento da CPU Prof a. Carla Katarina de Monteiro Marques UERN Introdução Responsável por: Processamento e execução de programas armazenados na
Leia maisAULA 03: FUNCIONAMENTO DE UM COMPUTADOR
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 03: FUNCIONAMENTO DE UM COMPUTADOR Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação O QUE É UM COMPUTADOR?
Leia maisSSC510 Arquitetura de Computadores 1ª AULA
SSC510 Arquitetura de Computadores 1ª AULA REVISÃO DE ORGANIZAÇÃO DE COMPUTADORES Arquitetura X Organização Arquitetura - Atributos de um Sistema Computacional como visto pelo programador, isto é a estrutura
Leia maisArquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador;
1 Microprocessador Um microprocessador é um circuito eletrônico capaz de realizar diversas tarefas conforme os comandos específicos. Para isso ele deve ler esses comandos da memória de programa (ROM) e
Leia maisCurso de C. Introdução by Arnaldo V. Moura e Daniel F. Ferber 3/10/ :43 AM
Curso de C Introdução 1 Introdução Roteiro: Recordando Algoritmos Linguagem de Programação O computador Instruções de Máquina Níveis de Abstração Compilação 2 Algoritmos Recordando: Algoritmo: conjunto
Leia maisEstrutura e Funcionamento dos Computadores (Conceitos Básicos)
Estrutura e Funcionamento dos Computadores (Conceitos Básicos) Sistema Computacional Peopleware (usuário) Software (programas) Hardware (máquina) Hardware Corresponde à parte material, aos componentes
Leia maisAlgoritmos e Técnicas de Programação Introdução Givanaldo Rocha de Souza
Algoritmos e Técnicas de Programação Introdução Givanaldo Rocha de Souza givanaldo.rocha@ifrn.edu.br http://docente.ifrn.edu.br/givanaldorocha Conceitos Lógica de Programação técnica de encadear pensamentos
Leia maisMC-102 Aula 01. Instituto de Computação Unicamp
MC-102 Aula 01 Introdução à Programação de Computadores Instituto de Computação Unicamp 2016 Roteiro 1 Por que aprender a programar? 2 Hardware e Software 3 Organização de um ambiente computacional 4 Algoritmos
Leia maisDesenvolvimento de Aplicações Desktop
Desenvolvimento de Aplicações Desktop Conceitos Básicos de Programação Professor: Charles Leite O Desenvolvimento de Programas A programação consiste em indicar como o computador (hardware) deve trabalhar
Leia maisAula 1: Introdução 3/3/2015
Aula 1: Introdução 3/3/2015 Algoritmos O que é um algoritmo? Conjunto finito de passos para resolver um determinado problema computacional. O que é um problema computacional? Entrada: Saída: seqüência
Leia maisINE5421 LINGUAGENS FORMAIS E COMPILADORES
INE5421 LINGUAGENS FORMAIS E COMPILADORES PLANO DE ENSINO Objetivo geral Conhecer a teoria das linguagens formais visando sua aplicação na especificação de linguagens de programação e na construção de
Leia maisSISTEMAS DE NÚMERAÇÃO. Números decimais
SISTEMAS DE NÚMERAÇÃO Números decimais Números decimais são os que estamos acostumados a lidar na Matemática convencional. Também são conhecidos como números de base 10. Isso porque compreendem dez símbolos
Leia maisAula 05. Fundamentos de Hardware e Software. Prof. Dr. Dilermando Piva Jr.
05 Aula 05 Fundamentos de Hardware e Software Prof. Dr. Dilermando Piva Jr. Site Disciplina: http://fundti.blogspot.com.br/ Fundamentos de Hardware Sistemas de Computação Sistemas de Computação Computador
Leia maisComponentes do Computador
Escola de Ciências e Tecnologia UFRN Componentes do Computador Prof. Aquiles Burlamaqui ECT1103 INFORMÁTICA FUNDAMENTAL Manter o telefone celular sempre desligado/silencioso quando estiver em sala de aula;
Leia maisLÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES
LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES Prof. Dr. Daniel Caetano 2013-1 Objetivos Apresentar o funcionamento do computador Apresentar a função da memória e dos dispositivos
Leia maisSolução Lista de Exercícios Processadores
Solução Lista de Exercícios Processadores Questão 1 A ULA é o dispositivo da CPU que executa operações tais como : Adição Subtração Multiplicação Divisão Incremento Decremento Operação lógica AND Operação
Leia maisMicroprocessadores I ELE Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios
Microprocessadores I ELE 1078 Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios Grupos de Instruções do 8085 As instruções no 8085 são distribuídas em 5 grupos: 1. Grupo de transferência da
Leia maisOrganização de Computadores I
Organização de Computadores I Aula 2 Material: Diego Passos http://www.ic.uff.br/~debora/orgcomp/pdf/parte2.pdf Organização de Computadores I Aula 2 1/29 Tópicos de Computação. de um Sistema de Computação..
Leia maisI - CONCEITOS INICIAIS
Sumário I - CONCEITOS INICIAIS... 2 Lógica de programação... 2 Algoritmo... 2 Instrução... 3 Programa de Computador... 3 Fases... 4 Diagrama de Blocos... 4 II - VARIÁVEIS... 5 Numéricas... 5 Cadeia ou
Leia maisSintática: como é escrito cada elemento da linguagem de programação.
4ª. AULA Sintaxe e Semântica Para que uma linguagem de programação atenda aos requisitos especificados de forma eficiente, ela deve ser escrita de forma única (não ambígua). Isso envolve a definição: Sintática:
Leia maisa) Computador b) Estrutura do sistema i. Hardware ii.software c) Linguagens de Programação i. Paradigmas e Programação 1.
a) Computador b) Estrutura do sistema i. Hardware ii.software c) Linguagens de Programação i. Paradigmas e Programação 1. Estruturada 2. Orientada a eventos 3. Orientada a objetos d) Sistemas Operacionais
Leia maisVariáveis e Memória. Revisão. Conceitos. Operações sobre a memória
Variáveis e Memória Revisão Estudamos, na Introdução, que os programas de computador implementam algoritmos, os quais manipulam um conjunto de dados para produzir um resultado. O algoritmo é um conjunto
Leia maisInstruções de Máquina
Instruções de Máquina Operação básica (primitiva) que o hardware é capaz de executar diretamente Conjunto de bits que indica ao processador uma operação que ele deve realizar O projeto de um processador
Leia maisAlgoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas. Aula Tópico 2
Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas Aula Tópico 2 1 Problema 3 Exibir o maior número inteiro que pode ser representado no computador. 2 Qual o maior número inteiro? Para o compilador
Leia maisAula 4 Introdução ao C
Considere o nosso MSC. O Processador Central, entende o conjunto de instruções, leia, imprima, atribuição e condicional e com ela resolvemos vários problemas, construindo vários algoritmos. As instruções
Leia maisProf. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior
Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior Meio pelo qual se pode indicar os passos que devem ser realizados pelo computador para resolver problemas; Através da linguagem,
Leia maisApostila de Fortran. É uma pseudo-linguagem a qual oferece recursos para que o programador possa codificar e testar os seus algoritmos.
Apostila de Fortran Fortran Uma das linguagens de programação mais velhas, o FORTRAN foi desenvolvido por uma equipe de programadores conduzida por John Backus na IBM, e foi primeiramente publicada em
Leia maisNEANDERWIN - Resumo operacional
NEANDERWIN - Resumo operacional Sumário Listagem geral das instruções... 2 NOP... 2 LDI imed... 2 STA ender... 2 LDA ender... 3 ADD ender... 3 SUB ender... 3 OR ender... 4 AND ender... 4 NOT... 4 JMP ender...
Leia maisIntrodução à Programação de Computadores Fabricação Mecânica
Introdução à Programação de Computadores Fabricação Mecânica Edilson Hipolito da Silva edilson.hipolito@ifsc.edu.br - http://www.hipolito.info Aula 04 - Linguagens de Programação, Interpretador, compilador
Leia maisUniversidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES. Introdução. Geovane Griesang
Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES Introdução geovanegriesang@unisc.br Processadores de linguagem Linguagens de programação são notações para se descrever
Leia maisAula 08 Introdução à Algoritmos. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes
Aula 08 Introdução à Algoritmos Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Agenda da Aula Introdução aos Algoritmos: Conceitos Iniciais; Programa
Leia maisCOMPUTADOR. Adão de Melo Neto
COMPUTADOR Adão de Melo Neto 1 PROGRAMA É um conjunto de instruções LINGUAGEM BINÁRIA INTRODUÇÃO Os caracteres inteligíveis são apenas zero(0) e um (1). É uma linguagem de comunicação dos computadores.
Leia maisLÓGICA DE PROGRAMAÇÃO INTRODUÇÃO À ORGANIZAÇÃO PARA ENGENHARIA DE COMPUTADORES. Prof. Dr. Daniel Caetano
LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES Prof. Dr. Daniel Caetano 2018-1 Objetivos Apresentar o funcionamento do computador Apresentar a função da memória e dispositivos
Leia mais