Você está na página 1de 22

Introdução à Informática

Laerte Mateus Rodrigues

Técnico em
Informática
Laerte Mateus Rodrigues

Introdução à Informática
1ª edição

Ribeirão das Neves


Instituto Federal de Minas Gerais
2020
Apresentação da disciplina

Este módulo/disciplina é constituído por 02 aulas, cujos conteúdo de cada uma são
apresentados, a seguir. Este módulo se constituí parte da estratégica pedagógica do IFMG
campus Ribeirão das Neves para o fornecimento do ensino remoto emergencial devido à
pandemia da Covid-19.

Aula 1 Periféricos

Aula 2 Software

Aula 3 Compilação e Interpretação de programas

Carga horária: 14 horas/aulas.


Estudo proposto: 1 hora e 20 minutos/aulas diárias.
Aula 1 – Periféricos

O que são periféricos?


São componentes físicos (Hardware) que têm a função de entrada e saída de
dados de um processamento e ainda por cima devem fazer a conversão dos
dados. Um exemplo disso está no mouse, o computador não entende que você
clicou no botão esquerdo do mouse uma vez que essa informação não faz
sentido para ele (lembre-se que o computador entende apenas valores
BINÁRIOS) o que o mouse faz é converter as ações feitas sob ele em binário
e aí sim enviados ao computador.
Um outro exemplo é a função de touch de um celular. Ao apertar a tela do seu
celular aquela ação apriori só fará sentido para o processamento no momento
em que for convertido para uma posição vertical e horizontal da tela (esta
informação obviamente estará em binário) no qual é enviado para o
processamento e dado a resposta desejada.

Sistema de entrada e saída


Um periférico pode ser considerado como um dispositivo de entrada quando a
sua função está ligada para dar informação ao computador a fim de que algo
aconteça. Já o dispositivo de saída é utilizado para apresentar alguma
informação, ou seja, o resultado de algum processamento seja ele com entrada
de dados ou não.
Com o avanço da computação e dos dispositivos existentes atualmente existem
dispositivos que podem ser tanto de entrada ou saída como pode ser ambos,
um exemplo já citado é justamente a tela de celular com recurso de touch onde
o usuário pode dar informações de entrada (tocar na tela) bem como receber
as informações (telas dos aplicativos).
Uma outra característica dos periféricos está ligada ao seu destinatário. Não
necessariamente um periférico é aquele que envia informações para o usuário.
Um periférico pode guardar a informação como por exemplo um disco
magnético onde sua função é de entrada (pois nele é possível gravar dados) e
de saída (pois ele pode enviar para o processador os dados salvos nele). Os
dados de um disco magnético são binários e a sua forma de armazenamento
não é visível ao ser humano, logo, mesmo sendo um dispositivo de entrada e
saída sua interação não é com o ser humano, mas sim com o computador.

Dispositivos de entrada
Abaixo serão apresentados os principais dispositivos de entrada e suas
características, lembre-se que não são SOMENTE estes existem mais.
Teclado

Figura 1: Formato do Teclado QWERTY Português brasil.

O teclado é um dispositivo capaz de enviar dados para processamento de


forma que ao apertar uma das teclas de forma que pode representar um
caractere específico até mesmo um comando (como o famoso Alt+F4).
Cada país possui sua própria variação do formato de teclas mas no geral todos
se baseiam no modelo QWERTY (as 6 primeiras letas do teclado) onde
normalmente apenas o lado direito irá variar para se adaptar ao idioma, como
por exemplo no brasil temos o “ç” e no espanhol ao lado da tecla L existe a letra
“ñ” pois é amplamente utilizada no idioma.
As teclas de um teclado basicamente formam diferentes grupos e cada um
deles têm funcionalidades específicas como as teclas do grupo de controle que
não possuem função textual, apenas para representar um comando ou fazer
parte de um (ESC,F1 à F12, Ctrl, Alt). A seguir alguns exemplos uso:
• A tecla Alt significa “Alternative” (Alternativa) enquanto Ctrl significa
“Control” (Controle) normalmente usam-se elas juntas de outras como no
word onde Ctrl+S no bloco de notas irá salvar o conteúdo.
• A tecla do Windows (Win Key) tem funções específicas no Windows como
por exemplo mostrar o menu inicial ou abrir o Windows explorer (Win Key
+ E) em computadores da Apple não existe a tecla win key, mas sim a
tecla Command que possui funcionalidades no sistema operacional.
• As teclas page up e page down podem ser usadas para mover o conteúdo
de uma página para cima ou para baixo

