Buscar

aula_01

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 72 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 72 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 72 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

CCF 110
ALGORITMO E ESTRUTURA ALGORITMO E ESTRUTURA 
DE DADOS IDE DADOS I
Universidade Federal de Itajubá
Prof. Roberto Affonso da Costa Junior
AULA 01 – 1/2AULA 01 – 1/2
– Introdução ao curso
– Sistema de programação
Prof. Roberto Affonso da Costa Junior
rcosta62br@gmail.com
http://www.rcosta62br.unifei.edu.br
(35) 3629.1351
Instituto de Ciências Exatas
Departamento de Matemática e Computação
O cursoO curso
• Tipo de aulas
– Expositivas no quadro 
– Apresentação de transparências
– Apresentação de slides
AvaliaçãoAvaliação
2 – Provas de 0 a 100 pontos (P1 e P2)
1 – Prova Substitutiva de 0 a 100 pontos (NS)
2 – Trabalhos de 0 a 100 pontos (T1 e T2)
O Trabalho T1 será composto da seguinte forma:
- Serão aplicados 7 trabalhos até a prova P1, a nota 
do trabalho T1 é a média das 5 notas maiores dos 7 
trabalho.
O Trabalho T2 será composto da seguinte forma:
- Serão aplicados 7 trabalhos até a prova P2, a nota 
do trabalho T2 é a média das 5 notas maiores dos 7 
trabalho.
AvaliaçãoAvaliação
A perda de uma prova só será substituída em casos 
excepcionais julgado pelo professor ou com autorização da 
PRG.
Os trabalhos deverão ser entregues no dia. Qualquer trabalho 
fora do prazo NÃO SERÁ ACEITO.
Como visto, no slide anterior, o ALUNO pode perder 2 
trabalho por prova.
AvaliaçãoAvaliação
A composição das Notas 1 e Notas 2 (N1 e N2) será feita da 
seguinte forma:
Se P1 (ou P2) >= 85
Então N1 (ou N2) = P1 (ou P2) * 0,85 + T1 (ou T2) * 0,15
Senão Se P1 (ou P2) >= 70 e P1 (ou P2) < 85
Então N1 (ou N2) = P1 (ou P2) * 0,80 + T1 (ou T2) * 0,20
Senão Se P1 (ou P2) >= 50 e P1 (ou P2) < 70
Então N1 (ou N2) = P1 (ou P2) * 0,75 + T1 (ou T2) * 0,25
Senão N1 (ou N2) = P1 (ou P2) * 0,70 + T1 (ou T2) * 0,30
AvaliaçãoAvaliação
A nota final será composta de:
Nota Final (NF) = (N1 + N2) / 2
Se NF >= 60
Então “APROVADO”
Senão “REPROVADO”
A prova Substitutiva, vai substituir a nota da prova P1 ou P2, 
a menor delas.
Datas ImportantesDatas Importantes
• Primeira prova bimestral
• Segunda prova bimestral
• Prova Substitutiva
– As provas serão nas horas da aula, com duração 
de 100 minutos.
Simulação da ProvaSimulação da Prova
Pedro tirou as notas: 
P1 = 85, T1 = 10, P2 = 90, T2 = 20
Sua notas foram: N1 = 74 e N2 = 80 – NF = 77
Marciano tirou as notas: 
P1 = 70, T1 = 30, P2 = 75, T2 = 60
Sua notas foram: N1 = 62 e N2 = 72 – NF = 67
Manoel tirou as notas: 
P1 = 55, T1 = 100, P2 = 50, T2 = 100
Sua notas foram: N1 = 69 e N2 = 65 – NF = 67
REPAREMREPAREM COMO O TRABALHO COMO O TRABALHO 
AJUDA!!!AJUDA!!!
Sugestão de BibliografiaSugestão de Bibliografia 
Roberto Affonso da Costa Junior
Notas de Aulas
Dirceu Douglas Salvetti , Lisbete Madsen Barbosa 
Algoritmos
Markron Books – 1998
Brian W. Kernighan, Dennis M. Ritchie
 C – A Linguagem de Programação
 Editora Campus – 2002
