FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Algoritmos e linguagens de
programação 1
(aula 01)
Prof. Alessandro Bernardo
[email protected]
http://bsi.k6.com.br
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Breve histórico da computação e da programação
Em 1642 surge a máquina de calcular, mecânica, de Pascal, que realizava somas e
subtrações em números de até oito algarismos.
A idéia de programação adveio, juntamente com a computação, do final da década de
30, através do MARK 1, o primeiro computador com relês (sistema eletetromecânico).
As ativações e desativações nos relês (o que hoje evoluiu para o código binário) eram
representadas por chaves mecânicas que o programador ajustava manualmente.
Em 1940, um programador verificou que seu programa não funcionava corretamente.
Ele verificou que uma mariposa havia pousado na parte traseira do seu equipamento,
obstruindo uma das chaves. Daí a idéia de “bug”, utilizada até hoje para significar um
erro em algum programa.
O primeiro computador digital eletrônico foi criado entre 1939 e 1946: o ENIAC. Ele
executava 300 multiplicações por segundo e sua programação era muito lenta (por meio
de válvulas).
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Breve histórico da computação e da programação
Entre 1945 e 1951, o WHIRLWIND, do MIT, foi o primeiro computador a processar
informações em tempo real, com entrada de dados a partir de fitas perfuradas e saída
em CRT (monitor de vídeo).
Em 1947 o transistor é inventado e em 1953 uma memória magnética é construída.
Ao final da década de 70, os primeiros computadores e softwares próximos ao que
conhecemos hoje foram fabricados.
Na década de 80 foram criados os computadores IBM da série 80x86 (8086, 80286,
20386, 80486).
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Organização Básica de um Computador
RAM
Teclado
Monitor
Mouse
Processador
Impressora
Scanner
Dispositivos de saída
Dispositivos de entrada
Disco rígido
Unidade de processamento e armazenamento
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Organização Básica de um Computador
Dispositivos de entrada: permitem a entrada de dados e instruções pelo usuário, como
textos, comandos, clicks, rolamento de páginas, etc.
Dispositivos de saída: permite que o usuário monitore suas ações (monitor) ou que seja
emitido outro tipo de informação (impressora).
Unidade de processamento e armazenamento: processa as instruções e dados
inseridos pelos dispositivos de entrada, armazena temporariamente ou permanentemente
informações na RAM ou no disco rígido e envia informações aos dispositivos de saída.
RAM
Teclado
Monitor
Mouse
Processador
Impressora
Scanner
Disco rígido
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Organização Básica de um Computador
RAM
Dispositivos
de
entrada
Processador
Dispositivos
de
saída
Disco rígido
Processador: Componente responsável (1) pela tomada de decisões a respeito das
instruções provenientes dos dispositivos de entrada e das instruções a serem enviadas aos
dispositivos de saída, (2) pela gravação ou recuperação de dados na RAM e no disco rígido
e (3) pelos cálculos lógicos e aritméticos.
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Organização Básica de um Computador
RAM
Dispositivos
de
entrada
Processador
Dispositivos
de
saída
Disco rígido
RAM (Random Access Memory – Memória de Acesso Aleatório): memória de
funcionamento baseado em fundamentos eletrônicos, apresentando alta velocidade de
gravação e recuperação. Além disso, é volátil (os dados são perdidos uma vez que a
corrente elétrica é cessada).
Disco rígido: memória baseada na gravação e recuperação de dados de forma magnética,
permitindo que os dados fiquem gravados mesmo após cessar a corrente elétrica.
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Organização Básica de um Computador
RAM
Troca de informações por código binário.
Dispositivos
de
entrada
Processador
Dispositivos
de
saída
Troca de informações por código binário.
Disco rígido
Exemplo de conteúdo:
010001001111011010100110101
011001010010101010000111111
001010111001101100100000011
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Organização Básica de um Computador
RAM
Troca de informações por código binário.
Dispositivos
de
entrada
Dispositivos
de
saída
Processador
Troca de informações por código binário.
Disco rígido
Exemplo de conteúdo:
Instruções
Dados
010001001111011010100110101
011001010010101010000111111
001010111001101100100000011
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Organização Básica de um Computador
Exemplo de conteúdo:
Instruções
Dados
010001001111011010100110101
011001010010101010000111111
001010111001101100100000011
Cada dígito de um código binário é chamado bit.
Palavra é um conjunto de bits com tamanho determinado.
1 Byte é uma palavra de 8 bits.
1 Kb (um quilobyte) representa o conjunto de 1024 bytes (210 bytes).
1 Mb (um megabyte) = 1024 Kb (210 Kb) = 1048576 bytes (220 bytes).
1 Gb (um gigabyte) = 1024 Mb = 230 bytes.
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Números binários e decimais
Estamos acostumados ao sistema decimal, ou seja, ao sistema numérico de 10 dígitos
(0, 1, 2, 3, 4, 5, 6, 7, 8 e 9). No entanto, os dispositivos de armazenamento do computador
entendem as instruções e os dados no sistema binário, ou seja, aquele formado por
apenas 2 dígitos (0 e 1, que também podem ser entendidos como nulo e não-nulo, falso e
verdadeiro, etc.)
Assim, a seqüência de um número binário de quatro dígitos é:
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
...
00
01
02
03
04
05
06
07
08
09
10
...
Observação:
Essa é uma seqüência de números
binários que possuem 4 bits.
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Números binários e decimais
A conversão matemática para equivaler número binário a um número decimal é aquela
que considera cada dígito como a existência ou não da potência de 2 no número decimal.
8 bits = 1 byte
27
26
25
24
23
22
1
1
21
20
Alguns exemplos com 1 byte:
1
0
1
0
0
0
27 + 0 + 25 + 0 + 0 + 0 + 21 + 20 = 163
Se for 1: o número decimal
contém a potência de 2 mostrada;
Se for 0: o número decimal não
contém a potência de 2 mostrada.
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Números binários e decimais
A conversão matemática para equivaler número binário a um número decimal é aquela
que considera cada dígito como a existência ou não da potência de 2 no número decimal.
8 bits = 1 byte
27
26
25
24
23
22
0
0
21
Alguns exemplos com 1 byte:
0
0
0
1
0
1
0 + 0 + 0 + 24 + 0 + 22 + 0 + 0 = 20
20
Se for 1: o número decimal
contém a potência de 2 mostrada;
Se for 0: o número decimal não
contém a potência de 2 mostrada.
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Números binários e decimais
A conversão matemática para equivaler número binário a um número decimal é aquela
que considera cada dígito como a existência ou não da potência de 2 no número decimal.
8 bits = 1 byte
27
26
25
24
23
22
0
1
21
Alguns exemplos com 1 byte:
0
1
0
0
1
1
0 + 26 + 0 + 0 + 23 + 22 + 0 + 20 = 77
20
Se for 1: o número decimal
contém a potência de 2 mostrada;
Se for 0: o número decimal não
contém a potência de 2 mostrada.
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Números binários e decimais
A quantidade de números inteiros decimais que podem ser representados por uma
palavra de bits (um conjunto de bits) de tamanho n é dado pela fórmula:
Quantidade de números inteiros decimais representáveis = 2n
n bits
.....
Obs.: Em 1 byte, pode-se representar 256 (28) números inteiros (0 a 255).
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Números inteiros e código ASCII
Ainda não foi visto como pode-se representar números negativos com a conversão
mostrada anteriormente. Existem várias formas de representação de números
negativos, mas a mais simples consiste em reservar um bit para a representação do
sinal (0 é positivo e 1 é negativo). Assim, reservando-se o primeiro bit para o sinal, os
bits restantes representam o valor absoluto do número inteiro.
n bits
1 bit
n – 1 bits
.....
Exemplificando considerando
números com n = 8 (1 byte):
0
1
0
0
1
1
0
1
26 + 0 + 0 + 23 + 22 + 0 + 20 = + 77
positivo
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Números inteiros e código ASCII
Ainda não foi visto como pode-se representar números negativos com a conversão
mostrada anteriormente. Existem várias formas de representação de números
negativos, mas a mais simples consiste em reservar um bit para a representação do
sinal (0 é positivo e 1 é negativo). Assim, reservando-se o primeiro bit para o sinal, os
bits restantes representam o valor absoluto do número inteiro.
n bits
1 bit
n – 1 bits
.....
Exemplificando considerando
números com n = 8 (1 byte):
1
1
0
0
1
1
0
1
26 + 0 + 0 + 23 + 22 + 0 + 20 = - 77
negativo
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Números inteiros e código ASCII
Ainda não foi visto como pode-se representar números negativos com a conversão
mostrada anteriormente. Existem várias formas de representação de números
negativos, mas a mais simples consiste em reservar um bit para a representação do
sinal (0 é positivo e 1 é negativo). Assim, reservando-se o primeiro bit para o sinal, os
bits restantes representam o valor absoluto do número inteiro.
n bits
1 bit
n – 1 bits
.....
Exemplificando considerando
números com n = 8 (1 byte):
1
0
0
1
0
1
0
0
0 + 0 + 24 + 0 + 22 + 0 + 0 = - 20
negativo
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Números inteiros e código ASCII
Ainda não foi visto como pode-se representar números negativos com a conversão
mostrada anteriormente. Existem várias formas de representação de números
negativos, mas a mais simples consiste em reservar um bit para a representação do
sinal (0 é positivo e 1 é negativo). Assim, reservando-se o primeiro bit para o sinal, os
bits restantes representam o valor absoluto do número inteiro.
n bits
1 bit
n – 1 bits
.....
Exemplificando considerando
números com n = 8 (1 byte):
0
0
1
0
0
0
1
1
0 + 25 + 0 + 0 + 0 + 21 + 20 = + 35
positivo
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Números inteiros e código ASCII
Para representar letras e símbolos, os sistemas operacionais mais utilizados atualmente
utilizam o código ASCII. Este código nada mais é que uma tabela de conversão de
números binários de 1 byte (8 bits) em símbolos, letras ou números.
Decimal
Binário
00
0000 0000
01
Caracter
Decimal
Binário
Caracter
Caracter Nulo
48
0011 0000
0
0000 0001
Começo de cabeçalho de transmissão
49
0011 0001
1
02
0000 0010
Começo de texto
50
0011 0010
2
03
0000 0011
Fim de texto
51
0011 0011
3
04
0000 0100
Fim de transmissão
52
0011 0100
4
05
0000 0101
Interroga
53
0011 0101
5
06
0000 0110
Confirmação
54
0011 0110
6
07
0000 0111
Sinal sonoro
55
0011 0111
7
08
0000 0100
Volta um caracter
56
0011 1000
8
09
0000 1001
Tabulação Horizontal
57
0011 1001
9
10
0000 1010
Próxima linha
58
0011 1010
:
11
0000 1011
Tabulação Vertical
59
0011 1011
;
12
0000 1100
Próxima Página
60
0011 1100
<
13
0000 1101
Início da Linha
61
0011 1101
=
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Números inteiros e código ASCII
Decimal
Binário
Caracter
Decimal
Binário
Caracter
65
0100 0001
A
82
0101 0010
R
66
0100 0010
B
83
0101 0011
S
67
0100 0011
C
84
0101 0100
T
68
0100 0100
D
85
0101 0101
U
69
0100 0101
E
86
0101 0110
V
70
0100 0110
F
87
0101 0111
W
71
0100 0111
G
88
0101 1000
X
72
0100 1000
H
89
0101 1001
Y
73
0100 1001
I
90
0101 1010
Z
74
0100 1010
J
91
0101 1011
[
75
0100 1011
K
92
0101 1100
\
76
0100 1100
L
93
0101 1101
]
77
0100 1101
M
94
0101 1110
^
78
0100 1110
N
95
0101 1111
_
79
0100 1111
O
96
0110 0000
`
80
0101 0000
P
97
0110 0001
a
81
0101 0001
Q
98
0110 0010
b
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Compiladores
Os compiladores são softwares desenvolvidos para converter textos em alguma
linguagem de programação (código-fonte) em linguagem de máquina.
CÓDIGO FONTE (C++)
LINGUAGEM DE MÁQUINA
using namespace std;
#include <iostream>
int main() {
cout << “Teste de programação”;
return(0)
}
COMPILADOR
100111101000111010110
111001101010111101100
110101010101101110010
100010110101110101111
100001110010010100100
000110111111000110011
011101010101110011111
0001100001111
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Linguagens de baixo e alto nível
Linguagens de baixo nível:
linguagem de máquina: instruções programadas em seqüências de 0 e 1;
assembly: instruções de máquina representadas por palavras entendíveis ao
ser humano (ADD, MOVE,...).
Linguagens de alto nível:
Linguagens que permitem ações próximas à realidade humana e mais
distantes da realidade binária dos computadores. Codificam dados para que
seqüências de 0 e 1 signifiquem algo mais entendível, como letras e
números, permitindo pouco acesso aos baixos níveis de processamento.
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Evolução do C++
C#
C
C++
(1969)
(1979)
PHP
Java
(1990 – 2000)
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Evolução do C++
C
C++
C# e Java
Sem orientação
a objeto
Com orientação
a objeto
Alto desempenho
Alto desempenho
Baixo desempenho
Pouca portabilidade
Pouca portabilidade
Grande portabilidade
Com orientação
a objeto
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Orientação a objeto
Técnica de programação baseada no desenvolvimento encapsulado de
programas.
Nova forma de se visualizar a estruturação de programas, diferenciando-se
substancialmente de linguagens como Pascal e Basic.
Muito utilizada e adequada para grandes projetos que envolvem muitas
equipes de desenvolvimento.
Possibilidade de recursos muito complexos e extremamente versáteis.
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Estrutura básica de um programa em C++
A estrutura básica de um programa em C++ pode ser visualizado abaixo.
// Inclusões de bibliotecas
using namespace std;
#include <iostream>
int main() {
/* Função principal:
Programa principal */
return(0)
}
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Tipos de dados do C++
Tipo
Característica
Largura
em bits
Faixa
representativa
int
Número inteiro
32
-2.147.483.648 a
2.147.483.647
float
Ponto flutuante
32
1.8E-38 a
3.4E+38
double
Ponto flutuante de
precisão dupla
64
2.2E-308 a
1.8E+308
bool
Booleano (lógico)
1
Verdadeiro ou
falso
char
Caracter
8
-127 a 127
(Tabela ASCII)
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Tipos de dados do C++
Memória
Número inteiro
a (32 bits)
1
31
Sinal
Representação binária
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Operadores aritméticos
Operador
Significado
=
Atribuição
+
Adição
-
Subtração
*
Multiplicação
/
Divisão
%
Módulo
++
Incremento
--
Decremento
Dois argumentos
(binário)
Um argumento
(unário)
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Operadores aritméticos (continuação)
Operador
Significado
+=
Somar e atribuir
-=
Subtrair e atribuir
*=
Multiplicar e atribuir
/=
Dividir e atribuir
Dois argumentos
(binário)
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Operadores aritméticos
X++;
é equivalente a
que pode ser resumido por
X--;
é equivalente a
que pode ser resumido por
X = X + 1;
X += 1;
X = X - 1;
X -= 1;
A expressão X = X + A pode ser resumida
por X+=A.
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Operadores aritméticos
A expressão X = X + A pode ser resumida
por X+=A.
A expressão X = X * A pode ser resumida
por X*=A.
A expressão X = X / A pode ser resumida
por X/=A.
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Estrutura geral
O C++ possui a vantagem de possibilitar ao programador
muita mobilidade em relação à declaração de variáveis e
de métodos.
Diferentemente do Pascal, no C++ pode-se declarar uma
variável em qualquer lugar do programa.
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Declaração de variáveis
Sintaxe (pode-se declarar variável em qualquer trecho de código):
tipo var1;
tipo var2 = valor2, var3 = valor3;
tipo: o tipo da variável declarada, que pode ser int, float, double, char,
etc.
var1, var2, var3: o identificador, o nome da variável. As regras de
formação são muito semelhantes às do Pascal.
valor2, valor3: valor que pode ser atribuído a uma variável no momento
de sua declaração.
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Declaração de variáveis
Exemplo:
int var1;
double var2 = 0.58;
Memória
var1 (32 bits)
var2 (64 bits)
1
Sinal
31
Representação binária
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Declaração de variáveis
Existem regras para a criação dos nomes das variáveis para que não seja confundido
variáveis com outras estruturas da linguagem.
As regras principais são:
a) As variáveis só podem conter valores alfanuméricos: ‘0’ até ‘9’, ‘a’ até ‘z’, ‘A’ até ‘Z’ e
o caracter sublinhar ‘_’ (underscore) e não podem ser palavras reservadas da
linguagem.
b) As variáveis não podem conter outros símbolos como ‘, <, ), ., &, %, !, /, etc.
b) As variáveis não podem começar por número;
Exemplos:
Formação correta:
Formação incorreta:
numero1
a14_10
n123456
_AbCd
int
numero.de.pessoas
num1(inteiro)
2aa a
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Declaração e utilização de variáveis
Exemplo:
int var1;
double var2 = 0.58, var3 = 1.0, var4;
int var5 = 30;
var1 = var5;
var4 = var3 + var2;
int var6 = var5 % 7;
var1 = var4;
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Declaração e utilização de variáveis
int var1;
Memória
var1
double var2 = 0.58, var3 = 1.0, var4;
int var5 = 30;
var1 = var5;
var4 = var3 + var2;
int var6 = var5 % 7;
var1 = var4;
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Declaração e utilização de variáveis
int var1;
Memória
var1
double var2 = 0.58, var3 = 1.0, var4;
indefinido
var2
int var5 = 30;
var1 = var5;
var4 = var3 + var2;
int var6 = var5 % 7;
var1 = var4;
0.58
var3
1.00
var4
indefinido
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Declaração e utilização de variáveis
int var1;
Memória
var1
double var2 = 0.58, var3 = 1.0, var4;
indefinido
var2
int var5 = 30;
var1 = var5;
0.58
var3
1.00
var4 = var3 + var2;
var4
int var6 = var5 % 7;
var5
indefinido
30
var1 = var4;
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Declaração e utilização de variáveis
int var1;
Memória
var1
double var2 = 0.58, var3 = 1.0, var4;
30
var2
int var5 = 30;
var1 = var5;
0.58
var3
1.00
var4 = var3 + var2;
var4
int var6 = var5 % 7;
var5
indefinido
30
var1 = var4;
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Declaração e utilização de variáveis
Memória
int var1;
var1
30
double var2 = 0.58, var3 = 1.0, var4;
var2
0.58
int var5 = 30;
+
var1 = var5;
var3
1.00
var4 = var3 + var2;
var4
int var6 = var5 % 7;
var5
1.58
30
var1 = var4;
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Declaração e utilização de variáveis
Memória
int var1;
var1
30
double var2 = 0.58, var3 = 1.0, var4;
var2
0.58
int var5 = 30;
+
var1 = var5;
var3
1.00
var4 = var3 + var2;
var4
int var6 = var5 % 7;
var5
1.58
30
var1 = var4;
var6
30
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Declaração e utilização de variáveis
Memória
int var1;
var1
double var2 = 0.58, var3 = 1.0, var4;
30
var2
0.58
int var5 = 30;
var3
var1 = var5;
1.00
var4 = var3 + var2;
var4
int var6 = var5 % 7;
var5
1.58
30
var1 = var4;
var6
ERRO!!!
30
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Operadores aritméticos
Cada operador aritmético está localizado em uma ordem de execução. Essa
ordem é muito semelhante àquela sabida e utilizada por nós na matemática:
a) a execução do produto e da divisão
precede a soma e a subtração;
b) as operações de mesma precedência
são realizadas da esquerda para a direita;
c) utiliza-se parênteses para modificar
ou ressaltar a ordem de cálculo de
expressões aritméticas.
Exemplos:
double a, b;
a = 10; b = 5;
a = a*b+2*3+b;
b = 2*3+( (a-50)*2+(b+1) );
double x = (a + b)/a*b;
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Exemplos
1. Considerando o código abaixo, verifique inicialmente se há algum erro que
pode ser evidenciado na compilação. Posteriormente, liste os valores de
todas as variáveis depois de sua execução.
int a, b = 10, c = 20;
float d = 30, e = 1.5;
double f = 1.5;
a = b + c;
c = b – a;
d = 2*d + e;
f = 5*f;
b = f;
2. Crie um programa que declare duas variáveis (a e b), atribua quaisquer
valores a elas e armazene os resultados das duas expressões abaixo nas
variáveis f1, f2 e f3 como mostrado abaixo.

ab 
f1
2
2
,
f 2  2a  b  e

a  b
f3
2a
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Exemplos
1. Considerando o código abaixo, verifique inicialmente se há algum erro que
pode ser evidenciado na compilação. Posteriormente, liste os valores de
todas as variáveis depois de sua execução.
int a, b = 10, c = 20;
float d = 30, e = 1.5;
Resposta:
double f = 1.5;
int a, b = 10, c = 20;
float d = 30, e = 1.5;
double f = 1.5;
a = b + c;
c = b – a;
d = 2*d + e;
f = 5*f;
b = f;
// a = 30
// c = -20
// d = 61.5
// f = 7.5
// erro!!
a = b + c;
c = b – a;
d = 2*d + e;
f = 5*f;
b = f;
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Exemplos
2. Crie um programa que declare duas variáveis (a e b), atribua quaisquer
valores a elas e armazene os resultados das duas expressões abaixo nas
variáveis f1, f2 e f3 como mostrado abaixo.

ab 
f1
2
2
,
f 2  2a  b  e
double a = 10, b = 20;
double f1, f2, f3;
f1 = (a + b*b)/2;
f2 = 2*(a+b);
f3 = (a+b)/(2*a);

a  b
f3
2a
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Tecnologia em Redes de Computadores
Exercício
1. Considerando o código abaixo, verifique inicialmente se há algum erro que
pode ser evidenciado na compilação. Posteriormente, liste os valores de
todas as variáveis depois de sua execução.
int a, b = 1, c = 3;
float d = 4, e = 10.5;
double f = 15;
a = b + 2*c;
c = c + b – a;
d = 2*d + e;
f = 5*f + 10;
a = d;
2. Crie um programa que declare duas variáveis (a e b), atribua quaisquer
valores a elas e armazene os resultados das duas expressões abaixo nas
variáveis f1, f2 e f3 como mostrado abaixo.

a  b
f1
b
,
f 2  2a  b a  b  e

f 3  a2  b

Download

aula01 - GEOCITIES.ws