0% acharam este documento útil (0 voto)
35 visualizações22 páginas

Guia Completo de Informática para Preparatórios

Este capítulo apresenta a arquitetura básica de um computador. Ele descreve os principais componentes como a memória e os processadores, e explica como a informação é representada e processada em forma binária. O capítulo também fornece definições-chave relacionadas ao armazenamento e à transmissão de dados em um computador.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
35 visualizações22 páginas

Guia Completo de Informática para Preparatórios

Este capítulo apresenta a arquitetura básica de um computador. Ele descreve os principais componentes como a memória e os processadores, e explica como a informação é representada e processada em forma binária. O capítulo também fornece definições-chave relacionadas ao armazenamento e à transmissão de dados em um computador.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Informática

TSI
MPSIPCSIPTSI
MP TPC PC
PTPSI

N. Audfray • J.L. Carré • S. Legros • V. Petrov • M. Rezzouk


Com a colaboração científica de Isabelle Ecollan,
Véronique Guilbert e Cédric Carlier

Concepção e criação de capa: Dominique Raboin

© Dunod, 2017
11 rue Paul Bert, 92240 Malakoff
[Link]
978-2-10-075854-8
Prefácio
Esta obra destina-se aos alunos das classes preparatórias científicas para as grandes escolas.
lières MPSI, PCSI, PTSI, TSI, BCPST, TPC, MP, PC, PSI e PT). Também poderá interessar
os estudantes que se preparam para o CAPES de Matemática Opção Informática.
O livro é dividido em dez capítulos, cobrindo a totalidade dos programas de Informática
duas anos de aulas preparatórias, os seis primeiros capítulos contendo o programa de primeiro ano
ano e os quatro últimos o de segundo ano. Esta obra é redigida utilizando a linguagem
Python (e os módulosnumpyescipy), ferramentas necessárias e suficientes para a preparação para
concurso. Os capítulos e exercícios são numerados a partir do zero para respeitar as convenções
de Python.
Cada capítulo começa com uma parte chamada O essencial do curso. Nela são apresentados os pontos
os mais importantes do curso à maneira de fichas. A primeira coisa a fazer é conhecer isso
parte.
Encontramos então uma parte chamada As métodos a dominar. Ela apresenta os métodos
em relação ao capítulo do curso, ilustrado com um ou mais exemplos, e saber colocar em
pratique.
A maioria dos capítulos inclui questionários de múltipla escolha ou questionários.
verdadeiro/falso. Estes permitirão identificar rapidamente possíveis lacunas.
Uma ampla escolha de exercícios, de níveis variados, é então apresentada. Uma correção é proposta.
para cada um deles.
Os capítulos oferecem em seguida Trabalhos Práticos, cuja dificuldade é progressiva. Eles
portent sobre temas muito variados, abrangendo problemas decorrentes da informática, mas também
matemática, física, química, ciências da engenharia e biologia.
Progredir em informática requer prática, e o leitor é convidado a realizar esses trabalhos
na máquina, testar códigos, decifrar as mensagens de erro que a máquina poderia enviar
para progredir em sua maestria sintática da linguagem, realizar testes buscando mais
as limitações de seus programas que uma validação superficial antes de consultar o gabarito. Algumas
as correções destes Trabalhos Práticos estão incluídas nesta obra, e outras podem ser encontradas
na página dedicada a isso no site da Dunod.
Nós usamos alguns pictogramas ao longo desta obra:

para chamar a atenção do leitor para uma observação específica,

para chamar a atenção do leitor para armadilhas potenciais,

para fornecer ao leitor esclarecimentos sobre pontos de sintaxe úteis no contexto


do exemplo tratado, mas não essenciais a reter.

K para indicar uma questão ou um exercício bastante difícil.


Tabela de Conteúdos

0 Arquitetura do computador
17
2 Representação dos números.................................................61
3 Algoritmo ...........................................................85
4 Cálculo numérico (uma dimensão)............................... 117
5 Cálculo numérico (duas dimensões) ............................ 189
6 Bases de dados..................................................... 241
7 Pilhas e recursividade ................................................... 273
8Tris ....................................................................... 357
9 Gráficos ................................................................. 385
Bibliografia
Índice......................................................................429
CAPÍTULO