Mouse
É também um dispositivo de entrada interativa onde o seu principal objetivo é
facilitar a interação entre o humano e o computador. Nos primórdios da
computação a entrada de dados era feita por cartões perfurados,
posteriormente foi criado o teclado, no entanto, o manuseio somente pelo
teclado necessita do uso de uma série de commandos para manipulação de
arquivos que não é trivial para usuários leigos, dessa forma, foi criado o mouse
a fim de facilitar esse processo.
O primeiro mouse comercialmente feito foi para o Lisa da Apple no qual possuia
apenas 1 único botão como mostrado na Figura 2. Atualmente os mouses
possuem 2 botões e um scroll que pode ser usando tanto para rolagem como
um botão.

Figura 2: Mouse do Computador Lisa da Apple.

Em notebooks e outros computadores portáteis existe o touchpad que nada


mais é um dispositivo no qual simula um mouse onde ao passer a mão sob ele
movimenta o cursor. Um recurso exclusivo destes dispositivos é o multi touch
onde usa-se mais de um dedo para um ação que são chamadas de gestures
(gestos) no qual o Sistema opercional já possui uma função padrão. A Figura 1
apresenta um exemplo do uso do recurso de pinch num pouchpad enquanto a
Tabela 1 apresenta outros dispositivos.
Figura 3: Movimento de pinch em um touchpad.

Tabela 1: Dispositivos de Entrada.

Nome Figura Descrição


MIcrofone Dispositivo responsável por
receber sinal sonoro.

Leitor de Converte o código de barras


código de em caracteres alfanuméricos
barra por meio de um raio de luz
vermelho.

GPS (Global Sistema que fornece


Position informações geográficas
System) (latitude e longitude) em
relação à posição do
dispositivo.
Câmera Captura imagens seja ela de
forma dinâmica (vídeo) ou de
forma estática (foto).

Scanner Converte arquivos físicos (em


papel) em documento digital. É
importante deixar claro que
essa conversão não torna o
documento editável, apenas
gera uma imagem do
documento físico.
Joystick Dispositivo de entrada de
interativa para jogos.

Dispositivos de saída
Recebem o resultado de um processamento. Da mesma forma que os
dispositivos de entrada a saída não possui um único formato ou dispositivo. O
principal deles é a saída de vídeo onde é feito por um monitor.
A imagem é formada por um conjunto de pequenos pontos onde cada um deles
com uma tonalidade diferente da mistura das cores primárias. Basicamente as
imagens geradas são formadas por matrizes de pontos. A formação das
imagens se dá justamente pela quantidade de pixels aglomerados no
dispositivo.
Figura 4: Exemplo da aplicação de pixels em imagens.

Cada pixel é formado por um tripleto cores primárias, vermelha, verde e azul
(RGB → Red, Green, Blue). Sendo que estas tonalidades possuem as
seguintes regras:
• Quando definido uma tonalidade máxima para uma cor primária e anula
a tonalidade das outras cores forma-se então a cor primária
o Ex: Tonalidade máxima do vermelho e tonalidade nula para verde
e azul será uma cor vermelha forte
• A tonalidade máxima das três cores forma o branco
• A tonalidade nula das três cores forma o preto
• As demais cores são formadas pela combinação da intensidade das
cores primárias
A lógica de que “quanto maior a quantidade de pixels melhor é a resolução da
imagem” é uma verdade. Programas de edição de imagem utilizam esse
recurso e será discutido no capítulo seguinte.
No entanto a saída de video possui uma característica chamada resolução.
Basicamente a resolução indica quantos pixels o dispositivo de saída utiliza
para representar a imagem. A resolução também está ligada diretamente ao
formato de saída.
Vamos considerar uma tela monitor CRT como o da Figura 5 no qual a
resolução é do tipo VGA 1 onde sua resolução é 320x240 teremos então:
• A imagem é formada por 320 pixels na linha e 240 pixels na coluna

