Organização de Computadores Aula #5.1 EBS 111 ICC Prof. Luiz Fernando S. Coletta luizfsc@tupa.unesp.br Campus de Tupã
Exercício 3 (correção) 1. Converta as sequências binárias em números de base 10: (a) 101100 2. Converta os seguintes números em sequências binárias: (a) 61 3. Efetue as seguintes adições: (a) 1010 + 0111 4. Efetue as subtrações abaixo: (a) 1000 0111 2
Organização de computadores Álgebra de Boole Considera dois estados: 3
Organização de computadores Álgebra de Boole Considera dois estados: Verdadeiro ou Falso 4
Organização de computadores Álgebra de Boole Considera dois estados: Verdadeiro ou Falso Exemplo: A luz está apagada Não está chovendo 5
Organização de computadores Álgebra de Boole Considera dois estados: Verdadeiro ou Falso Exemplo: A luz está apagada Não está chovendo Pode ser representada por sistemas binários 6
Organização de computadores Circuitos lógicos digitais Adotam o sistema binário e expressões booleanas para obter suas saídas 7
Organização de computadores Circuitos lógicos digitais Adotam o sistema binário e expressões booleanas para obter suas saídas Álgebra booleana É usada para analisar, projetar e simplificar circuitos lógicos! 8
Organização de computadores Circuitos lógicos digitais Adotam o sistema binário e expressões booleanas para obter suas saídas Álgebra booleana É usada para analisar, projetar e simplificar circuitos lógicos! Exemplo de tensão no barramento 9
Organização de computadores Portas Lógicas Blocos elementares a partir dos quais todos os circuitos lógicos e, portanto, os sistemas digitais, são construídos. 10
Organização de computadores Portas Lógicas Blocos elementares a partir dos quais todos os circuitos lógicos e, portanto, os sistemas digitais, são construídos. Base até para circuitos integrados em nível de integração em larga escala 11
Organização de computadores Portas Lógicas Blocos elementares a partir dos quais todos os circuitos lógicos e, portanto, os sistemas digitais, são construídos. Base até para circuitos integrados em nível de integração em larga escala» Exemplo: processadores da Intel (Pentium, i7, etc.) 12
Organização de computadores Portas Lógicas Blocos elementares a partir dos quais todos os circuitos lógicos e, portanto, os sistemas digitais, são construídos. Base até para circuitos integrados em nível de integração em larga escala» Exemplo: processadores da Intel (Pentium, i7, etc.) 13
Organização de computadores Portas Lógicas Mais informações em http://sabercomlogica.com/pt/ebook/portas-logicas/ 14
Organização de computadores Portas Lógicas Mais informações em http://sabercomlogica.com/pt/ebook/portas-logicas/ 15
Organização de computadores Portas Lógicas Denota inversão e.g.: NAND, NOR! Mais informações em http://sabercomlogica.com/pt/ebook/portas-logicas/ 16
Organização de computadores Portas Lógicas Denota inversão e.g.: NAND, NOR! Mais informações em http://sabercomlogica.com/pt/ebook/portas-logicas/ 17
Organização de computadores Portas Lógicas Denota inversão e.g.: NAND, NOR! Mais informações em http://sabercomlogica.com/pt/ebook/portas-logicas/ 18
Organização de computadores Somador de 2 bits 19
Organização de computadores Somador de 2 bits Exercício extra: testar montando a tabela verdade 20
Exercício 4 (para entregar) 1. Obtenha a tabela verdade para todas as combinações de entradas de A e B para o seguinte circuito lógico: 21
Linguagens de Programação
Linguagens de Programação De um modo geral, uma linguagem é um código com regras sintáticas e semânticas específicas, as quais permitem a comunicação entre indivíduos 23
Linguagens de Programação De um modo geral, uma linguagem é um código com regras sintáticas e semânticas específicas, as quais permitem a comunicação entre indivíduos Linguagem de programação É também um código pelo qual nós nos comunicamos com o computador, transmitindo instruções que devem ser seguidas para a resolução de um problema; 24
Linguagens de Programação De um modo geral, uma linguagem é um código com regras sintáticas e semânticas específicas, as quais permitem a comunicação entre indivíduos Linguagem de programação É também um código pelo qual nós nos comunicamos com o computador, transmitindo instruções que devem ser seguidas para a resolução de um problema; Existem dezenas de linguagens de programação de computadores! 25
Linguagens de Programação Ranking de uso de linguagens de programação no mundo: 26
Linguagens de Programação Linguagens de programação De baixo nível: Assembly... 27
Linguagens de Programação Linguagens de programação De baixo nível: Assembly... De médio/alto nível: Mais distante do código de máquina e mais próxima da linguagem humana: 28
Linguagens de Programação Linguagens de programação De baixo nível: Assembly... De médio/alto nível: Mais distante do código de máquina e mais próxima da linguagem humana: Pascal, Visual Basic, Java, Python, PHP, R, Matlab, C#, C++, C... 29
Linguagens de Programação 30
Linguagens de Programação Linguagem C Criada em 1972 e ainda amplamente útil e utilizada; 31
Linguagens de Programação Linguagem C Criada em 1972 e ainda amplamente útil e utilizada; Revisada e padronizada em 1989 (ANSI) 32
Linguagens de Programação Linguagem C Criada em 1972 e ainda amplamente útil e utilizada; Revisada e padronizada em 1989 (ANSI) É uma linguagem estruturada (imperativa): 33
Linguagens de Programação Linguagem C Criada em 1972 e ainda amplamente útil e utilizada; Revisada e padronizada em 1989 (ANSI) É uma linguagem estruturada (imperativa): Módulos, rotinas, sem goto's; Atribuições de variáveis; Estruturas de dados... 34
Linguagens de Programação Linguagem C Não é fortemente tipada; 35
Linguagens de Programação Linguagem C Não é fortemente tipada; É comum o uso de ponteiros; 36
Linguagens de Programação Linguagem C Não é fortemente tipada; É comum o uso de ponteiros; Funções retornam valores e podem ser chamadas recursivamente. 37
Linguagem de Programação C Desvantagens Sintaxe pode levar a certa complexidade; Múltiplos usos de símbolos (*, =, etc.); Não verifica limites de arrays. 38
Linguagem de Programação C Desvantagens Sintaxe pode levar a certa complexidade; Múltiplos usos de símbolos (*, =, etc.); Não verifica limites de arrays. Vantagens C é uma linguagem pequena Cerca de 32 palavras reservadas (padrão ANSI) Permite acesso no nível de bits da máquina; É modular e base para C++ e Java. 39
Linguagem de Programação C Anteriormente vimos que: Programas não são estritamente sequênciais 40
Linguagem de Programação C Anteriormente vimos que: Programas não são estritamente sequênciais Exemplo: Programa 1: calcule a média de 3 notas de um aluno; Programa 2: informe aluno aprovado caso média 7. 41
Linguagem de Programação C Anteriormente vimos que: Programas não são estritamente sequênciais Exemplo: Programa 1: calcule a média de 3 notas de um aluno; Programa 2: informe aluno aprovado caso média 7. Usamos um controle de fluxo condicional: IF-ELSE 42
Linguagem de Programação C Rotinas disponíveis para o desvio de fluxo IF, IF-ELSE (Se, Se-Então) 43
Linguagem de Programação C Rotinas disponíveis para o desvio de fluxo IF, IF-ELSE (Se, Se-Então) 44
Linguagem de Programação C Rotinas disponíveis para o desvio de fluxo IF, IF-ELSE (Se, Se-Então) SWITCH (Escolha-Caso) 45
Controles de Fluxos Diagrama de fluxo do Switch 46
Linguagem de Programação C Rotinas disponíveis para o desvio de fluxo IF, IF-ELSE (Se, Se-Então) SWITCH (Escolha-Caso) Operador ternário:? 47
Linguagem de Programação C Rotinas disponíveis para o desvio de fluxo IF, IF-ELSE (Se, Se-Então) SWITCH (Escolha-Caso) Operador ternário:? 48
Linguagem de Programação C Rotinas disponíveis para o desvio de fluxo IF, IF-ELSE (Se, Se-Então) SWITCH (Escolha-Caso) Operador ternário:? Note que essas rotinas precisam de uma condição... 49
Linguagem de Programação C Operadores lógicos-relacionais em C 50
Próxima aula: 7/4 Laboratório 1 Material em http://luizcoletta.com/ebs111/ Prof. Luiz Fernando S. Coletta luizfsc@tupa.unesp.br Campus de Tupã