Arquitetura do computador
0
O essencial do curso
■0 Geral
Estamos hoje cercados por computadores de todos os tamanhos e potências. O pre-
o que vem à mente é o computador de mesa, é essencialmente sobre isso que nós
falaremos aqui. No entanto, podemos citar os exemplos representados abaixo que constituem uma
ínfima parte dos computadores presentes em nosso ambiente.
A escala de tamanho dos computadores varia desde o simples chip de tamanho de alguns milímetros
(ou até menos) para os supercomputadores de cálculo da NASA, por exemplo.

Alguns exemplos de computadores classificados do menor para o maior


O que permite agrupar esses diferentes dispositivos sob o mesmo nome de computador é sua função
tratamento de uma informação digital.

Definição
Unordinateur é uma máquina que processa dados numéricos a partir de instruções
organizados em programas.

Definição
O programa é a sequência de instruções (operações lógicas e aritméticas) compreendida
síveis pelo computador.

Pode-se escrever programas em uma multiplicidade de linguagens (C, Fortran, Python, Scilab,
Ocaml…), mas a linguagem realmente executada pelo processador do computador é uma linguagem que
não é constituído apenas por palavras binárias: a linguagem de máquina. Essa linguagem é constituída por uma sequência de
Capítulo 0 Arquitetura do computador

palavras que especificam as operações a serem realizadas nos bits da memória do computador. A linguagem
padronizado de nível mais baixo1é a linguagem assembly. Ela é compreensível à leitura por
um humano. Ele especifica, por exemplo, qual valor numérico o computador deve colocar em uma célula
memória especificada.

■1 Armazenamento da informação

Definição
A informação em um computador é armazenada e trafega na forma de bits (dígitos binários).
Um bit pode ter apenas 2 valores: 0 ou 1.
Unmultiplet (byte em inglês) é uma célula de memória elementar e é constituído de plu-
sieurs bits (sauf exception 8 bits).
Unoctete um multiplo (byte) de 8 bits. Os bytes que não têm 8 bits são raros, na
Na linguagem comum, "byte" e "octeto" são considerados sinônimos.

Essas unidades são anotadas como b (bit), B (byte) e o (octeto). Para medir a capacidade de armazenamento de um
disco rígido, usa-se como unidade o kilobyte (ko), o megabyte (Mo), o gigabyte (Go) ou até
teraocteto (To). Ao notar que103= 1000≈ 1024 = 210, alguns (mas não todos) usam
às vezes uma definição alternativa de ko na qual 1ko = 1024o em vez de 1ko = 1000o (ver o
quadro) .

Unidade Valor padrão Variante binária

ko 103 o 210o= 1024o≈ 1.02× 103 o

Mo 106 o 220o= 1048576o≈ 1.05× 106 o

Ir 109 o 230o= 1073741824o≈ 1.74× 109 o

Para 1012o 240o= 1099511627776o≈ 1.10× 1012o

Essas duas convenções podem gerar confusões. Assim, se você comprar um disco rígido de
60To, o fabricante utiliza o padrão. Mas se o seu sistema operacional usar a variante
binarie, seu disco rígido aparecerá no seu computador como 'apenas' 54.6To.
Para eliminar qualquer ambiguidade, a Comissão Eletrotécnica Internacional [IEC] propõe de novo-
novos nomes para a variante binária: quilocteto (kio), mebiocteto (Mio), gibiocteto (Gio) e tebiocteto
(Tio). Esses nomes são recomendados por diferentes organismos, mas ainda não foram incorporados em
a linguagem corrente.

« Baixo nível » significa próximo à linguagem de máquina.


O essencial do curso 7

Definição
A informação é caracterizada por:
• sonadresse: valor numérico que designa a localização da informação;
• sacapacidade(tamanho da memória): expressa em bytes e suas potências;
• temps de acesso: duração entre uma solicitação (leitura / escrita) e sua realização
efetivo
• sontemps de cycle: duração entre 2 pedidos;
• seu débito: número de informações (leitura / escrita) por unidade de tempo.