1
Do inglês – Vector Graphics Array (Padrão de disposição gráfica)
• A proporção da imagem é chamada de 4:3 (quatro por três), isso significa
que a imagem construída pelo monitor é retangular, no entanto para cada
4 pixels na linha terá proporcionalmente 3 linhas na coluna.
• A quantidade total de pixels é 76.800 na imagem (multiplicar a quantidade
de pixels da linha pela coluna).

Figura 5: Monitor CRT.

Atualmente os principais formatos de monitores possuem os formatos da


Tabela 2, naturalmente existem outros formatos mas são específicos para
determinadas plataformas ou equipamentos.
Tabela 2: Formatos mais utilizados hoje no mercado para dispositivos de imagem.

Nome Resolução (em pixels) Proporção


QVGA 320X240 4:3
VGA 640x480 4:3
WXGA 1024x768 16:10
QWXGA 2014x1152 16:9
Full HD/1080p 1920x1080 16:9
Full HD/Ultrawide 2560x1080 21:9
4K Ultra HD/2160p 3840x2160 16:9
8K UHDTV/4320p 7680x4320 16:9

Como apresentado na tabela tanto o QVGA quando o VGA são formatos


utilizados em monitores CRT e TV’s de tubo que foram comercializadas até o
início dos anos 2.000, WXGA e QWXGA são formatos de imagens de
dispositivos móveis, celulares como o google Nexus, Samsung e outros utilizam
esse formato, porém, com o avançao na construção de telas para dispositivos
móveis os formatos de imagens de celulares hoje pode chegar ao formato de
alta definição.
O Formato conhecido como Full HD (Full High Definition – Alta definição
complete) pode gerar imagens 2560 pixels por 1080 pixels. Tanto que em
algumas plataformas de streaming ou aplicativos de configuração de qualidade
de video usa-se o termo 1080p que significa que o formato será 16:9 com 1.080
pixels na coluna. O formato Ultrawide possui a mesma quantidade de pixels na
coluna, o que aumenta é quantidade pixels na linha.
Recentemente as TV’s e monitores já são capazes de gerar imagens chamadas
de 4K e 8K que representam a quantidad ede pixels aproximadas em cada linha
da TV (Como visto na tabela, a resolução 4K utiliza um pouco mais de 3800
pixels por linha).
Quando falamos de proporção existem questões de compatibilidade da
imagem. Uma imagem Full HD pode ser renderizada num disposito que suporta
até 4K, no entanto será possível ver “falhas” na imagem. Quando uma imagem
é gerada em uma proporção diferente podem ocorrer ajustes. Em particular no
caso da resolulção 4:3 ao ser gerada em dispositivos 16:9 por exemplo a
imagem é centralizada com bordas Negras.
Aula 2 – Software

O que é software?
O software é o componente computacional responsável por executar os
commandos suportados pelo processador de forma a desempenhar uma tarefa.
A principal teoria de Allan turing sobre o modelo computacional é justamente
uma máquina capaz de ter sua execução reconfigurada. Dessa forma, o
hardware é capaz de resolver diferentes problemas sem que haja a
necessidade de troca de equipamentos.
Para elucidar isso considere uma calculadora simples de bolso onde só podem
ser feitos operações aritméticas básicas como soma, subtração, divisão e
multiplicação e porcentagem. Mesmo sendo eletrônico e sendo capaz de
efetuar operações aritméticas seu sistema não é reconfigurável pois se for
necessário adicionar uma nova função ou até mesmo retirar alguma já existente
não será possível sem que seja alterado o seu hardware. O computador por
sua vez é capaz de executar um conjunto de instruções de forma de diferente
segundo a necessidade do programador sem que exista a necessidade da
mudança do hardware, por isso ele é chamado de reconfigurável e faz com que
um conjunto de instruções terá uma funcionalidade.
A lógica de programação nada mais é que o modelo no qual o computador irá
executar um conjunto de instruções para resolver um determinado problema. E
este problema terá um conjunto de dados de entrada no qual será dado um
conjunto de dados de saída.

