Você está na página 1de 42

Instituto Politécnico de Setúbal

LTGI
Introdução a Programação de
Computadores
Fábio Ferrentini Sampaio
fabio.oxford@gmail.com
fabio.sampaio@estsetubal.ips.pt
ATENÇÃO !

Alguns slides aqui apresentados foram


adaptados do material do Prof. Luis Damas

Inscrição no Moodle: A DEFINIR


OBJETIVOS

• Conhecer os princípios básicos de funcionamento dos


computadores
•Compreender os conceitos básicos de lógica e computação;
• Compreender o conceito de algoritmo bem como formas de
descrição, representação e aplicação;
• Resolver problemas utilizando uma linguagem de
programação;
• Desenvolver a capacidade de raciocínio lógico e formal
que permita analisar problemas complexos.
OBJETIVOS

• Conhecer e implementar programas na Linguagem C.

• Criar competências para a utilização de linguagens de programação


de forma estruturada.
TÓPICOS (proposta)
• Um pouco de História da Computação
• Ambiente de desenvolvimento dos programas e trabalhos;
Noção de Hardware e Software; Introdução ao mundo digital
• Representação da informação: Bit; Byte; Octal; Hexadecimal;
Conversões entre bases
• Declaração de variáveis; Instruções (SE, ENQUANTO, PARA,
FAZER)
• Linguagem C – Instruções condicionais e Ciclos
• Funçes e Procedimentos
• Arrays e Strings
• Trabalhando com ficheiros (leitura e escrita)
AVALIAÇÃO CONTÍNUA
Testes - 80,0 % (2 testes)

Fichas – 20,0% (4 fichas)

Nota final = F1*5% + F2*5% + F3*5% + F4*5% + T1*30% +


T2*50%.
Restrições (20 Valores):
• T1>=8 e T2>= 8;
• Testes escritos combinados na proporção >= 9.5 valores,
isto é, T1*30% + T2*50% >= 9,5 * 80% .
•Não existe nota mínima paras as fichas.
EXAMES

• 4 fichas (F1, F2, F3, F4) entrega online (5% cada) com nome
no cabeçalho da ficha;
• Exame (80%).

Notal final = F1*5% + F2*5% + F3*5% + F4*5% +


EXAME * 80%

Restrição: EXAME >= 9,5


Bibliografia

▪ Luís Damas; Linguagem C, FCA - Editora de Informática, 1999. ISBN: 972-722-


156-4
▪ António Adrego da Rocha; Introdução à Programação usando C, FCA - Editora
Informática, 2006. ISBN: 972-722-510-1 (3ª Edição)

Recursos didáticos recomendados

▪ Apresentações
▪ Exercícios (efetuados/disponibilizados em contexto de aula teórica)
▪ https://www.youtube.com/channel/UCmCUrWtf7QAgYhQY0H (em
construção)
Os nossos programas exemplos e slides
ficarão nesta pasta compartilhada do
Google Drive:

https://tinyurl.com/ycxdxm7f

OU

https://drive.google.com/drive/folders/1aP7LVm300ygb5iv
G3JnfcILLcPF2B5FB?usp=sharing
UM POUCO DE
HISTÓRIA...
Cartão perfurado
Como se codificava programas até os anos 80
Burroughs 6700 –
2o. Computador existente na UFRJ
O PDP 11 foi o primeiro computador utilizado para
investigação em Portugal. Foi adquirido pela Universidade
de Coimbra em 1974 e que, no início dos anos 80 foi
abandonado.

O computador possuia uma disquete com 246k de memória,


do tamanho de uma roda de automóvel e custou a quantia de
650 mil dólares.

A disquete usada no computador podia armazenar uma tese


universitária com mil páginas, mas com poucos gráficos e
fotografias. No entanto, não tinha capacidade para gravar
uma fotografia de alta definição
Fonte: Wikipedia
Veja aqui uma versão concisa da
história da Computação :
EVOLUÇÃO DOS COMPUTADORES x AUTOMÓVEIS

Veja: https://www.tecmundo.com.br/infografico/9210-o-preco-
da-informatica-o-computador-ja-custou-mais-que-um-carro.htm
EM CASA

Ver o filme o Jogo da Imitação no Youtube.

O filme fala do trabalho do Alan Turing e equipe para construir o