A memória é organizada em uma matriz de bytes, cada um identificado por um endereço. Acessa-se por
o intermediário de barramento (conjunto de ligações físicas) do qual o barramento de endereço e o barramento de dados.
Um barramento de controle permite definir a ação a ser realizada (leitura / escrita).

Definição
Existem 2 tipos principais de memórias:
• a memória viva, volátil ou RAM (Memória de Acesso Aleatório), cujas duas tecnologias
predominante
◦ estática: SRAM, realizada com base em flip-flops;
◦ dinâmica: DRAM, realizada com base em capacitores. É aquela que encontramos
em nossos PCs.
• a memória morta, não volátil ou ROM (Memória Somente de Leitura), que se desdobra em
diferentes formas que, aliás, não são todas somente leitura:
◦ PROM, memória programável ;
◦ EPROM, memória programável apagável (Erasable)
◦ EEPROM, memória eletricamente apagável (Elétrica), da qual uma categoria conhecida
é a memória Flash que é prática de usar, mas bastante lenta. Usamos em
as BIOS, as placas eletrônicas e os cartões de memória (SD, USB, CompactFlash)
e também os discos rígidos SSD (Solid-State Drive).
◦ as memórias de massa magnéticas (disco rígido clássico);

A memória morte serve principalmente para armazenar dados que não devem de maneira nenhuma ser apagados
(número de série, endereço MAC de uma placa de rede, etc.) assim como os dados que não devem ser
apagadas sem um pedido expresso (disco rígido, cartão de memória, etc.).
Capítulo 0 Arquitetura do computador

■2 Arquitetura do computador de mesa

Definição
O computador é equipado com portas de entrada e saída de comunicação. Elas permitem, através de...
protocolos de comunicação para realizar as trocas entre o computador e seu ambiente
ment extérieur (utilisateur, périphériques, internet, etc.)

Conectores de entrada-saída de uma placa-mãe de computador de mesa

Podemos citar alguns dos suportes físicos na placa-mãe representada


ci-dessus (de gauche à droite) :
• porta PS/2 para mouses e teclados (entradas)
• portas USB 2.0 (preto) e USB 3.0 (azul) (entrada-saída de dispositivos como
mouses, teclados, impressoras, etc.) ;
• saída HDMI (Interface Multimedia de Alta Definição), para conectar um ecrã
ou um projetor em alta definição com som;
• saídas VGA (Video Graphic Array) e DVI (Digital Visual Interface), para
conectar uma tela ou um projetor de vídeo sem som;
• porta ethernet RJ45 (entrada-saída de rede). Esta porta serve para conectar o computador
conexão por cabo à rede (da empresa, da casa, etc.). A tomada RJ45
permite ter uma melhor taxa de transferência do que o Wi-Fi. Os novos apartamentos que se
os edifícios construídos hoje devem ser equipados com tomadas RJ45, de acordo com um decreto de
2016 [ARRb] e de acordo com a norma [NFC] respeitada pelos fabricantes.
• entrada micro e saídas de áudio (fone de ouvido, alto-falantes, etc.).
• as entradas e saídas não fio: Bluetooth, Wi-Fi, infravermelho (cada vez menos)
utilizado), rádio, RFID (cracha de acesso), NFC (pagamento por aproximação).

Definição
A placa-mãe acolhe todos os componentes básicos de um computador:

• o processador ou microprocessador; • a placa de rede;


• o(s) disco(s) rígido(s) ; • a placa gráfica
• as barras de memória RAM; • a alimentação elétrica
• os ports de entrada e saída; • os sistemas de refrigeração (venti-
• os diferentes periféricos (leitor lateurs).
DVD, leitor de cartão de memória, etc.)
O essencial do curso 9

Após a compra de um computador, é possível adicionar periféricos (nova placa de vídeo


phique mais puissante, porta de comunicação adicional, etc.), é então necessário que eles
conectar à placa-mãe. A sua integração só é possível se as conexões não-
cessaires estão presentes no mapa.