O Sistema operacional
O Sistema operacional é um software capaz de controlar os componentes de
hardware e software de um computador. O Sistema operacional é responsável
por armazenar as funções de controle de entrada e saída de dados dos
dispostivos.
Por exemplo, ao usar o comando print do python o seu programa está
informando ao Sistema operacional que deseja enviar um texto para a monitor.
Da mesma forma que o commando input também é uma requisição ao Sistema
operacional para que este recebe do teclado o que foi digitado para ser
computado no programa em execução. A Figura 6 apresenta essa interação
entre o aplicativo desenvolvido pelo programador com o Sistema operacional e
o usuário. O programa normalmente utiliza os recursos do Sistema operacional
para fazer suas operações, e, o Sistema operacional manipula o hardware para
que este possa fazer aquilo que foi solicitado.
Figura 6: Esquema da execução de aplicativos no sistema operacional.

Drivers
A manipulação dos dispositivos físicos do computador podem ser feitos por dois
tipos diferentes sistemas, o primeiro deles que está obseleto é por meio da
BIOS (Basic Input Output System) que é um programa escrito no chip da placa
mãe que possui as rotinas de manipulação de audio, video, teclado e mouse
conectados à placa-mãe.
O Segundo modelo utilizado é o por meio de drivers que são softwares
desenvolvidos com o objetivo de manipular components específicos de
hardware. É comum ao formatar um computador instalar o por exemplo o driver
de video para que a resolução da imagem possa ser exibida na resolução e
configuração complete. O driver nada mais é que um programa que o Sistema
operacional utiliza para controlar o hardware.

Sistemas operaiconais e suas diferenças


Atualmente no mercado existem diferentes tipos de sistemas operacionais,
como já discutido anteriormente e são programas destinados à manipulação do
hardware, dessa forma, cada sistema operacional é um software diferente para
este fim no qual possui características específicas.

Sistema Windows
Um dos principais sistemas operacionais do mundo. Desenvolvido pela
Microsoft desde 1985 a partir de outros Sistema operacional chamado DOS
(Disk Operating System – Sistema de operação do disco) sua principal
caracterítica é a interação com usuário por aplicações que usam janelas. Em
meados da década de 1980 apenas a Microsoft e a Apple possuíam um
Sistema no qual era baseado em janelas, antes disso os computadores eram
manipulados por meio de um terminal de commandos.
A primeira versão do windows era um aplicativo que era inicializado no DOS,
ou seja, as máquinas não iniciavam diretamente na janela, mas sim no terminal
de commandos e somente depois o usuário teria acesso às janelas.

Figura 7: Sistema operacional Windows 1.


Fonte: Wikipedia.

Sistema Linux
Desenvolvido por Linus Torvalds no início dos anos 1990 tem por objetivo ser
um Sistema operacional livre, ou seja, diferentemente dos seus concorrentes o
seu uso pode ser feito de forma gratuíta sem a necessidade de pagar por uma
licença de uso.
Como seu Código fonte é aberto é possível afirmar que o Sistema operacional
linux é na verdade um conjunto de softwares para o gerenciamento tanto do
hardware quanto da execução de software (não que isso não exista nos demais
Sistemas, no entanto, isso é visível no Código fonte do linux).
O Programa responsável por manipular o hardware do Sistema linux é o
software chamado Kernel proveniente de um Sistema operacional UNIX
desenvolvido desde o final dos anos 1970 até os dias atuais.
Os diferentes Sistemas operacionais linux utilizam o mesmo kernel o que difere
entre eles nada mais é que os programas utilizados na gestão do Sistema. Um
exemplo disso está por exemplo no Sistema operacional Ubuntu no qual utiliza
o gerenciador de pacotes (um pacote é um programa ou um conjunto de
funções que podem ser utiilizado por um programa) apt (Advanced Packing
Tool – Ferramenta de empacotamento avançado) enquanto o arch linux utiliza
o pacman (PACkage MANager). Conhecer um Sistema com kernel UNIX faz
com que entenda todos, o que irá modificar são os programas usados nele.
Outra diferença muito comum em sistemas linux está no programa de ambiente
de trabalho (desktop environment) que são programas utilizados na
interativadade com o usuário. A Figura 8 apresenta um ambiente de trabalho
muito comum disponível nas distrubuições linux que é o GNOME e a Figura 9
uma alternativa disponível.
Em termos de uso recomenda-se para usuários iniciantes os sistemas
operacionais linux Ubuntu, Fedora e Linux Mint. Para usuários mais avançados
no qual dominam o Sistema os sistemas operacionais Arch Linux, Gentoo e
Slackware são mais usuados pois estes o usuário do Sistema necessita fazer
ocnfigurações mais específicas que outros sistemas operacionais, tornando-os
muita das vezes mais rápidos e eficientes que distribuições de entrada no
mundo Linux.