computador que desvendou o código (criptografia) da máquina
alemã durante a 2o. Guerra Mundial.
Um pouco mais de história
A linguagem C foi criada em 1972 na Bell Telephone
Laboratories nos EUA.
Tinha como finalidade a construção do Sistema
Operacional UNIX, sem a necessidade de recorrer ao uso
do Assembly (linguagem de máquina).
Em 1983 o American National Standards Institute (ANSI)
formou um comitê para a definição de um padrão da
linguagem C.
Chamamos este padrão de C ANSI → é o que vamos
utilizar no curso
Desenvolvido
pelo finlandês Linus
Torvalds
Evolução das Linguagens de Programação
(4 gerações)
Arquitetura Básica dos Computadores (Hardware)
SEMANA 2
Representação das Informações nos Computadores
Um programa em código de máquina consiste em uma
sequência de tamanho fixo de 0s e 1s, que correspondem
a instruções que serão executadas pelo processador.

Um valor 0 ou 1 é conhecido no mundo da Computação


como bit (binary digit = dígito binário).

Um conjunto de 8 bits é chamado de Byte.

Os computadores utilizam o sistema binário (base 2) para


representar informações. Por sua vez, nós – humanos –
normalmente empregamos o sistema decimal (base 10) na
maioria das situações do dia a dia.
Representação das Informações nos Computadores

Fisicamente, um bit pode ser representado de várias formas: via


eletricidade (dois valores de voltagem aplicados num fio), via luz
(em fibras ópticas), via ondas eletromagnéticas (redes sem fio),
enfim, em tudo que seja possível identificar dois estados
diferentes.

Na maioria dos casos as instruções do processador - chamadas


de opcodes - são representadas por 16 bits ou 2 bytes.

É fácil percebermos que com instruções “escritas” como uma


cadeia de 16 bits podemos ter 216 instruções diferentes !
Ambiente Adotado
A IDE - Integrated Development Environment - é um
ambiente que facilita a escrita, compilação, execução e
depuração de programas.
No nosso curso estou propondo o uso de 2 diferentes
ambientes simples:
- Online GDB →
https://www.onlinegdb.com/online_c_compiler#

- DEV C → Dev-Cpp_5.11_TDM-GCC_4.9.2
Outro Ambiente Integrado de Desenvolvimento

http://www.codeblocks.org/

✓ http://www.codeblocks.or
g/user-manual
Linguagem de Máquina e Assembly
Chama-se linguagem de máquina as
instruções que um determinado hardware é
capaz de entender e executar.

Este conjunto de instruções também é


chamado de instruction set.

Este conjunto de instruções normalmente


permite a realização de operações
aritméticas, operações lógicas, etc.
Linguagem de Máquina e Assembly
Na linguagem de máquina, a representação dos
dados e das operações (instruções) que constituem
um programa, é baseada no sistema binário
(sequências de 0s e 1s ) = forma entendida e
executada pelo hardware do sistema.

Uma forma de facilitar o entendimento dos


comandos na forma binária é o de transformar
estes valores para hexadecimal (base 16).
Linguagem de Máquina e Assembly
A linguagem de máquina de cada processador é
acompanhada de uma versão “legível” chamada
linguagem simbólica Assembly.

A linguagem Assembly é na realidade uma versão


legível da linguagem de máquina. Ela utiliza
palavras abreviadas, chamadas mnemônicos,
indicando a operação a ser realizada pelo
processador.
Exemplos de Instruções Assembly
MOV R1, R2 → move o conteúdo de um registro
para outro

ADD R0, R1 → Adiciona o conteúdo de dois


registros e guarda o resultado no 1º. Registro.
Exemplo Código Assembly

Motorola
MC6800 –
Processador de 8
bits.
Conversão de Bases
(Binário para Decimal)
Conversão de Bases
(Octal para Decimal)
Base Hexadecimal (Base 16)

No nosso sistema posicional, para


representarmos valores na base 16
precisamos inventar símbolos que
correspondam aos valores 10, 11, 12,.., 15.
Para tanto convencionou-se utilizar as
letras de A a F.
Conversão de Bases
(Hexadecimal para Decimal)
Conversão de Bases
(Decimal para Binário)
Conversão de Bases
(Decimal para Binário)
Conversão de Bases
(Decimal para Binário)

Uma outra forma de pensar mudança da Base 10


para a Base 2:

https://www.youtube.com/watch?v=L4djvKA2Zt0
PARA CASA:
Prática 1
Se der tempo...
Entrar no online GDB →
https://www.onlinegdb.com/online_c_compiler#
Abrir o arquivo Prog1.txt ; Copiar seu conteúdo e
inserir no ambiente GDB

Você também pode gostar