Definição
A placa-mãe estabelece a ligação entre estes diferentes componentes através da interface de bus.
comunicação. Geralmente, distingue-se os barramentos de instruções e os barramentos de dados.

Definição
O chipset é o órgão que permite regular as trocas entre os diferentes componentes.
Ele realiza uma contagem rápida com a ponte norte entre o processador e a
memória RAM principalmente, e uma cadência mais lenta com os outros componentes como
o disco rígido.

Isso explica por que o computador fica muito mais lento quando toda a memória
A RAM está sendo usada e ele deve usar o disco rígido para realizar o armazenamento de dados
temporários.
10Capítulo 0 Arquitetura do computador

Definição
O processador, também chamado de microprocessador ou CPU (Unidade Central de Processamento), é o or-
ganho principal do computador, ele deve:
(0)buscar as instruções na memória ;
(1) decodificar as instruções;
(2) executar as instruções.

Definição
A arquitetura Harvard é uma das arquiteturas históricas de processadores. Seu princípio é
que os dados e o programa estão armazenados em duas memórias diferentes, cada uma delas
seu próprio ônibus (ou seja, o ônibus de dados e o ônibus de instruções).
Esta arquitetura inspirou o design de muitos microcontroladores embarcados (notam-
ment des processadores ARM); mas também alguns processadores de computadores de mesa, e.g.,
A arquitetura Skylake da Intel é uma variante de Harvard: os dados e o programa são
na mesma unidade de memória, mas têm caches separadas, cada uma com seu próprio barramento.

Microcontrolador de arquitetura Harvard

Definição
Os recursos do processador são:
• um contador ordinal (PC: Contador de Programa), ele contém o endereço da instrução;
• um registro de instrução, ele contém o código da instrução;
• registros diferentes:
◦ os registros gerais (GPR: Registro de Uso Geral);
◦ os registros específicos (SFR: Registro de Função Específica);
◦ os registros de memória (RAM);
• um acumulador (ou registro de trabalho) que contém os resultados em andamento;
• uma ou várias unidades aritméticas e lógicas (ALU Aritmética e Lógica
Unidade) constituídas de portas lógicas permitindo realizar operações booleanas.
• um sequenciador (scheduler) que coordena as trocas entre os registradores, produz e
interprete os sinais de controle;
• um relógio que cadencia as operações de alta frequência;
• um ou vários caches contendo dados recentemente utilizados para acesso
mais rapidamente. São áreas de memória de alguns kilobytes acessíveis muito
rapidamente. O CPU verifica primeiro se a informação está presente no cache antes
de redemander.
O essencial do curso 11

Um processador pode ser composto por um ou vários núcleos, ou seja, vários pro-
cessores em um mesmo chip. As arquiteturas clássicas atuais contam com 4 núcleos
(QuadCore), também encontramos muitos DualCore que contêm 2
corações.
Em computadores muito potentes dedicados a cálculos avançados (simulação de fluxos
de fluidos, cálculos para o lançamento de foguetes, etc.) pode-se alcançar um número de
corações muito grandes, que não param de aumentar com as evoluções da informática.

Um processador com clock de 3,00 GHz é capaz de executar.109operações elementares


por segundo em teoria.

Exemplo de aplicação
Arquitetura de um processador Intel® NúcleoTM 2
®
Este exemplo é retirado da documentação da Intel [INT16] detalha a estrutura simplificada de um
coração de microprocessador. Os processadores atuais usam 2, 4 ou até 8 núcleos como este.
O funcionamento é o seguinte:
• Cada instrução é lida e pré-decodificada (determinação do comprimento da instrução
por exemplo) pelo primeiro bloco (Busca de Instrução e Pré-Decodificação) que utiliza se necessário
dados contidos na memória cache compartilhada (L2) com os outros núcleos, então
colocado na fila de instruções (Fila de Instruções).
• Execução do código:
◦ deslocamento e renomeação das microoperações no corpo de execução (Rena-
me/Alloc) ;
◦ réordonnancement das micro operações (Retirement Unit) a fim de executar em pre-
meira as operações que estão prontas para serem feitas;
◦ cadenciamento dessas microoperações (Agendadores).
• As diferentes unidades aritméticas e lógicas (ALU) executam as operações que lhes
são dedicados (adição, multiplicação, etc.), em seguida, os resultados são armazenados na memória
cache (L1)
Busca de Instrução
e PréDecodificar