Ascencio, A. F. G. e Campos, E. A. V.
Fundamentos de Programação de Computadores – Algoritmos, Pascal 
e C/C++
Editora Prentice Hall, 2003
Sugestão de JogosSugestão de Jogos 
O que vou ver nesse curso?
1. Que TAL FAZER ELE SER DIVERTIDO.
2. Que TAL FAZER ELE SER ATRAENTE.
3. Que TAL ABRIR MINHA CABEÇA PARA A 
UNIVERSIDADE.
ISSO QUE VAI SER O CURSO.
ENTÃO VAMOS JOGAR.ENTÃO VAMOS JOGAR.
http://www.pontuschka.com/portal/index.php?
option=com_content&view=article&id=13
Sugestões para seu bom Sugestões para seu bom 
desempenho no cursodesempenho no curso
• Não falte às aulas;
• Não tenha vergonha de fazer perguntas para 
tirar suas dúvidas durante as aulas;
• Não deixe para estudar às vésperas das 
provas;
• Procure seu professor em sua sala, sempre 
que uma dúvida não tiver sido bem 
esclarecida;
• O aluno não será atendido pelo professor às 
vésperas das provas;
• Sempre que possível, utilize o computador 
para tirar suas dúvidas;
• Procure também os alunos monitores de 
ensino, para ser ajudado nas tarefas 
escolares ( horários disponíveis nos quadros 
de avisos );
• Jamais tente colar ou passar cola para outros 
durante as atividades escolares; as penas 
institucionais são muito rígidas a este 
respeito. O aluno, se pego nestas situações, 
é punido com a perda da disciplina.
• Qualquer dúvida com relação à disciplina, 
procure o professor da mesma ou leia 
diariamente os quadros de avisos oficiais; 
não confie em boatos ou “fiquei sabendo”, ou 
“disseram” etc. 
A importância da disciplina no A importância da disciplina no 
currículo da engenhariacurrículo da engenharia
Preparar os alunos do curso, para 
programação de computadores digitais 
através de uma linguagem de alto nível. 
Dessa forma, ao finalizarem este curso, os 
alunos estarão habilitados a conceber, 
definir, projetar, implementar e validar 
programas envolvendo as atividades naturais 
de seu aprendizado em outras disciplinas, ou 
outras atividades, tais como por exemplo, 
pesquisas e iniciação cientifica.
• Além disso, o engenheiro é usuário 
obrigatório desta ferramenta, principalmente 
na área de engenharia, onde inúmeras 
aplicações utilizam o computador como 
instrumento para resolver as atividades 
relativas à área.
• Trabalhos complexos e frequentes, 
atualmente só podem ser realizados com a 
utilização de computadores. 
• Daí a grande importância do aprendizado 
desta disciplina no seu currículo.
IntroduçãoIntrodução
• Processamento de dados
– O que é ?
– O que significa a palavra ‘dados’ ?
• Lógica
– O que é ?
– Lógica humana ?
– Lógica matemática ?
O ComputadorO Computador
• O que é ?
• Depende de alguém para comandá-lo ?
• Vantagens:
– Velocidade
– Memória
• Guardar a informação
• Buscar a informação
Componentes do ComputadorComponentes do Computador
• Unidade central de processamento ( CPU )
– Unidade lógica aritmética
– Unidade de armazenamento
– Unidade de controle
• Periféricos 
– Unidade de entrada
– Unidade de saída 
– Memória auxiliar
Definições básicasDefinições básicas
• HARDWARE
– Parte física do computador
• SOFTWARE
– Parte lógica ( programas, instruções, etc )
AAplicaçõesplicações
• Todas as áreas de nossa vida:
– Alto nível
– Diversão
– Bancária
– Medicina
– Industrial
– Comercial
– Doméstico
– Etc.
História do ComputadorHistória do Computador
● No dicionário do AURÉLIO você encontra a 
palavra COMPUTADOR.
● adj. e s.m. Que ou aquele que computa. Máquina 
composta de um número variável de unidades 
especializadas, comandadas por um mesmo 
programa gravado, que, sem intervenção humana 
direta, permite efetuar complexas operações 
aritméticas e lógicas com fins estatísticos, 
administrativos, contabilísticos etc.
História do ComputadorHistória do Computador
História do ComputadorHistória do Computador
ProgramaçãoProgramação
• O que é ?
conjunto de instruções com o objetivo de ordenar 
ao computador a execução de tarefas bem 
defini-das
• Exemplo Numérico
 Calcular a média aritmética de 3 números inteiros 