Sistema MacOS
Desenvolvido desde os meados da década de 1980 para a linha de
computadores Macintosh da Apple. Desde a sua compecpção até os dias
atuais é um Sistema operacional voltado à usabilidade.
Além de ser instalado em computadores e dispositivos da apple o MacOS
desde a sua versão X lançada em 2001 é baseada num kernel linux do Sistema
operacional Free BSD, ou seja, os programas executados num MacOS rodam
diretamente num kernel UNIX.
Figura 8: Ambiente de trabalho GNOME
Fonte: https://renewablepcs.wordpress.com/.

Figura 9: Ambiente de trabalho Cinnamon.


Fonte: https://renewablepcs.wordpress.com/.

Aplicativos para o computador


Além do sistema operacional existem também outros tipos de programas para
um computador. Como abordado no início deste capítulo o computador só é
computador pois ele é um sistema configurável onde diferentes tipos de
problema podem ser resolvidos sem modificar o seu hardware.
A seguir serão descritos alguns destes softwares:
• Editores de texto: Programas destinados à criação e edição de textos
para diversos fins, seja livros, peças de publicidade ou até mesmo
trabalhos acadêmicos. São capazes de apresentar o conteúdo do texto
formatado (no caso do editor LaTeX a formatação é apresentada apenas
ao final da edição).
• Planilhas: Programas onde os dados são trabalhados em células e seus
valores podem se relacionar entre si para um cálculo ou teste necessário,
como por exemplo, saber se um determinado vendedor atingiu a meta ou
não.
• Editores de imagem: programas que podem alterar uma imagem.
• Ambientes de desenvolvimento: Conhecidos como IDE (Integrated
Development Environment) são utilizados por programadores para
agilizar o processo de construção de programas.
Aula 3 – Compilação e interpretação de programas

Execução de programas on computador


Como já foi abordado em aulas anteriores, o Sistema operacional é um software
que faz o controle do hardware enquanto as aplicações que são desenvolvidas
utilizam os recursos do hardware por meio de recursos do Sistema operacional.
Quando desenvolvemos um programa em uma determinada linguagem de
programação não estamos apenas utilizando recursos do Sistema operacional
ou de uma máquina virtual que será apresentada neste capítulo.

Compilação
Quando criamos um programa em uma linguagem de programação podem
existir 3 formas diferentes do programa ser executado pelo hardware. O
primeiro deles é a compilação do programa.
Um compilador é um software que transforma o Código de uma linguagem de
programação em instruções de máquina. Ou seja, ele é responsável por
transferir os commando s do nosso programa para uma estrutura que possa
ser executada pelo hardware de uma máquina.

Figura 10: Compilação de um programa.

A Figura 10 apresenta o processo de compilação. A primeira etapa é a