Fila de Instrução
µCódigo
Decodificar
ROM
Cache L2 Compartilhada
Renomear/Alocar Até 10,7 GB/s
FSB
Unidade de Aposentadoria
(Buffer de Reordenação)

Escalonadores
ALU ALU ALU
Ramo FAdicionar FMul
MMX/SSE Carregar Loja
MMX/SSE MMX/SSE
FPmove

Cache D de L1 e TLB D
12Capítulo 0 Arquitetura do computador

■3 Lógica de estrutura

Definição
O carregador de inicialização é o firmware que é iniciado automaticamente na inicialização.
do computador. Ele executa as seguintes tarefas:
• inicialização dos componentes da placa-mãe, do chipset e de alguns periféricos;
• identificação dos dispositivos internos e externos conectados;
• inicialização do sistema operacional.
Este firmware é armazenado em uma memória flash para não ser facilmente alterado.

Os carregadores de inicialização mais conhecidos são o BIOS (Basic Input Output System)
e mais recentemente o UEFI (Interface de Firmware Extensível Unificada) mais facilmente
modificável, especialmente para atualizações. Este último também oferece uma interface
gráfico de alta definição mais agradável.

Definição
O sistema operacional ou OS (Operating System) gerencia as aplicações e softwares de
o computador. Ele faz especialmente a ligação entre estes e o hardware (processador, memórias,
etc.).

Os sistemas operacionais mais conhecidos são Windows, MacOS, Linux e Chrome.


OS para computadores fixos e portáteis, Android, iOS e Windows Phone para os
smartphones.

O sistema operacional também gerencia múltiplos usuários garantindo por


exemplo de que um usuário com direitos limitados não pode instalar softwares.

Definição
O sistema de arquivos define a maneira como são armazenados, organizados e hierarquizados.
os dados em memória. Encontramos especialmente um sistema de pastas e subpastas que
constituem uma árvore na organização dos arquivos.

Os sistemas de arquivos que encontramos principalmente no Windows são FAT32


(Tabela de Alocação de Arquivos) e NTFS (Sistema de Arquivos de Nova Tecnologia). Este último é mais
recente e permite, entre outras coisas, armazenar arquivos maiores. Podemos formatar
um disco rígido no Windows em um ou outro desses formatos. Esta operação,
apelidado de formatação, condiciona o disco de acordo com o padrão escolhido e apaga
todos os dados presentes.
O essencial do curso 13

Definição
Os dados do usuário (arquivos) são organizados pelo sistema de arquivos na forma de uma
arborescência partindo de um diretório raizC:, D:no Windows,/ sob linux por exemplo)
nos quais se encontram subpastas que por sua vez contêm outras subpastas.

Esta organização é gerida pelo sistema de arquivos, não corresponde a zonas


memórias organizadas como tais. Assim, se movermos um diretório, a memória utilizada
para armazenar os dados não é modificado, apenas a estrutura aparente (árvore)
leste.

Definição
O caminho de acesso (path em inglês) de um arquivo representa o percurso na árvore de
a memória para localizar o arquivo (sequência de pastas a abrir), por exemplo:C:\WinPython-
64bits-[Link]\[Link] iniciar meu editor de código python.

Para que um arquivo possa ser executado sem especificar seu caminho de acesso, ele deve
fazer parte do variablepathque contém todos os diretórios especificados onde o
o sistema operacional deve procurar o arquivo.
O sistema operacional Windows exibe a árvore completa da pasta em
qual trabalhamos (em modo gráfico ou no terminal). No Linux
ou MacOS, no terminal, o comandopwd(Caminho do Diretório de Trabalho) permite de
l'obtenir.
Uma vez na pasta desejada, podemos obter a lista dos arquivos e pastas presentes.
comandodirsob Windows elssous Linux et MacOS.
O sistema de arquivos também gerencia os direitos de acesso. De fato, por razões de
segurança (do computador ou da informação) um usuário padrão pode não ter acesso
a um arquivo apenas para leitura para evitar que seja modificado.

