Вы находитесь на странице: 1из 110

A curiosidade e a imaginao so mais

importantes do que o conhecimento.


Albert Einstein
[http://pensador.uol.com.br/frases_de_albert_einstein/2/]
Carga Horria de 100 horas;
Cinco Mdulos: quatro com 24 horas
cada e um com 4 horas;
Os quatro primeiros mdulos com 6
encontros de 4 horas o ltimo com um
encontro de 4 horas: 25 encontros;
Interaes online de 50 horas;
Avaliao feita por desempenho:
participao + exerccios + interao + cooperao;
2
1. Algoritmos e Estrutura de Dados;
2. Programao Orientada a Objetos;
3. Anlise Orientada a Objetos e Banco de
Dados;
4. Programao de Interface Grfica com
Usurio (GUI);
5. Controle de Verso

3
1. Introduo aos Sistemas Computacionais;
2. Sistemas Numricos;
3. Conceitos de Algoritmo e Estruturao do
pensamento;
4. Algoritmos Matemticos
5. Arrays e Matrizes
6. Estruturas de dados

4
1. Classe, Atributos, Mtodos, Construtores e
Instncias;
2. Sobrecarga de Mtodos e Operadores e Funes
Amigas;
3. Heranas Simples e Mltipla, Namespaces;
4. Polimorfismos e Funes Virtuais
5. Templates
6. Excees

5
1. Processo de Software;
2. Requisitos e diagrama de casos de uso;
3. Diagramas de Classe e de Interao
4. Banco de Dados
5. MySQL
6. Implementao do BD

6
1. Apresentao do Qt e principais
componentes;
2. Dilogos, Layouts e Sinais e Slots
3. Janela Principal e Menus
4. Arquitetura Model / View
5. Interligando ao Banco de Dados
6. Concluso do Projeto
7
1. Subversion

8
1. Informtica Bsica;
2. Ensino Fundamental;
3. Bom conhecimento de Matemtica
4. Curiosidade e Criatividade (Imaginao);
5. Disponibilidade para estudar fora da sala
de aula;
6. Muita, muita fora de vontade;
9
10
Conceitos de Dados, Processo, Informao,
Algoritmo, Instruo e Programa
Hardware e Software
Arquitetura Bsica de um Computador
Sistemas Operacionais
Aplicativos

11
Um dado qualquer caracterstica de um objeto,
ser ou sistema que possa ser registrado.
Processo o modo de fazer alguma coisa,
mtodo, maneira, procedimento.
Informao aquilo que se obtm ao processar
dados, o resultado do processamento de dados,
um elemento que pode ser usado para tomar
decises.
Processar dados consiste em aplicar aos
dados um conjunto de operaes lgicas e
matemticas que produzam uma informao que
pode ser usada para tomar decises

12
Base
de
Dados

Sistema Sada
Entrada Computacional Informao
Dados
processos

13
Base
de
Dados

Sistema Sada
Entrada Computacional Informao
Dados
processos

A computao pode ser definida como a busca de


uma soluo para um problema, a partir de
entradas (inputs), e atravs de um algoritmo.
com isto que lida a teoria da computao,
subcampo da cincia da computao e da
matemtica
14
O algoritmo uma sequncia finita e no ambgua de
instrues para solucionar um problema.
Eles podem repetir passos (fazer iteraes) ou necessitar
de decises (tais como comparaes ou lgica) at que a
tarefa seja completada.
Um algoritmo no representa, necessariamente, um
programa de computador, e sim os passos necessrios
para realizar uma tarefa.
Diferentes algoritmos podem realizar a mesma tarefa
usando um conjunto diferenciado de instrues em mais ou
menos tempo, espao ou esforo do que outros.
A implementao de algoritmos feita atravs de um
programa, que implementado utilizando o conjunto de
instrues disponveis pelo sistema.

15
O programa uma
sequncia lgica de
instrues que executa
um determinado
algoritmo com o objetivo
de resolver um
problema

16
O hardware um termo geral para equipamentos
como chaves, fechaduras, dobradias, trincos,
puxadores, fios, correntes, material de canalizao,
ferramentas, utenslios, talheres e peas de mquinas.
No mbito da rea de computao se aplica unidade
central de processamento (CPU), memria e aos
dispositivos de entrada e sada.

17
O termo "hardware" no se refere
apenas aos computadores pessoais
(PCs), mas tambm
aos equipamentos embarcados em
produtos que necessitam de
processamento computacional,
como os dispositivos encontrados
em equipamentos hospitalares,
automveis, aparelhos celulares,
entre outros.

18
19
20
21
Em complemento ao hardware, o software a parte
lgica, o conjunto de instrues e dados processado
pelos circuitos eletrnicos do hardware. Toda interao
dos usurios de computadores modernos realizada
atravs do software, que a camada, colocada sobre
o hardware, que transforma o computador em algo til
para o ser humano.

22
Inter-Process
Communication

23
24
25
Software aplicativo (aplicativo ou aplicao)
um programa de computador que tem por objetivo
ajudar o seu usurio a desempenhar uma tarefa
especfica, em geral ligada a processamento de dados.
Sua natureza diferente de outros tipos de software,
como sistemas operacionais e ferramentas a eles
ligadas, jogos e outros softwares ldicos.

26
Sistemas Numricos
Operaes sobre bits
Formato de nmeros naturais, inteiros e reais

27
28
Tem dez dgitos: 0 .. 9
Unidade, Dezena, Centena,
O nmero 125,43 pode ser representado como:
1 x 102 + 2 x 101 + 5 x 100 + 4 x10-1 + 3 x 10-2

Conjuntos Numricos: Naturais, Inteiros,


Racionais, Irracionais, Reais.
Exerccio: Algoritmo para inverter um
nmero.
29
Tem apenas dois dgitos: 0 .. 1
11100, 10011,
Converso de um nmero decimal por um binrio se d por meio
de sucessivas divises por 2:
325 / 2 = 162 resto 1
32510 162 / 2 = 81 resto 0
81 / 2 = 40 resto 1
40 / 2 = 20 resto 0
20 / 2 = 10 resto 0
10 / 2 = 5 resto 0
5 / 2 = 2 resto 1
2 / 2 = 1 resto 0
1 / 2 = 0 resto 1

- 1010001012
Nibbles, Bytes, Word, Dword
4 bits, 8 bits, [16 bits | 32 bits], [32 bits | 64 bits]*

* Depende da arquitetura da mquina

30
A quantidade de nmero possvel em um conjunto
de n bits 2n.
Se n = 4 ento 24 a quantidade de nmeros possveis.
A faixa de nmero para um conjunto de n bits 2n
1.
Nmeros inteiros com sinal usam o 1 bit para
representar o sinal
111001102 => -10210

31

Soma
11011001
10011011
101110100

Subtrao
11011001
10011011
00111110

Multiplicao
1001
11
1001
10010
11011
32
Diviso
1101101 / 10
10 110110
01
11
10
01
1

33
Em um hardware computacional, os nmeros so
representados em binrio apenas, sem smbolos
extras, requerendo um mtodo de codificao para
nmeros negativos.
Quatro mtodos existem para estender o sistema
binrio para representar nmeros com sinal: sinal-e-
magnitude, complemento para um, complemento de
dois, e excesso-N.

34
Primeiramente abordar o problema de representar um sinal de
nmero atravs da atribuio de um bit de sinal para representar o
sinal: define-se esse bit (o mais significativo) para 0 para representar
um nmero positivo, e define-se como 1 para representar um nmero
negativo. Os bits restantes do nmero representam a magnitude (ou
o valor absoluto).
Um byte com 8 bits, so utilizados 7 bits para representar o valor e
um bit para representar o sinal. Neste caso, o valor pode variar de
0000000 (0) a 1111111 (127). Assim, pode-se representar nmeros de
12710 a +12710, uma vez que voc adicione o bit de sinal (o oitavo bit).
Uma consequncia desta representao que existem duas
maneiras de representar o zero, 00000000 (0) e 10000000 (-0).
Alguns dos primeiros computadores binrios (por exemplo, o IBM
7090) usaram esta representao. Sinal de magnitude a forma
mais comum de representar os significando em valores de ponto
flutuante.
35
A forma de representar nmeros negativos em
"complemento para um" aplicar a operao bitwise
NOT (porta NOT) para os nmeros negativos (com -), ou
seja, o complemento da sua contraparte positiva.
Exemplo:
001010112 (4310) X 11010100 (-43)

36
Tabela com dados de 7 bits
37
O conjunto de caracteres dividido em quatro grupos de 32 caracteres: Realizam operaes
diferentes a
0 31: caracteres no imprimveis chamados caracteres de controle1 depender do
32 63: smbolos de pontuao, caracteres especiais e dgitos numricos2; dispositivo de sada

64 95: caracteres alfabticos maisculos3 e vrios smbolos especiais;


96 127: smbolos alfabticos minsculos3, cinco smbolos adicionais especiais
e outro caractere de controle (delete)

1. 13 (CR) +10 (NL) no Windows e 13 (CR) no Unix (e likes)


2. num 48
3. A + 32 = a 38
Os bits cinco e seis determinam o grupo ao qual o caractere ASCII pertence

Bit 5 Bit 6 Grupo


0 0 Caracteres de Controle
0 1 Dgitos e caractere de pontuao
1 0 Maisculas e especiais
1 1 Minsculas e especiais
39
40
(signed | unsigned)? char: 8 bits;
(signed | unsigned)? short int: 16 bits;
(signed | unsigned)? (long | long long)? int: 32, 64, 128
bits depende da arquitetura.

Z
41
1. Converta 20510 em binrio;
2. Quantos bytes so necessrios para armazenar o nmero 102410;
3. Usando 32 bits quantos valores diferentes podem ser criados e
qual o maior valor? Qual a relao com as figuras abaixo?
4. X10 = 10011110012, quem X?
5. Some 1110011 com 110010.
6. Subtraia 1110 de 10001101.
7. Multiplique 11011 por 11.
8. Divida 1011110 por 101.

42
Relembrando matemtica
Nmeros mistos: 3 , 5 ( e respectivamente)
Nmeros fracionrios: 3,25 e 5,125
As partes: 3 + 0,25 3+ 3+ 3+

43
Para mover a vrgula para direita divide-se o nmero
por 10;
Para mover a vrgula para esquerda multiplica-se o
nmero por 10;
3 2 1 , -1 -2 -3
5 ,
0 , 1
0 , 0 2
0 , 0 0 5
103 102 101 , 10-1 10-2 10-3
44
Nmeros como 0,50; 0,25; 0,125 podem ser
representado como , , ou em suas
equivalentes mais simples , , ou , ,
Como 2, 4, 8, so potencias de 2 eles podem facilmente
ser convertidos para 102,1002,10002 ento 0,50 se torna
0,12; 0,25 se torna 0,012 e 0,125 0,0012
5,125 passa para binrio como 101,0012

45
5,37510
Forma mais
simples

0,0012 0,012 ,

5,37510 = 101,0112
2 x 0,375 = 0,75
2 x 0,75 = 1,50
2 x 0,5 = 1,00

23 = 810 (10002)
46
1. Converta para binrios os nmeros abaixo:
5,110
6,2310
8,062510
12,16010

47
Para mover a vrgula para direita divide-se o nmero
por 2;
Para mover a vrgula para esquerda multiplica-se o
nmero por 2; 3 2 1 , -1 -2 -3
1 0 1 , 0 0 1
0 , 1
0 , 0 1
0 , 0 0 1
23 22 21 , 2-1 2-2 2-3

48

Notao Cientfica:
uma forma de escrever nmeros que acomoda valores demasiadamente
grandes (100000000000) ou pequenos (0,00000000001) para serem
convenientemente escritos em forma convencional.
O uso desta notao est baseado nas potncias de 10 (os casos exemplificados
acima, em notao cientfica, ficariam: 1 1011 e 1 1011, respectivamente).
Um nmero escrito em notao cientfica segue o seguinte modelo:

m x 10e
O nmero m denominado mantissa e e a ordem de grandeza (expoente de dez).
A mantissa representa os dgitos significativos e, em mdulo, deve ser maior ou igual
a 1 e menor que 10, e a ordem de grandeza, dada sob a forma de expoente, o
nmero que mais varia conforme o valor absoluto

49

Notao Cientfica:
Notao E
A letra "E" ou "e" representa "vezes 10 elevado potncia",
repondo ento o " 10n: 23E-2
Foi atravs da notao cientfica que foi concebido o
modelo de representao de nmeros reais atravs
de ponto flutuante.
A codificao em ponto flutuante dos computadores atuais
basicamente uma notao cientfica de base 2.

50

No computador:
comum utilizar um conjunto de N bits (tipicamente N = 32 ou 64,
para representar nmeros em ponto flutuante com preciso simples
ou dupla) para armazenar valores em ponto flutuante em uma forma
normalizada:
+/- 0,mantissa * base +/- expoente
Representa Regula o
os dgitos alcance
significativos

SN SE Expoente Mantissa
1 bit 1 bit X bits Y bits
<------------------------------------------ N bits ---------------------------------------->
51

No computador:
+/- 0,mantissa * base +/- expoente
Representa os Regula o
dgitos alcance
significativos
ou preciso
SN SE Expoente Mantissa
1 bit 1 bit X bits Y bits
<------------------------------------------ N bits ---------------------------------------->

2X expoentes Valor formado


possveis e 2x 1 por Y bits
o maior valor
possvel
52
O maior nmero real representvel
+(0.111...1 x 2E), sendo E = 2x 1
O menor nmero real representvel :
-(0.111...1 x 2E), sendo E = 2x 1
Positivo, virgula
avana para direita
Observe o mdulo:
|0.111...1 x 2E| isto um nmero muito perto de 1
|---------------------|
Y bits 0 ... 1

53
O menor nmero real positivo :
+(0.100...0 x 2-E), sendo E = 2x 1
O maior nmero real negativo :
-(0.100...0 x 2-E), sendo E = 2x 1
Observe o mdulo: Negativo, virgula
Y bits avana para esquerda
|-------------------|
|0.100...0 x 2-E| isto um nmero muito perto de 0
(-) 0 (+)
Zeros direita, no
tem valor 54

Exerccio:
SN SE Expoente Mantissa
1 bit 1 bit 4 bits 6 bits
<------------------------------------------N bits---------------------------------------->
Qual o maior nmero Real representvel?
Qual o menor nmero Real representvel?
Qual o menor nmero Real positivo?
Qual o maior nmero Real negativo?

55
float : 32bits (seis dgitos de preciso)
(long)? double: 64 bits, 80 bits (10 dgitos de preciso)

R
56
1.
Responda:
SN SE Expoente Mantissa
1 bit 1 bit 4 bits 6 bits
<------------------------------------------N bits---------------------------------------->
Qual o maior nmero Real representvel?
Qual o menor nmero Real representvel?
Qual o menor nmero Real positivo?
Qual o maior nmero Real negativo?
2. O que o padro IEEE 754

57
1. Com relao ao nmero binrio 10011110011012
responda:
Que valor decimal inteiro sem sinal ele representa?
Que valor decimal inteiro com sinal ele representa?
Se representa um nmero com ponto flutuante e sua
mantissa tem 7 bits, o expoente tem 4 bits que valor
representa?

58
Proposies Lgicas e Tabelas Verdade
Estruturas de deciso
1. se-seno (if-else);
2. caso (switch-case)
Estruturas de repetio
1. enquanto (while);
2. faa-enquanto (do-while);
3. para (for)

59
Proposio:
ato ... de submeter a exame ou deliberao
enunciado verbal susceptvel de ser declarado verdadeiro
ou falso.
Em lgica e matemtica, uma lgica proposicional
um sistema formal no qual as frmulas
representam proposies que podem ser formadas pela
combinao de proposies atmicas usando conectivos
lgicos e um sistema de regras de derivao, que permite
que certas frmulas sejam estabelecidas como
"teoremas" do sistema formal.
Teorema: Proposio que pode ser demonstrada
utilizando axiomas (proposio tida como verdadeira sem
demonstrao, mas cujo o carter aparente) e
postulados (idem, mas no aparente).
60
A linguagem de um clculo proposicional consiste em:
um conjunto de smbolos primitivos, definidos como frmulas
atmicas, proposies atmicas, ou variveis, e
um conjunto de operadores, interpretados como operadores
lgicos ou conectivos lgicos.
As proposies lgicas podem ser classificadas em dois tipos:
Proposio atmica (ou simples) So representadas de
forma nica.
Ex: O cachorro um mamfero
Proposio composta So formadas por um conjunto de
proposies simples, ( duas ou mais proposies simples ligadas por
conectivos lgicos).
Ex: Braslia a capital do Brasil ou Lima a capital do Peru.

61
Sendo P e Q proposies lgicas, ento:
P Q PeQ
0 0 0 P Q P ou Q
0 1 0 0 0 0 P Q P xou Q
1 0 0 0 1 1 0 0 0
1 1 1 1 0 1 0 1 1
1 1 1 1 0 1
P ~P
1 1 1
0 1
1 0

62
Retorna como resultado Verdade ou Falsidade
< (maior que)
> (menor que)
>= (maior ou igual)
<= (menor ou igual)
== (igual)
!= (diferente)

63
Retorna como resultado Verdade ou Falsidade
&& (E lgico)
|| (OU lgico)
! (NO lgico)

64
65
66
67
O nome "compilador" usado principalmente para os
programas que traduzem o cdigo fonte de
uma linguagem de programao de alto nvel para
uma linguagem de programao de baixo nvel (por
exemplo, Assembly ou cdigo de mquina).
Um programa que faz uma traduo entre uma
linguagem de montagem e o cdigo de mquina
denominado montador (assembler)

68
GCC
GDB
G++
Editor de Texto
QSDK e QtCreator

69
Sistema
Entrada Computacional Sada
Dados Informao

Console
70
A estrutura de deciso funciona como um ponto de
escolha de que caminho se deve seguir.
Um proposio lgica e/ou relacional apresentada
para avaliao quanto a sua verdade;
Se a proposio for avaliada como verdadeira o fluxo
do algoritmo sofrer um desvio.

se(<condio>) ento
inicio V
<conjunto de instrues> ?
fim;
F
71
Escreva um algoritmo que seja capaz de receber do
usurio um valor inteiro e verifique se ele par ou
impar.
#include <stdio.h>
algoritmo ehPar;
variveis int main(){
inteiro n; int n;
inicio printf(Informe N: );
escreva(Informe N: ); scanf(%d,&n);
N?
leia(n);
se (N % 2) = 0 ento
se ( (n % 2) = 2) ento if( (n%2) == 0 )
escreva(N, par.);
escreva( par.); printf( par.\n);
fim.
return 0;
Portugus
}
Lgica do problema estruturado 72
Linguagem C
1. Escreva um algoritmo que seja capaz de receber do
usurio dois valores flutuante como duas notas de
um aluno e verifique se ele passou ou no na
disciplina. A mdia 6,0.
2. Modifique o algoritmo anterior para que o usurio
fique sabendo o quanto faltou para alcana a mdia
para aluno reprovado e o quanto passou da mdia
caso tenha ficado acima da mdia. Se o aluno passou
com a mdia informe isto tambm.

73
Estrutura de deciso para valores ordinais: letras, nmeros, e outro que
veremos posteriormente no curso.
Funcionamento parecido com se-seno-se.

caso(valor_ordinal)
incio
v1:
<conjunto de instrues para o caso v1>
v2:
<conjunto de instrues para o caso v2>
v3:
<conjunto de instrues para o caso v3>
.
.
.
padro:
Conjunto de instrues para quando todas falharam
fim;
74
Repete um conjunto de instrues enquanto
uma dada condio for verdadeira.
Se a condio for falsa, pode no acontecer
nenhuma vez.

enquanto(<condio de continuao>)
inicio
<conjunto de instrues>
fim;

75
Escreva um algoritmo que mostre ao usurio uma
lista enumerada de 1 a 4 demostrando quatro
operaes diferentes. A primeira operao solicita
ao usurio a sua idade e verifica se ele criana,
adulto ou idoso. A segunda operao solicita ao
usurio trs valores e verifica se forma um
tringulo, se formar um tringulo diz se ele
equiltero, issceles ou escaleno. A terceira opo
solicita ao usurio um nmero inteiro e apresente o
inverso do nmero. E a quarta opo solicita ao
usurio dois nmeros inteiros. O primeiro servir de
base e o outro de expoente em um calculo de
potncia. Caso usurio digite um valor diferente de
1, 2, 3 ou 4, uma mensagem de erro deve ser dada.
76
Modifique o algoritmo do ltimo exerccio
para que s pare quando o usurio digitar
uma condio de parada.

77
Repete um conjunto de instrues enquanto
uma dada condio for verdadeira.
executado pelo menos uma vez
faa
<conjunto de instrues>
enquanto(<condio de continuao>);

78
Modifique o algoritmo do ltimo exerccio
para que use faa-enquanto;

79
O para uma estrutura que repete um
conjunto de instrues at que uma dada
condio seja alcanada.
para <condio inicial> at <condio final> faa
inicio
<conjunto de instrues>
fim;

80
Escreva um algoritmo capaz de gerar os dez
primeiros mltiplos de um nmero dado
pelo usurio.

81
Reconhece padres
Formada por meta-caracteres;
. Ponto (Aceita qualquer coisa)
[] Lista (Diz o que quer)
{} Quantificador (Diz o quanto quer)
\ Escape (Foge do meta significado)

82
Um estado em um sistema define um
conjunto de aes.
Cada estado pode ser parte de uma soluo
maior.
Os estados so representados graficamente
por um grafo;

83
Construa uma mquina de estados que reconhea
a seguinte expresso regular:

http://(w{3}\.)?[a-z0-9_-]+\.[a-z]{3,4}(\.[a-z]{2})?

84
Algoritmos Matemticos
Fatorial;
Fibonacci;
Fatorao de um nmero;
Nmeros primos;
Sequncias;
PG e PA
Funes
Cabealhos
Passagem por valor

85
A funo fatorial normalmente definida por:

Por exemplo,

Note que esta definio implica em particular que

porque o produto vazio, isto , o produto de nenhum nmero 1.

86
Qualquer nmero inteiro positivo, maior
do que um, pode ser escrito univocamente
como o produto de vrios nmeros primos
(chamados fatores primos). Ao processo 24 2
que recebe como argumento um nmero e 12 2
devolve os seus fatores primos chama- 6 2
se decomposio em fatores primos. 3 3
1

87
Um nmero natural um nmero
primo quando ele tem exatamente
dois divisores distintos: o nmero um e ele
mesmo. Existem infinitos nmeros primos,
como demonstrado por Euclides por volta
de 300 a.C.. Nos inteiros,
um primo se ele tem exatamente quatro
divisores distintos: 1 .

88
Em matemtica, uma sequncia (ou
uma sucesso) uma lista (conjunto) de
nmeros (ou variveis que os
representem). Formalmente, a sequncia
uma lista cuja ordem definida por uma
"lei", uma funo especfica.
0, 2, 4, 6, 8, 10, ...

89
N=5 : N=6 :654456
N=6 : Para N par

90
Uma progresso aritmtica (abreviadamente,
P. A.) uma sequncia numrica em que cada
termo, a partir do segundo, igual soma do
termo anterior com uma constante r. O
nmero r chamado de razo ou diferena
comum da progresso aritmtica.
2, 5, 8, 11, 14, 17, ...

91
1. Escreva um algoritmos capaz de gerar os
N primeiros termos de uma PG

92
Em programas grandes, uma boa prtica dividir o
problema em problemas menores e menos complexos.
Cdigo que se repete deve ser colocado em uma funo
para REAPROVEITAMENTO.
A forma geral do cabealho de uma funo :
<tipo_de_retorno> nome(<lista_de_parmetros>);
O ideal que a especificao fique separada do
implementao em um arquivo de cabealho (.h);
Uma funo pode ter vrias implementaes para uma
mesma especificao.
Uma funo que chama a ela mesma chamada recursiva.

93
1. Crie uma biblioteca de funes com os algoritmos
deste encontro.
2. Implemente a funo fatorial recursivamente.

94
Arrays
Matrizes
Ponteiros
Passagem por referncia
Strings
Structs

95
Um array uma srie de elementos do mesmo
tipo colocados em locais contnuos da memria
que podem ser referenciados individualmente
ao adicionar um ndice a um identificador nico.
Seu identificador aponta para o primeiro
elemento no array.
O tamanho deve ser definido ao declar-lo. E
seu tamanho em bytes se d por sizeof(<type>)
* TAM_DO_ARRAY

i 0 1 2 3 4 5 6 7 8 9
96
Escreva um algoritmo que seja capaz de
armazenar 10 valores inteiro fornecidos
pelo usurios, dobre estes valores e
apresente-os de trs pra frente.

12 56 89 52 63 74 24 59 6 28
i 0 1 2 3 4 5 6 7 8 9

28 6 59 24 74 63 52 89 56 12
i 9 8 7 6 5 4 3 2 1 0

97
Um Array de Arrays
Duas dimenses
Podemos referenciar seus elementos
individuas informando o ndice da linha e
da coluna.
j 0 1 2 3 4 5 6 7 8
i 0
1
2
3
4
98
5
1. Crie uma matriz quadrada e preencha-a
colocando 1 na diagonal principal e 0 nos
demais elementos.
2. Usando 0 para representar a cor preta e 1
para representar a cor branca preencha
uma matriz 8 X 8 na configurao de uma
tabuleiro de xadrez.

99
3. Crie um algoritmo capaz de receber do
usurio alguns valores (diferentes de
zero) at que uma matriz qualquer esteja
preenchida (o programador decide o
tamanho). Para inserir o valor, duas
condio devem ser atendidas: 1. a linha
em que ele vai ser inserido deve ser
escolhida com base no mdulo das linhas
e 2. o valor s pode entrar se a linha no
estiver cheia.
2 8 16 0 0
1 17 0 0 0
3 16 22 ... 0
100 2 ... ... 0 0
A memria do computador organizada
como um array de bytes.
Cada byte tem um ndice conhecido como
endereo.
O Ponteiro usado para acessar os
endereos da memria.
Cada ponteiro tem um tipo, para lidar com a
quantidade certa de bits.
pt

AB3F
11010100
101
Escreva um programa de computador
capaz de modificar uma varivel de forma
indireta.

pt

AB3F
11010100
102
Passagem de parmetros por valor: A funo
recebe uma cpia da varivel que fornecida
quando invocada. Todas as alteraes feitas
dentro da funo no vo afetar os valores
originais.
Passagem de parmetros por referncia: Neste
caso o que enviado para a funo uma
referncia s variveis utilizadas, e no uma
simples cpia, pelo que as alteraes realizadas
dentro da funo iro certamente alterar os
valores contidos nessas variveis.
pt

AB3F
11010100
103
Escreva uma funo capaz de receber dois
parmetros inteiros e trocar os valores
entre eles.

pt

AB3F
11010100
104
Se o tipo do ponteiro tiver um byte ento somar 1
ao ponteiro levar para o prximo byte. Se tiver
dois bytes, somar 1 ao ponteiro o levar ao dois
byte aps e assim sucessivamente.

pt

AB3F
11010100
105
Todo identificador de array um ponteiro para o
primeiro elemento do array.
O seu valor imutvel
O valor de um identificador de array pode ser
atribudo a um ponteiro e os demais itens podem ser
acessados usando o ponteiro.
possvel acessar os elementos de um array usando
aritmtica de ponteiros.

pt

AB3F
11010100
106
Alocao Esttica
Alocao Dinmica;
malloc()
free()

pt

AB3F
11010100
107
V a l d o m i r o \0

Um array de caracteres
terminado com um caractere
nulo.
Arrays de struct
Lista: Uma Estrutura
Encadeamento: Simples, Duplo, Circular
Poltica: Fila (FIFO) e Pilha (FILO)
rvore;

109
Arrays de struct
Lista: Uma Estrutura
Encadeamento: Simples, Duplo, Circular
Poltica: Fila (FIFO) e Pilha (FILO)
rvore;

110

Вам также может понравиться