faculdade de ciÊncias sociais e tecnolÓgicas tecnologia em redes de computadores algoritmos e...
TRANSCRIPT
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICASTecnologia em Redes de Computadores
Algoritmos e linguagens de programação 1
(aula 01)
Prof. Alessandro [email protected]://bsi.k6.com.br
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICASTecnologia em Redes de Computadores
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICASTecnologia 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ÓGICASTecnologia 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ÓGICASTecnologia em Redes de Computadores
Organização Básica de um Computador
Teclado
Mouse
Scanner
Processador
Disco rígido
RAM
Monitor
Impressora
Dispositivos de entrada
Dispositivos de saída
Unidade de processamento e armazenamento
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICASTecnologia em Redes de Computadores
Organização Básica de um Computador
Teclado
Mouse
Scanner
Processador
Disco rígido
RAM
Monitor
Impressora
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.
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICASTecnologia em Redes de Computadores
Organização Básica de um Computador
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.
Processador
Disco rígido
RAM
Dispositivosde
entrada
Dispositivosde
saída
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICASTecnologia em Redes de Computadores
Organização Básica de um Computador
Processador
Disco rígido
RAM
Dispositivosde
entrada
Dispositivosde
saída
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ÓGICASTecnologia em Redes de Computadores
Organização Básica de um Computador
Processador
Disco rígido
RAM
Dispositivosde
entrada
Dispositivosde
saída
Troca de informações por código binário.
Troca de informações por código binário.
010001001111011010100110101011001010010101010000111111001010111001101100100000011
Exemplo de conteúdo:
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICASTecnologia em Redes de Computadores
Organização Básica de um Computador
Processador
Disco rígido
RAM
Dispositivosde
entrada
Dispositivosde
saída
Troca de informações por código binário.
Troca de informações por código binário.
Exemplo de conteúdo:
010001001111011010100110101011001010010101010000111111001010111001101100100000011
Instruções
Dados
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICASTecnologia em Redes de Computadores
Organização Básica de um Computador
Exemplo de conteúdo:
010001001111011010100110101011001010010101010000111111001010111001101100100000011
Instruções
Dados
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ÓGICASTecnologia 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 000001 010010 020011 030100 040101 050110 060111 071000 081001 091010 10 ... ...
Observação:
Essa é uma seqüência de números binários que possuem 4 bits.
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICASTecnologia 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 21 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.
Alguns exemplos com 1 byte:
1 0 1 0 0 0 1 1
27 0 25 0 0 0 21 20+ + + + + + + = 163
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICASTecnologia 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 21 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.
Alguns exemplos com 1 byte:
0 0 0 1 0 1 0 0
0 0 0 24 0 22 0 0+ + + + + + + = 20
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICASTecnologia 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 21 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.
Alguns exemplos com 1 byte:
0 1 0 0 1 1 0 1
0 26 0 0 23 22 0 20+ + + + + + + = 77
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICASTecnologia 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
Obs.: Em 1 byte, pode-se representar 256 (28) números inteiros (0 a 255).
n bits
.....
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICASTecnologia 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 – 1 bits
.....
n bits
1 bit
Exemplificando considerandonú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ÓGICASTecnologia 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 – 1 bits
.....
n bits
1 bit
Exemplificando considerandonú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ÓGICASTecnologia 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 – 1 bits
.....
n bits
1 bit
Exemplificando considerandonúmeros com n = 8 (1 byte):
negativo
1 0 0 1 0 1 0 0
0 0 24 0 22 0 0+ + + + + + = - 20
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICASTecnologia 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 – 1 bits
.....
n bits
1 bit
Exemplificando considerandonúmeros com n = 8 (1 byte):
positivo
0 0 1 0 0 0 1 1
0 25 0 0 0 21 20+ + + + + + = + 35
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICASTecnologia 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 Caracter
00 0000 0000 Caracter Nulo
01 0000 0001 Começo de cabeçalho de transmissão
02 0000 0010 Começo de texto
03 0000 0011 Fim de texto
04 0000 0100 Fim de transmissão
05 0000 0101 Interroga
06 0000 0110 Confirmação
07 0000 0111 Sinal sonoro
08 0000 0100 Volta um caracter
09 0000 1001 Tabulação Horizontal
10 0000 1010 Próxima linha
11 0000 1011 Tabulação Vertical
12 0000 1100 Próxima Página
13 0000 1101 Início da Linha
Decimal Binário Caracter
48 0011 0000 0
49 0011 0001 1
50 0011 0010 2
51 0011 0011 3
52 0011 0100 4
53 0011 0101 5
54 0011 0110 6
55 0011 0111 7
56 0011 1000 8
57 0011 1001 9
58 0011 1010 :
59 0011 1011 ;
60 0011 1100 <
61 0011 1101 =
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICASTecnologia em Redes de Computadores
Números inteiros e código ASCII
Decimal Binário Caracter
65 0100 0001 A
66 0100 0010 B
67 0100 0011 C
68 0100 0100 D
69 0100 0101 E
70 0100 0110 F
71 0100 0111 G
72 0100 1000 H
73 0100 1001 I
74 0100 1010 J
75 0100 1011 K
76 0100 1100 L
77 0100 1101 M
78 0100 1110 N
79 0100 1111 O
80 0101 0000 P
81 0101 0001 Q
Decimal Binário Caracter
82 0101 0010 R
83 0101 0011 S
84 0101 0100 T
85 0101 0101 U
86 0101 0110 V
87 0101 0111 W
88 0101 1000 X
89 0101 1001 Y
90 0101 1010 Z
91 0101 1011 [
92 0101 1100 \
93 0101 1101 ]
94 0101 1110 ^
95 0101 1111 _
96 0110 0000 `
97 0110 0001 a
98 0110 0010 b
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICASTecnologia 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.
using namespace std;#include <iostream>
int main() {
cout << “Teste de programação”;
return(0)}
1001111010001110101101110011010101111011001101010101011011100101000101101011101011111000011100100101001000001101111110001100110111010101011100111110001100001111
COMPILADOR
CÓDIGO FONTE (C++)LINGUAGEM DE MÁQUINA
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICASTecnologia 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ÓGICASTecnologia em Redes de Computadores
C C++
Java
C#
Evolução do C++
PHP(1969) (1979)
(1990 – 2000)
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICASTecnologia em Redes de Computadores
Evolução do C++
C C++ C# e Java
Sem orientaçãoa objeto
Com orientaçãoa objeto
Com orientaçãoa objeto
Alto desempenho Alto desempenho Baixo desempenho
Pouca portabilidade Pouca portabilidade Grande portabilidade
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICASTecnologia 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ÓGICASTecnologia 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ÓGICASTecnologia em Redes de Computadores
Tipo CaracterísticaLargura em bits
Faixa representativa
int Número inteiro 32-2.147.483.648 a 2.147.483.647
float Ponto flutuante 321.8E-38 a 3.4E+38
doublePonto flutuante de precisão dupla
642.2E-308 a 1.8E+308
bool Booleano (lógico) 1Verdadeiro ou
falso
char Caracter 8-127 a 127
(Tabela ASCII)
Tipos de dados do C++
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICASTecnologia em Redes de Computadores
Memória Número inteiro
a (32 bits)
1 31
Sinal Representação binária
Tipos de dados do C++
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICASTecnologia em Redes de Computadores
Operador Significado
= Atribuição
+ Adição
- Subtração
* Multiplicação
/ Divisão
% Módulo
++ Incremento
-- Decremento
Dois argumentos(binário)
Um argumento(unário)
Operadores aritméticos
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICASTecnologia em Redes de Computadores
Operador Significado
+= Somar e atribuir
-= Subtrair e atribuir
*= Multiplicar e atribuir
/= Dividir e atribuir
Dois argumentos(binário)
Operadores aritméticos (continuação)
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICASTecnologia em Redes de Computadores
X++; é equivalente a X = X + 1;
que pode ser resumido por X += 1;
X--; é equivalente a X = X - 1;
que pode ser resumido por X -= 1;
A expressão X = X + A pode ser resumida
por X+=A.
Operadores aritméticos
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICASTecnologia em Redes de Computadores
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.
Operadores aritméticos
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICASTecnologia em Redes de Computadores
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.
Estrutura geral
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICASTecnologia em Redes de Computadores
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.
Declaração de variáveis
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICASTecnologia em Redes de Computadores
Exemplo:
int var1;
double var2 = 0.58;
Declaração de variáveis
Memória
var2 (64 bits)
1 31
Sinal Representação binária
var1 (32 bits)
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICASTecnologia 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:
numero1a14_10n123456_AbCd
Formação incorreta:
intnumero.de.pessoasnum1(inteiro)2aa a
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICASTecnologia em Redes de Computadores
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;
Declaração e utilização de variáveis
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICASTecnologia em Redes de Computadores
int var1;
double var2 = 0.58, var3 = 1.0, var4;
int var5 = 30;
var1 = var5;
var4 = var3 + var2;
int var6 = var5 % 7;
var1 = var4;
Declaração e utilização de variáveis
Memória
var1
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICASTecnologia em Redes de Computadores
int var1;
double var2 = 0.58, var3 = 1.0, var4;
int var5 = 30;
var1 = var5;
var4 = var3 + var2;
int var6 = var5 % 7;
var1 = var4;
Declaração e utilização de variáveis
Memória
var1
var2
var3
var4
0.58
1.00
indefinido
indefinido
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICASTecnologia em Redes de Computadores
int var1;
double var2 = 0.58, var3 = 1.0, var4;
int var5 = 30;
var1 = var5;
var4 = var3 + var2;
int var6 = var5 % 7;
var1 = var4;
Declaração e utilização de variáveis
Memória
var1
var2
var3
var4
0.58
1.00
indefinido
indefinido
var5
30
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICASTecnologia em Redes de Computadores
Declaração e utilização de variáveis
Memória
var1
var2
var3
var4
0.58
1.00
30
indefinido
var5
30
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ÓGICASTecnologia em Redes de Computadores
Declaração e utilização de variáveis
Memória
var1
var2
var3
var4
0.58
1.00
30
1.58
var5
30
+
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ÓGICASTecnologia em Redes de Computadores
Declaração e utilização de variáveis
Memória
var1
var2
var3
var4
0.58
1.00
30
1.58
var5
30
+
int var1;
double var2 = 0.58, var3 = 1.0, var4;
int var5 = 30;
var1 = var5;
var4 = var3 + var2;
int var6 = var5 % 7;
var1 = var4;var6
30
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICASTecnologia em Redes de Computadores
Declaração e utilização de variáveis
Memória
var1
var2
var3
var4
0.58
1.00
30
1.58
var5
30
ERRO!!!
int var1;
double var2 = 0.58, var3 = 1.0, var4;
int var5 = 30;
var1 = var5;
var4 = var3 + var2;
int var6 = var5 % 7;
var1 = var4;var6
30
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICASTecnologia 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.
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;
Exemplos:
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICASTecnologia 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.
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.
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
bafebaf
baf
2322,
21
2
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICASTecnologia 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;
int a, b = 10, c = 20;float d = 30, e = 1.5;double f = 1.5;
a = b + c; // a = 30c = b – a; // c = -20d = 2*d + e; // d = 61.5f = 5*f; // f = 7.5b = f; // erro!!
Resposta:
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICASTecnologia 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
bafebaf
baf
2322,
21
2
double a = 10, b = 20;
double f1, f2, f3;
f1 = (a + b*b)/2;
f2 = 2*(a+b);
f3 = (a+b)/(2*a);
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICASTecnologia 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.
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.
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;
bafebabafb
baf
2322,1