■4 Acaso
Na informática, o acaso é às vezes útil (veja especialmente os TP 5.2 e 9.0). Para gerar
nomes "aleatórios", existem principalmente duas soluções:
(0)Os PRNG (Gerador de Números PseudoAleatórios) são programas de computador que determinam
ministérios que geram sequências de números "aparentemente" aleatórias.
(1)Os TRNG (Gerador de Números Aleatórios Verdadeiros) são dispositivos físicos (hardware) que
geram aleatoriedade, seja medindo um fenômeno físico caótico como uma lâmpada de lava
ou o ruído de um sensor, seja usando um fenômeno quântico considerado aleatório [IDQ10].
Os processadores Intel atuais contêm um TRNG [INT12]. A tese [San09] referencia de
numerosos TRNG.
Se os TRNG garantem um 'verdadeiro' acaso, são mais lentos e não geram leis uniformes.
o que leva a utilizar soluções mistas: um TRNG é desviado e serve para inicializar um PRNG.
Fonte phy- Gerador
Débiaiseur
sique de acaso pseudoaleatório
14Capítulo 0 Arquitetura do computador

QCM sobre o curso


(a) Qual é o papel do processador em um computador?
□Permite armazenar temporariamente os dados do usuário.
Ele executa as instruções e os cálculos que lhe são dados pelo sistema operacional.
□ Ele permite armazenar permanentemente os dados do usuário.
□Ele permite conectar os dispositivos ao computador.
(b) Entre as afirmações a seguir, quais são verdadeiras?
Na informática, a memória é um dispositivo eletrônico que serve para armazenar informações.
A memória do disco rígido deve funcionar em modo de leitura, mas não em modo
escrita para não ser deteriorada.
A memória do disco rígido deve poder funcionar em modo de gravação, mas não em modo
palestra por razões de segurança da informação.
Na memória RAM de um computador são armazenados definitivamente dados importantes.
(c) Entre as afirmações a seguir, quais são verdadeiras?
A memória RAM é uma memória acessível apenas para leitura.
A memória RAM é uma memória acessível apenas para escrita.
A memória RAM é uma memória acessível em leitura e em escrita.

(d) Em que lugar da memória o BIOS de um computador está registrado?


□Na memória ROM (eventualmente flash).
Na memória RAM.
Na memória do disco rígido.

(e) A distribuição dos arquivos na memória do disco rígido segue a estrutura das pastas?
□Sim
□Não
(f) Entre as afirmações seguintes, quais são verdadeiras?
As informações armazenadas em uma mesma pasta ocupam espaços de memória vizinhos.
Os dados contidos em um arquivo de texto de tamanho ordinário são armazenados em caixas
memória vizinhas.
Quando se move um arquivo de uma pasta para outra, modifica-se a área de memória que contém
as informações do arquivo.
Qual é o papel da placa-mãe?
Ela permite armazenar dados no computador.
Ela permite conectar os diferentes órgãos do computador entre si.
Ela alimenta os dispositivos com energia elétrica.
Ela regula os cálculos do microprocessador.
16Capítulo 0 Arquitetura do computador

QCM sobre o curso – corrigido


Qual é o papel do processador em um computador?
□Permite armazenar temporariamente os dados do usuário.
✓ executa as instruções e os cálculos que lhe são dados pelo sistema operacional.

Ele
□Ele permite armazenar permanentemente os dados do usuário.
□Ele permite conectar os periféricos ao computador.
(b) Entre as afirmações a seguir, quais são verdadeiras?
□✓informática, a memória é um dispositivo eletrônico que serve para armazenar informações.
Na
A memória do disco rígido deve ser capaz de funcionar em modo de leitura, mas não em modo
escrita para não ser deteriorada.
A memória do disco rígido deve conseguir funcionar no modo de escrita, mas não no modo
palestra por razões de segurança da informação.
Na memória RAM de um computador, dados importantes são armazenados definitivamente.
(c) Entre as afirmações a seguir, quais são verdadeiras?
A memória RAM é uma memória acessível apenas em leitura.
A memória RAM é uma memória acessível apenas para gravação.
✓memória RAM é uma memória acessível para leitura e escrita.
A□