dados
SoluçãoSolução
1.Obter o primeiro número
2.Obter o segundo número
3.Obter o terceiro número
4.Somar os números obtidos
5.Dividir por 3, a soma obtida no item anterior
6.Mostrar o resultado obtido no item anterior
ComentáriosComentários
• Quem obtém os números?
• Onde eles são guardados, no computador, 
depois de obtidos?
• Onde a soma dos números é armazenada?
• E da mesma forma, a divisão da soma dos 
números?
• Como é mostrada a informação desejada?
Técnicas de ProgramaçãoTécnicas de Programação
• Uma metodologia de programação é 
constituída dos seguintes passos:
– Análise do problema;
– Projeto do programa;
– Implementação do programa;
– Verificação do programa
Análise do problemaAnálise do problema
• Compreender corretamentee sem 
ambiguidade o problema a ser resolvido;
• Especificação correta das entradas e 
saídas;
Projeto do programaProjeto do programa
• Algoritmos
– Uma sequência finita de instruções básicas 
cuja execução, em tempo finito, resolve um 
problema computacional, qualquer que seja 
sua instância (os valores fornecidos ao 
programa)
– É a forma de transformar um problema 
qualquer num programa computacional
• Estrutura de dados
– Durante a execução do programa as 
informações ( dados ) são armazenadas na 
memória do computador. 
– As localizações de memória ( endereços ) em 
que estes dados estão armazenados e a forma 
como estes dados são recuperados ( numa nova 
utilização ) dependem de como eles são 
arranjados. Estes arranjos, são denominados 
estruturas de dados.
ImplementaçãoImplementação 
• Corresponde à codificação do algoritmo 
numa linguagem de programação
• Linguagem de programação
– Meio de comunicação entre o usuário e a 
máquina
VerificaçãoVerificação
• Também chamado de testes ou depuração;
• Visa verificar ser o programa implementado 
está correto, para qualquer entrada proposta 
a ele;
LinguagensLinguagens
• Humana
– Idiomas
– Escrita
• Computacional
– De alto nível
– De baixo nível
Linguagem de baixo nívelLinguagem de baixo nível
• É a linguagem de comunicação entendida 
apenas pelo computador;
• É denominada linguagem binária pois é 
constituída apenas dos dígitos zero e um;
• Exemplo de uma instrução binária:
– 0101 0011 1111 0001
• Esta linguagem é também conhecida como 
linguagem Assembler 
Linguagem de alto nívelLinguagem de alto nível
• É a linguagem de comunicação entre o usuário 
hu-mano e o computador;
• Existem várias linguagens disponíveis hoje em dia, 
cada uma com uma característica específica:
– Fortran 
– Cobol
– Lisp
– Ada
– Pascal
– C
– C++
– Java
– etc
CompilaçãoCompilação
• É a tradução de um programa escrito em 
linguagem de alto nível para sua 
correspondente linguagem em baixo nível
• Compilador
– Software responsável pela compilação de um 
programa
– Para cada linguagem de programação em alto 
nível, existe um compilador correspondente.
Sistema de programaçãoSistema de programação
• É o sistema computacional responsável pela tarefa 
completa de programação;
• Geralmente esta tarefa envolve os passos:
– Edição do programa em linguagem de alto nível;
– Armazenamento em arquivos, deste programa editado;
– Compilação do programa
– Se houver erros na escrita do programa compilado, este 
deve ser novamente reeditado;
– Execução do programa;
– Verificação do programa pelo usuário.
• Estes sistemas de programação podem 
ser integrados ou não.
– Quando não integrados, cada tarefa tem um 
software responsável pela sua realização ;
– Quando integrado, todas as tarefas são 
gerenciadas por um único software chamado 
ambiente de programação.
EditarEditar
Corresponde utilizar um software que permite 
ao usuário escrever (editar) um texto, 
modificar um texto, salvar um texto na 
memória da máquina ou recuperar um texto 
da memória da máquina.
Um software conhecido para esta tarefa é o 
GEDIT ou Bloco de Notas presentes no 
sistema operacional Windows ou Linux.
ArquivosArquivos
• É o local da memória da máquina onde as 
informações são armazenadas em pacotes 
ou grupos;
• Um arquivo pode ter qualquer tipo de 
informação, no entanto, esta deve ser 
conhecida e controlada pelo usuário e pelo 
programa que utiliza este arquivo;
• Tipos de arquivos:
– Os arquivos podem armazenar os programas de 
computador;
– Os arquivos podem armazenar também os dados 
dos programas;
– Extensões aos nomes dos arquivos são 
utilizadas para identificar o tipo do arquivo. 
Exemplos:
.c  armazena um programa em linguagem C;
.for  armazena um programa em linguagem Fortran;
.dat  armazena dados para um programa;
.txt  armazena textos, que também podem ser 
dados de um programa;
.java  armazena um programa em linguagem Java.
Valores decimaisValores decimais
• Digito decimal
– 0 1 2 3 4 5 6 7 8 9
• Utilizado para a representação numérica 
entendida pelo usuário humano
• Operações disponíveis:
– Todas aquelas conhecidas na aritmética humana
Valores BináriosValores Binários
• Assim como os humanos representam as 
informações numéricas através dos dígitos 
decimais, a máquina representa todas as 
suas informações através dos dígitos 
binários.
• Isto se deve ao fato de que a máquina é do 
estado binário, ou seja, verdadeiro ou falso, 
aceso ou apagado, etc.
• Isto significa que qualquer tipo de informação 
armazenada, obtida, processada pelo 
computador é sempre do tipo binário, ou 
seja, é constituída dos dígitos 0 ( zero ) ou 1 
( hum ).
• Por isto é importante o entendimento de 
como é feita a representação da informação 
em termos binários.
Transformação Binário para Transformação Binário para 
decimaldecimal
3 2 1 0
1 1 0 1
Os números acima dos valores binários indicam as posições dos 
mesmos; o valor binário mais a direita tem posição zero, o próximo a 
esquerda tem posição um, e assim por diante.
O valor decimal correspondente é obtido:
-Para cada valor binário, toma-se seu correspondente decimal e o 
multiplica pela base elevada ao valor correspondente de sua 
posição;
-soma-se todos os resultados obtidos no passo anterior
• No exemplo, tem-se:
 1 x 20 + 0 x 21 + 1 x 22 + 1 x 23