compilação onde o Código fonte do nosso programa é convertido para Código
alvo que é o formato de instruções que a máquina é capaz de entender. Essas
instruções do Código alvo são chamadas de Mneumônicos pois representam
instruções de baixo nível (entendidas pelo hardware) um exemplo disso é por
exemplo a conversão da soma da figura X = A +B. Por mais natural que ela
pareça para o programador o computador deve fazer as seguintes operações:
• Transferir o valor da variável A da memória principal para um dos
registradores do processador.
• Transferir o valor da variável B da memória principal para um dos
registradores do processador.
• Somar os valores dos registradores com os valores de A e B e armazenar
em um registrador.
• Enviar para o endereço de memória da variável X o valor do Registrador
com o resultado da soma.
Uma operação que para o programador parece apenas uma simples soma é
decomposta em vários passos mais simples para que o computador.
Com o Código alvo já elaborado a etapa seguinte é fazer a montagem do
programa alvo (ou seja, o executável) no qual ele vai fazer é transformar os
mneumônicos em Código binário (sendo este a linguagem do processador) e
vai também fazer a linkagem das rotinas do Sistema operacional e outros
módulos ao programa.
Lembra que falamos anteriormente que que o programa utiliza uma função do
Sistema operacional para fazer o usuário digitar uma função? Então, esse
vínculo é feito na linkagem e a rotina que de fato faz essa função está dentro
de um arquivo chamado DLL (Dynamic Link Library – Biblioteca de vínculo
dinâmico) que se encontra no sistema oprecional Windows. No Linux temos os
arquivos de extensão “so” que possuem a mesma finalidade.
Quando instalamos um programa em nosso computador geralmente arquivos
DLL estarão dentro da pasta do programa instalado pois são as bibliotecas com
funções que o programa necessita para funcionar. Quando um programa não
encontra a biblioteca necessária para a sua execução el epode para de
funcionar de forma inesperada ou até mesmo nem iniciar.
Linguagens de programação como C, C++ e Pascal são linguagens que fazem
compilação pois geram arquivos executáveis. A principal desvantagem da
compilação é sua especificidade pois o programa Gerado irá funcionar apenas
na arquitetura e no Sistema operacional destino, exemplo: programas para
windows não irão funcionar no linux.

Interpretação de programas
Esse modelo de execução de programas é diferente. Não existe a construção
de um executável, mas sim, um programa é que irá executar as instruções do
programa. Por isso o nome de interpretação, pois o executável não existe de
fato, apenas um programa simula a sua execução.
A vantagem da interpretação em relação à compilação é a facilidade para
detectar erros do programa. Em programas criados com linguagens de
compilação é muito comum ocorrer o erro apenas no processo de montage do
programa, ou seja, o programador escreveu o programa corretamente, mas não
configurou corretamente o processo de linkagem do programa (vinculação com
as DLL’s).
Outra vantagem das linguagens interepretadas está na facilidade de
manutenção, dependendo do tamanho do projeto numa linguagem de
programação a compilação pode levar minutos enquanto na interpretação o
programa vai sendo montado de acordo com a necessidade na sua execução.
Em contrapartida, o tempo de execução de um programa interpretado é maior
que o compilado, ou seja, sua execução é mais lenta mas pode ser executado
em qualquer máquina, basta possuir o interpretador.
Linguagens interpretadas existentes hoje no mercado são PHP, Ruby,
Javascript (ele é executada no browser).

Linguagens de programação híbrida


Python e Java utilizam “o melhor” dos dois mundos da compilação e da
interpretação. A idéia desse tipo de linguagem de programação é gerar um
arquivo compilado para uma máquina virtual que é um programa que simula
um computador. Essa máquina virtual é um programa compilado para cada
Sistema operacional e arquitetura distinta. A idéia desse tipo de projeto nasceu
justamente com o java no qual prega até hoje a idéia de “Write once, run
everywhere” (Escreva uma vez, execute em qualquer lugar).

Figura 11: Esquema de execução do Java.


Como a Figura 11 apresenta o JavaC compila o Código para arquivos binários
chamados de Bytecodes (extensão .class) que podem ser executados pela
máquina virtual Java (Java Virtual Machine – JVM) sendo que a JVM é
programada especificamente para cada Sistema operacional e arquitetura.
Sendo assim, uma linguagem híbrida não é tão lenta quanto uma interpretada
mas não é tão específica quanto a compilação (já que os byte codes podem
ser executados em qualquer Sistema operacional).
REFERÊNCIAS

FLINDERS, Michael et al. Video monitor/adapter interconnect extension


architecture. U.S. Patent n. 5,742,273, 21 abr. 1998.
HENNESSY, John L.; PATTERSON, David A. Organização e projeto de
computadores: a interface hardware/software. Elsevier Brasil, 2014.
HUANG, Xiaofeng; ZHAO, Yanjiao; DAI, Jingfen. System capable of
accomplishing flexible keyboard layout. U.S. Patent n. 9,323,345, 26 abr.
2016.
TANENBAUM, Andrew S. Structured computer organization. Pearson
Education India, 2016.
YELLIN, Frank; LINDHOLM, Tim. The java virtual machine specification. 1996.

Você também pode gostar