(d) Em qual lugar da memória o BIOS de um computador é registrado?


□✓memória ROM (eventualmente flash).
Na
Na memória RAM.
Na memória do disco rígido.

(e) A distribuição dos arquivos na memória do disco rígido segue a árvore de pastas?
□Sim
□✓
Não
(f) Entre as afirmações a seguir, quais são verdadeiras?
As informações armazenadas em uma mesma pasta ocupam espaços de memória vizinhos.
□✓dados contidos em um arquivo de texto de tamanho comum são armazenados em caixas
Os
memória vizinhas.
□Quando se move um arquivo de uma pasta para outra, modifica-se a área de memória que contém
as informações do arquivo.
(g) Qual é o papel da placa-mãe?
Ela permite armazenar dados no computador.
✓ permite conectar os diferentes órgãos do computador entre si.

Ela
Ela alimenta os dispositivos com energia elétrica.
Ela coordena os cálculos do microprocessador.
CAPÍTULO

Programação
1
O essencial do curso
Neste livro, usamos a linguagem Python.

■0 Expressões
Definição
Uma expressão é uma fórmula que retorna um resultado.

As operações usuais (soma, subtração, multiplicação, divisão, potência, anotadas+, -, *, / et**) assim como os
funções (por exemploabs) podem ser usados em expressões. Exemplos :

(5 * 9) / 5 + 3**2
18,0

>>>abs(abs(-10)**3 + (-3)**7)
1187

Divisão euclidiana generalizada

