Baixe o app para aproveitar ainda mais
Prévia do material em texto
Nome: Jonathan motta cardoso Exercícios - Lista 2 - Fundamentos da Ciência da computação. Questões: 1) Qual o número exato de 256 GB em TB. Apresente o cálculo. 256/1024 = 0,25 TB 2) Possuo um link de Internet de 150 Mbps. Qual a velocidade máxima teórica em MB? Apresente os cálculos: 1 byte = 8 bits 150 * 1024 / 8 = 19,200Kb/s ou 19,2 MB 3) Melissa é uma estudante de Ciência da Computação que é fascinada por jogos de computador, por ter passado em todas as disciplinas do 1º e 2º período da faculdade, ganhou de presente do seu pai um fantástico Notebook com a configuração dada na segunda coluna. Enumere a segunda coluna de acordo com a primeira. 1) CPU 2) SO 3) RAM 4) Unidade de armazenamento 5) Placa de vídeo (1) Intel Core i7-9750H (2) Windows 10 Home Single Language (5) NVIDIA® GEFORCE® GTX 1660 Ti com 6GB de GDDR6 (3) 16GB (4) SSD NVMe PCIe M.2 de 256 GB (4) HDD SATA 2,5" de 1TB (5400 RPM) 4) O Ubuntu Linux pertence a que tipo de software? Conceitue este tipo de software e faça ou encontre um diagrama para explicar sua atuação. Ubuntu é um sistema operacional de código aberto, construído a partir do núcleo Linux, baseado no Debian e utiliza GNOME como ambiente de desktop. É desenvolvido pela Canonical Ltda. Geralmente é executado em computadores pessoais e também é popular em servidores de rede, geralmente executando a versão Ubuntu Server, com recursos de classe empresarial. Até 2017, o Ubuntu também estava disponível para tablets e smartphones, com a edição Ubuntu Touch. Ubuntu oferece um sistema que qualquer pessoa possa utilizar sem dificuldades, independentemente de nacionalidade, nível de conhecimento ou limitações físicas. 5) Dado um arquivo de 2,5 TB, preciso transmiti-lo através de um link de Internet “perfeito” de velocidade de 150 Mbps para upload e download. Quanto tempo será necessário para enviar este arquivo? Apresente o cálculo. 1 byte = 8 bits 150 * 1024 / 8 = 19,200Kb/s ou 19,2 MB 2500000 MB / 19,2 MB = 1302208,3333... segundos ou 15 dias. 6) Pesquise sobre o compilador GCC (gnu c compiler). Explique brevemente o conceito de software livre e sua história, a história do GCC, quem o criou e quais as suas motivações, suas características de compilação e também comente explique sobre sua versão para Windows e MacOS. Fundada em 1985 por Richard Stallman, considerado o pai do Software Livre, a Free Software Fundation (FSF) é uma organização que leva adiante os princípios de Stallman, que sempre foi contra softwares proprietários – aqueles programas que não permitem aos usuários alterar seu código-fonte para modificação. Também é de autoria dele o projeto GNU, que junto do Kernel desenvolvido por Linus Torvalds formaria mais tarde o sistema operacional Linux. Software livre é o software que concede liberdade ao usuário para executar, acessar e modificar o código fonte, e redistribuir cópias com ou sem modificações. Sua definição é estabelecida pela Free Software Foundation em conjunto com o software livre é qualquer programa de computador que pode ser usado, copiado, estudado, modificado e redistribuído sem nenhuma restrição. É permitido vender software livre, entretanto as mesmas liberdades são válidas para o comprador. O termo Código aberto (Open Source do Inglês), assim como definido pela Open Source Initiative, não abrange as mesmas liberdades que o software livre, que não se refere apenas ao acesso ao código fonte. Assim, todo software livre é código aberto, mas nem todo código aberto é software livre. Definições: 1. A liberdade de executar o programa, para qualquer propósito; 2. A liberdade de estudar o programa, e adaptá-lo para as suas necessidades. 3. A liberdade de redistribuir cópias do programa de modo que você possa ajudar ao seu próximo; 4. A liberdade de modificar (aperfeiçoar) o programa e distribuir estas modificações, de modo que toda a comunidade se beneficie. O GNU Compiler Collection (chamado usualmente por GCC) é um conjunto de compiladores de linguagens de programação produzido pelo projecto GNU para construir um sistema operativo semelhante ao Unix livre. Faz parte do sistema operativo GNU e FSF, sendo uma das ferramentas essenciais para manter o software livre, pois permite compilar o código-fonte em binários executáveis para as várias plataformas informáticas mais comuns. É distribuído pela Free Software Foundation (FSF) sob os termos da GNU GPL, disponível para sistemas operativos UNIX e Linux e certos sistemas operativos derivados tais como o Mac OS X. O compilador GCC foi escrito por Richard Stallman em 1987 para servir de compilador para o Projecto GNU. Em 1997, um grupo de desenvolvedores descontentes com o ritmo lento e a natureza fechada do desenvolvimento oficial do compilador GCC, formou-se o projecto EGCS, que juntou várias bifurcações experimentais num único projecto bifurcado do GCC. O desenvolvimento do EGCS, ao provar-se suficientemente mais vital que o GCC, foi finalmente "abençoado" como a versão oficial do GCC em abril de 1999. O projecto GCC é agora mantido por um grupo variado de programadores de todo o mundo e até à data tem sido adaptado a mais tipos de processadores e sistemas operativos que qualquer outro compilador. O GCC tem sido adaptado como compilador principal para construir e desenvolver para um número de sistemas, incluindo GNU/Linux, os BSDs, Mac OS X, NeXTSTEP, BeOS e Haiku. O GCC é frequentemente eleito o compilador preferido para desenvolver software que necessita de ser executado em vários tipos de hardware. Diferenças entre compiladores nativos levam a dificuldades em escrever código que seja compilado corretamente em todos os compiladores e construir guiões que corram em todas as plataformas. Ao usar os compiladores do projecto GCC, o mesmo analisador gramatical é usado em todas as plataformas, fazendo com que o se o código compila numa, muito provavelmente compilará em todas. O código poderá ser executado um pouco mais lento, mas o potencial de redução de custos de produção tende a fazer com que seja a melhor opção disponível. 7)Pesquise sobre o funcionamento das linguagens interpretadas e suas características principalmente as utilizadas na Web como JavaScript, Python e PHP. JavaScript: Como uma linguagem multi-paradigma, o JavaScript suporta estilos de programação orientados a eventos, funcionais e imperativos (incluindo orientado a objetos e prototype-based), apresentando recursos como fechamentos (closures) e funções de alta ordem comumente indisponíveis em linguagens populares como Java e C++. Possuí APIs para trabalhar com texto, matrizes, datas, expressões regulares e o DOM, mas a linguagem em si não inclui nenhuma E/S, como instalações de rede, armazenamento ou gráficos, contando com isso no ambiente host em que está embutido. Foi originalmente implementada como parte dos navegadores web para que scripts pudessem ser executados do lado do cliente e interagissem com o usuário sem a necessidade deste script passar pelo servidor, controlando o navegador, realizando comunicação assíncrona e alterando o conteúdo do documento exibido, porém os mecanismos JavaScript agora estão incorporados em muitos outros tipos de software host, incluindo servidores em servidores e bancos de dados da Web e em programas que não são da Web, como processadores de texto e PDF, e em tempo de execução ambientes que disponibilizam JavaScript para escrever aplicativos móveis e de desktop, incluindo widgets de área de trabalho. Python: Python é uma linguagem de propósito geral de alto nível, multi- paradigma, suporta o paradigma orientado a objetos, imperativo, funcional e procedural. Possui tipagem dinâmica e uma de suas principais características é permitir a fácil leitura do código e exigir poucas linhas de código se comparado ao mesmo programa em outras linguagens. Devido àssuas características, ela é principalmente utilizada para processamento de textos, dados científicos e criação de CGIs para páginas dinâmicas para a web. PHP: PHP é uma linguagem interpretada livre, usada originalmente apenas para o desenvolvimento de aplicações presentes e atuantes no lado do servidor, capazes de gerar conteúdo dinâmico na World Wide Web. Figura entre as primeiras linguagens passíveis de inserção em documentos HTML, dispensando em muitos casos o uso de arquivos externos para eventuais processamentos de dados. O código é interpretado no lado do servidor pelo módulo PHP, que também gera a página web a ser visualizada no lado do cliente. A linguagem evoluiu, passou a oferecer funcionalidades em linha de comando, e além disso, ganhou características adicionais, que possibilitaram usos adicionais do PHP, não relacionados a web sites. É possível instalar o PHP na maioria dos sistemas operacionais, gratuitamente. Concorrente direto da tecnologia ASP pertencente à Microsoft, o PHP é utilizado em aplicações como o MediaWiki, Facebook, Drupal, Joomla, WordPress, Magento e o Oscommerce. 8) A linguagem Java é Compilada ou Interpretada? Explique seu processo de Compilação/Interpretação. Java é uma linguagem compilada e interpretada. O compilador do Java é chamado de javac, o mesmo compila o código-fonte do Java para um código de nível intermediário chamado códigos de bytes. Esses códigos de bytes não são diretamente executáveis em qualquer plataforma de hardware existente; mas esses códigos são interpretados pelo interpretador Java, o qual pode operar por si mesmo ou como parte de um navegador. 9)Conceitue Algoritmo. Um algoritmo é uma sequência finita e não ambígua de instruções computáveis para solucionar um problema. Em computação, podemos definir um algoritmo como sendo uma forma genérica de se representar procedimentos computacionais que. Quando executados, levam à solução de uma classe de problemas de natureza semelhante. 10)Explique a Arquitetura de von Neumann, encontre um diagrama para enriquecer sua explicação e também um algoritmo. A Arquitetura de von Neumann é uma arquitetura de computador que se caracteriza pela possibilidade de uma máquina digital armazenar seus programas no mesmo espaço de memória que os dados, podendo assim manipular tais programas. Esta arquitetura é um projeto modelo de um computador digital de programa armazenado que utiliza uma unidade de processamento (CPU) e uma de armazenamento ("memória") para comportar, respectivamente, instruções e dados. A máquina proposta por Von Neumann reúne os seguintes componentes: 1. Memória 2. Unidade aritmética e lógica (ALU) 3. Unidade central de processamento (CPU), composta por diversos registradores, e 4. Unidade de Controle (CU), cuja função é a mesma da tabela de controle da Máquina de Turing universal: buscar um programa na memória, instrução por instrução, e executá-lo sobre os dados de entrada. Todos os elementos dessa arquitetura são alinhados da estrutura hardware do CPU, assim o sistema pode realizar todas as suas atividades sem apresentar erros no desempenho. Von Neumann é continuamente influenciado pela evolução tecnológica, tendo peças mais modernas inseridas. Cada um dos elementos apresentados é realizado à custa de componentes físicos independentes, cuja implementação tem variado ao longo do tempo, consoante a evolução das tecnologias de fabricação, desde os relés eletromagnéticos, os tubos de vácuo (ou válvulas), até aos semicondutores, abrangendo os transistores e os circuitos eletrônicos integrados, com média, alta ou muito alta densidade de integração, medida em termos de milhões transistores por pastilha de silício. 11)Explique o que seria o “Gargalo de von Neumann”. Exemplifique. O gargalo de von Neumann é uma limitação da taxa de transferência causada pela arquitetura padrão do computador pessoal. O termo é nomeado por John von Neumann, que desenvolveu a teoria por trás da arquitetura dos computadores modernos. 12) Pesquise sobre a “Visão em camadas de um Computador”. Faça ou encontre um diagrama explicando.
Compartilhar