1 + 0 + 4 + 8 
 (13 )10
Valores HexadecimaisValores Hexadecimais
• Digito Hexadecimal
– Utilizado na representação dos valores decimais 
na base 16
– 0 1 2 3 4 5 6 7 8 9 A B C D E F
– Correspondem respectivamente a:
 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
• Exemplo
– 4A2F corresponde ao valor decimal 18991
• Representação
– ( 4A2F )16 ou 4A2F h
Transformação Hexadecimal Transformação Hexadecimal 
para decimalpara decimal
3 2 1 0
4 A 2 F
Os números acima dos valores hexadecimais indicam as posições dos 
mesmos; o valor hexadecimal mais a direita tem posição zero, o próximo 
a esquerda tem posição um, e assim por diante.
O valor decimal correspondente é obtido:
-Para cada valor hexadecimal, toma-se seu correspondente decimal 
e o multiplica pela base elevada ao valor correspondente de sua 
posição;
-soma-se todos os resultados obtidos no passo anterior
• Exemplo: 4A2F
F x 160 = 15 x 160 = 15 x 1 = 15
2 x 161 = 2 x 16 = 32
A x 162 = 10 x 16 x 16 = 2560
4 x 163 = 4 x 16 x 16 x 16 = 16384
Total : 15 + 32 + 2560 + 16384 = 1899110
Transformação decimal para Transformação decimal para 
HexadecimalHexadecimal
 1899110