Dado um realb >0, para todo realahá dois númerosq∈ Zetr∈ [0, btais como
a= bq+ r. Em Python, o quocienteqé calculado com a operação// e o restorcom%.

■1Tipos de base
Os tipos básicos manipulados em Python são:
• intos inteiros relativos
• flutuaros números decimais também chamados de números flutuantes;
• complexoos complexos, representados por um par deflutuar;
• boolos booleanosVerdadeiroeFalso;
• Nenhum tipoo tipo deNone.
O cálculo está correto, exceto para os tiposflutuaretcomplexoPara esses dois tipos, os
cálculos podem levar a erros de arredondamento.

As operações de comparação==, !=, <, <=, >, >= retornam um booleano. As operações usuais
sobre os booleanos (e, ouenão) estão disponíveis em Python.

Dica :2 < 7 < é5 uma abreviação de2 < 7 e 7 < .5


18Capítulo 1 Programação

O valorNenhumé retornada por funções que não têm resultado. Por padrão, não é exibido
no console. Por exemplo, a expressãoimprimir(2)afiche2então devolveNone.

■2 Instruções
Definição
Uma instrução é uma ordem dada ao computador, uma instrução não atribui valor.

A afetacão ou atribuição é uma instrução que associa um valor a uma variável. As variáveis
as afetadas podem então ser usadas em expressões. Exemplo:

>>>x = 3

>>(x + 1) / 2
2.0

O que está à esquerda e o que está à direita do= não têm o mesmo papel.
Além disso,= e== não devem ser confundidos.

O ramal condicional. Exemplo:

se x > 0:
print(1)

Este código exibe1simxé estritamente positivo, e não faz nada além disso.
O corpo dose(aquiprint(1)) está indentado, ele só é executado se a condição dose(aquix>0) é
avaliada emVerdadeiro. Também é possível adicionar umsenão. O corpo dosenãonão será executado a menos que
a condição doseé avaliada emFalso. O corpo doseou dosenãopode conter várias linhas.
Exemplo:

se x > 0:
imprimir(1)
senão:
x = 0
imprimir(2)

Definição
Os loops permitem repetir uma sequência de instruções. Existem dois tipos:
laçosenquantoe os laçospara.

O laçoenquantorepita uma sequência de instruções enquanto uma condição for verdadeira.

y = 123
n = 0
enquanto whiley != 0:

imprimir(y)
y = y // 10

Neste código, exibimosydepois dividimos pelo10desde que não tenhamos obtido zero. O código vai
exibir123então12então1.
O essencial do curso 19

A laçadaparapermite repetir uma sequência de instruções um número predeterminado de vezes.

forkinrange(5):
imprimir(k)

O código anterior exibe todos os inteiros de 0 incluído a 5 excluído.

■3 Sequência
Uma sequência é uma sequência finita de valores. Existem vários tipos de sequências em Python, incluindo
aqui estão alguns exemplos:
• as cadeias de caracteres :azertyouazertyouazertyouazerty;
• as tuplas :(1, 7, 58);
• as listas :[1, 7, 58].
Uma cadeia de caracteres contém apenas caracteres. Uma tupla ou uma lista pode conter alguns.
dados de qualquer tipo (ou até dados de tipos diferentes). As operações seguintes
são comuns a todas as sequênciasset t :
• leitura do elemento númerok, s[k](o primeiro elemento tem o número 0) ;
• extração da subsequência do elemento númeroeuincluído no elemento númerojexclu
s[i:j];
• concatenação de duas sequências,s + t;
• concatenação dencópias de uma mesma sequência,s * noun * s.
Ao ler um elemento, é possível usar números negativos,-1para
o último elemento,-2para o penúltimo...
Ao extrair uma subsequência, é possível adicionar um passo.k, s[i:j:k].
Omitireusignifica começar a subsequência no início, omitirjsignifica acabar com a
sous-sequência no final.

Ao contrário das cadeias de caracteres e das tuplas, as listas são modificáveis e dispõem de opé-
racias adicionais:
• modificação do elemento númerokda lista :x;
• adição de um elementoxem fi de lista :[Link](x);
• supressão de um elemento ou de toda uma subsequência:del s[k]oudel s[i:j:k];
• supressão do último elemento (ou do númerok) retornando seu valor s: .pop()ou
[Link](k).

As operaçõess[i:j:k] = [Link](t)podem ser úteis para conhecer.

A expressãos + tnão modifiquesmas crie uma nova lista. A instruçãos +=


tmodificarse ele adicionatao final.
Capítulo 1 Programação

■4 Bibliotecas (módulos) python

Definição
Os módulos (ou bibliotecas ou ainda bibliotecas) agrupam funções e constantes.
utilizáveis desde que o módulo tenha sido importado no código a ser executado, assim como os tipos
de dados particulares.

A importação é feita com a instruçãoimportarque pode ser utilizada de diferentes maneiras :

importar monmodule_1
importar monmodule_2 como modu
from monmodule_3 import*
from monmodule_4 import fonction_4_1, fonction_4_2

Assim, a partir desses diferentes carregamentos de bibliotecas


# usar as funções e variáveis a seguir :

monmodule_1.fonction_1_1(variable_1)
modu.funcao_2_1(variavel_1, variavel_2)
monmodulo_3.constante_3_1
função_4_1(variável_1)

Certas funções estão definidas em vários módulos. Para dominar a origem de


a utilização de uma função, é preferível chamá-la especificando sua biblioteca.
Por exemplo, a função seno é definida nos módulosnumpyematemática. Nós o chamaremos
portanto da seguinte maneira :

importar matemática

import numpy as np # alias muito classico usado

[Link](x)# utilização da função seno do módulo math


[Link](x) # utilização da função seno do módulo numpy mais completa: sin([Link]([...])) possível

Se quisermos evitar esse tipo de problemas, podemos importar o módulonumpyem inteiro por exemplo
(do numpy importar *) e apenas as funções úteis da outra biblioteca.

■5 Definir sua própria função


A instruçãodefpermite definir uma função. Exemplo :

defma_fonction(arg1, arg2):
s = arg1 + arg2
p = arg1 * arg2
retornar % s

Uma função deve ter:


• zero, um ou vários argumentos (aquiarg1earg2),
• instruções a serem executadas,
• um valor de retorno: o valor da expressão após oretornar.

Você também pode gostar