Divide-se sucessivamente o valor inteiro decimal pela base 
16 e toma-se os restos obtidos:
18991 / 16 = 1186 com resto 15
1186 / 16 = 74 com resto 2
74 / 16 = 4 com resto 10
4 / 16 = 0 com resto 4
Desta forma, os restos obtidos 15 / 2 / 10 / 4 são colocados 
em hexadecimal em forma inversa:
Ou seja : 4A2F h
Transformações quaisquerTransformações quaisquer
• É possível fazer-se qualquer tipo de 
transformação, ou seja, de qualquer base 
para qualquer base.
• Lembre-se que estas representações são 
realizadas para simplificar o entendimento 
pelo humano, enquanto a maquina entende e 
processa apenas o modo binário.
• A transformação de uma base para outra é 
realizada exatamente da mesma forma 
mostrada no exemplo anterior, 
modificando-se apenas as bases.
• Na base binária, os dígitos constituintes são 
0 e 1; 
• Na base octal, os dígitos constituintes são 0, 
1, ..., 7
• Na base hexadecimal, os dígitos 
constituintes são, 0, 1, ..., 9, A, B, ...., F
Decimal-BináriaDecimal-Binária• A transformação de um número decimal em 
binário é feita usando a divisão do número 
decimal por 2 e assim sucessivamente até que o 
quociente seja 0.
• Exemplo:
7 2
31 2
11
710 = 1112
Leia o número
de baixo para
cima.
2
01
Binário-DecimalBinário-Decimal
• A transformação de um número binário em 
decimal é feita usando a soma da multiplicação 
de cada unidade pela potência de 2 elevado a 
posição da unidade. A posição da unidade 
começa com zero.
• Exemplo:
1112 = 1 x 22 + 1 x 21 + 1 x 20 = 4 + 2 + 1 
= 710 
Decimal-OctalDecimal-Octal
• A transformação de um número decimal em 
octal é feita usando a divisão do número 
decimal por 8 e assim sucessivamente até que o 
quociente seja 0.
• Exemplo:
17 8
21 8
02
1710 = 218
Leia o número
de baixo para
cima.
Octal-DecimalOctal-Decimal
• A transformação de um número octal em 
decimal é feita usando a soma da multiplicação 
de cada unidade pela potência de 8 elevado a 
posição da unidade. A posição da unidade 
começa com zero.
• Exemplo:
218 = 2 x 81 + 1 x 80 = 16 + 1 = 1710 
Decimal-HexadecimalDecimal-Hexadecimal
• A transformação de um número decimal em 
hexadecimal é feita usando a divisão do número 
decimal por 16 e assim sucessivamente até que 
o quociente seja 0.
• Exemplo:
17 16
11 16
01
1710 = 1116
Leia o número
de baixo para
cima.
Hexadecimal-DecimalHexadecimal-Decimal
• A transformação de um número hexadecimal em 
decimal é feita usando a soma da multiplicação 
de cada unidade pela potência de 8 elevado a 
posição da unidade. A posição da unidade 
começa com zero.
• Exemplo:
1116 = 1 x 161 + 1 x 160 = 16 + 1 = 1710 
Binário-HexadecimalBinário-Hexadecimal
• A transformação de um número binário em 
hexadecimal é feita usando a separação do 
número binário em grupo de 4, ou seja, de 0 a 
15 em decimal, ou em binário, de 0000 a 1111.
• Exemplo:
1101 01012 = D516
Hexadecimal-BinárioHexadecimal-Binário
• A transformação de um número hexadecimal em 
binário é feita transformando cada unidade em 
um número binário.
• Exemplo:
F3A16 = 1111 0011 10102 
TreinamentoTreinamento
 1) Transforme os valores de decimal para binário.
a) 1010 =
b) 2510 =
c) 3710 =
d) 13210 =
e) 9310 =
TreinamentoTreinamento
 2) Transforme os valores de binário para decimal.
a) 1012 =
b) 10101012 =
c) 11010012 =
d) 10102 =
e) 1010101012 =
TreinamentoTreinamento
 3) Transforme os valores de decimal para octal.
a) 1010 =
b) 2510 =
c) 3710 =
d) 13210 =
e) 9310 =
TreinamentoTreinamento
 4) Transforme os valores de octal para decimal.
a) 178 =
b) 258 =
c) 1328 =
d) 468 =
e) 1008 =
TreinamentoTreinamento
 5) Transforme os valores de decimal para 
hexadecial.
a) 1010 =
b) 2510 =
c) 3710 =
d) 13210 =
e) 9310 =
TreinamentoTreinamento
 6) Transforme os valores de hexidecimal para 
decimal.
a) AF16 =
b) 2A516 =
c) F2D16 =
d) 12B16 =
e) 97616 =
TreinamentoTreinamento
 7) Transforme os valores de hexidecimal para 
decimal.
a) BD16 =
b) 5A216 =
c) 2FD16 =
d) 1B216 =
e) 679116 =
TreinamentoTreinamento
 8) Transforme os valores de binário para 
hexadecimal.
a) 1012 =
b) 10101012 =
c) 11010012 =
d) 110102 =
e) 1010101012 =
TreinamentoTreinamento
 9) Resolva as expressões.
a) 1012 + 1102 =
b) 178 + 238 – 138 =
c) A716 + 5F16 – 2116 =
d) 11012 + 318 – 2716 =
e) AD16 + 778 – 11010010012 =
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18
	Slide 19
	Slide 20
	Slide 21
	Slide 22
	Slide 23
	Slide 24
	Slide 25
	Slide 26
	Slide 27
	Slide 28
	Slide 29
	Slide 30
	Slide 31
	Slide 32
	Slide 33
	Slide 34
	Slide 35
	Slide 36
	Slide 37
	Slide 38
	Slide 39
	Slide 40
	Slide 41
	Slide 42
	Slide 43
	Slide 44
	Slide 45
	Slide 46
	Slide 47
	Slide 48
	Slide 49
	Slide 50
	Slide 51
	Slide 52
	Slide 53
	Slide 54
	Slide 55
	Slide 56
	Slide 57
	Slide 58
	Slide 59
	Slide 60
	Slide 61
	Slide 62
	Slide 63
	Slide 64
	Slide 65
	Slide 66
	Slide 67
	Slide 68
	Slide 69
	Slide 70
	Slide 71
	Slide 72

Outros materiais