pontifícia universidade católica de goiás puc goiÁs departamento de computação informática e...

40

Upload: internet

Post on 18-Apr-2015

112 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Pontifícia Universidade Católica de Goiás PUC GOIÁS Departamento de Computação Informática e Computação Professor: Cesar Augusto da Rocha Magalhães
Page 2: Pontifícia Universidade Católica de Goiás PUC GOIÁS Departamento de Computação Informática e Computação Professor: Cesar Augusto da Rocha Magalhães

Pontifícia Universidade Católica de Goiás PUC GOIÁS

Departamento de Computação

Informática e

Computação

Professor: Cesar Augusto da Rocha Magalhães

Page 3: Pontifícia Universidade Católica de Goiás PUC GOIÁS Departamento de Computação Informática e Computação Professor: Cesar Augusto da Rocha Magalhães

EMENTA

• Introdução às noções básicas da área de informática.

• Conceituação e construção de algoritmos.

• Regras de mapeamento e técnicas de documentação de programas.

• Desenvolvimento de programas

Page 4: Pontifícia Universidade Católica de Goiás PUC GOIÁS Departamento de Computação Informática e Computação Professor: Cesar Augusto da Rocha Magalhães

OBJETIVO GERAL

• Propiciar adequada utilização da ferramenta computacional necessária às atividades profissionais do futuro engenheiro(a).

Page 5: Pontifícia Universidade Católica de Goiás PUC GOIÁS Departamento de Computação Informática e Computação Professor: Cesar Augusto da Rocha Magalhães

OBJETIVOS ESPECÍFICOS• 1. Conhecer os fundamentos de Hardware e

Software que possibilitem o desenvolvimento de aplicações no computador;

• 2. Familiarizar o aluno com os conceitos e as técnicas de desenvolvimento de algoritmos;

• 3. Habilitar o aluno a analisar problemas e desenvolver programas em linguagem algorítmica;

• 4. Capacitar o aluno a mapear algoritmos em uma linguagem de programação.

Page 6: Pontifícia Universidade Católica de Goiás PUC GOIÁS Departamento de Computação Informática e Computação Professor: Cesar Augusto da Rocha Magalhães

Programa de Curso

• Conceitos básicos Conceitos de Hardware/Software; Estrutura de um computador digital; Representação e armazenamento da informação; Histórico, evolução e perspectivas da

computação;Arquitetura de um Sistema de computação; Memória, Unidade Central de Processamento,

Entrada e Saída, e Periféricos.

Page 7: Pontifícia Universidade Católica de Goiás PUC GOIÁS Departamento de Computação Informática e Computação Professor: Cesar Augusto da Rocha Magalhães

Programa de Curso• Algoritmos Conceituação Elementos básicos do algoritmo e da programação

• Constantes; variáveis, expressões aritméticas, lógicas e literais; comandos de atribuição, entrada e saída; estrutura de fluxo sequencial

Técnicas de construção de algoritmos e programas• Estruturas de controle de fluxo condicionais• Estruturas de controle de fluxo de repetição• Programação estruturada

Mapeamento de algoritmos para uma linguagem de programação

Page 8: Pontifícia Universidade Católica de Goiás PUC GOIÁS Departamento de Computação Informática e Computação Professor: Cesar Augusto da Rocha Magalhães

Programa de Curso

• Estruturas de DadosVariáveis Compostas homogêneas

• Sistemas de NumeraçãoO histórico dos sistemas de numeração;Os sistemas decimal, binário, octal e

hexadecimal;Conversão entre sistemas

Page 9: Pontifícia Universidade Católica de Goiás PUC GOIÁS Departamento de Computação Informática e Computação Professor: Cesar Augusto da Rocha Magalhães

BIBLIOGRAFIA BÁSICA• BUENO, André Duarte. Programação Orientada

a Objeto com C++.São Paulo, Novatec Editora, 592p., 2003.

-http://WWW.lenep.uenf.br/~bueno/apostilas.htm• Mizrahi, Victorine Viviane, Treinamento em

Linguagem C++, módulo 1 2.ed, São Paulo, Pearson Prentice Hall, 2006

• Gottfried, Byron S. Programando em C. São Paulo: Makron Books, 1993.

Page 10: Pontifícia Universidade Católica de Goiás PUC GOIÁS Departamento de Computação Informática e Computação Professor: Cesar Augusto da Rocha Magalhães

BIBLIOGRAFIA COMPLEMENTAR• Kernighan, Brian W. e Ritchie, Dennis. The C Programming

Language. 2ª ed., New Jersey, Prentice Hall PTR, 1988.• Apostila: Curso de Linguagem C – UFMG. CPDEE/UFMG.

http://www.ppgia.pucpr.br/~maziero/ensino/so/projetos/curso-c/aulas-main.html

• Schildt Hebert. C Completo e Total. 3ª edição, São Paulo: Makron Books, 1996.

• Carpenter, V. Learn C/C++ today : http://www.cyberdiem.com/vin/learn.html (uma coleção de referências e tutoriais sobre as linguagens C e C++ )

• FARRER, Harry e outros . Programação Estruturada de Computadores: Algoritmos Estruturados. Rio de Janeiro: LTC - Livros Técnicos e Científicos Editora S.A, 1999. 3ª Edição.

• GUIMARÃES, Ângelo de Moura e LAGES, Newton Alberto de Castilho. Algoritmos e Estruturas de Dados. Rio de Janeiro: LTC, 1985.

Page 11: Pontifícia Universidade Católica de Goiás PUC GOIÁS Departamento de Computação Informática e Computação Professor: Cesar Augusto da Rocha Magalhães

COMPILADORES

• Os compilador Dev-C++ é gratuito, e pode ser baixado direto dos site:

• http://www.bloodshed.net

Page 12: Pontifícia Universidade Católica de Goiás PUC GOIÁS Departamento de Computação Informática e Computação Professor: Cesar Augusto da Rocha Magalhães

CRITÉRIOS DE AVALIAÇÃOA nota final do aluno será composta por

duas notas (N1 e N2) sendo que:• N1 e N2

– Avaliações Teóricas (50%)– Avaliações Práticas (50%)

• Média Final = 0,4 x N1 + 0,6 x N2• O ALUNO SERÁ APROVADO SE OBTER

MÉDIA FINAL MAIOR OU IGUAL A 5.0 E FREQÜÊNCIA SUPERIOR A 75% DE AULAS DADAS (52 AULAS-HORAS).

Page 13: Pontifícia Universidade Católica de Goiás PUC GOIÁS Departamento de Computação Informática e Computação Professor: Cesar Augusto da Rocha Magalhães

INFORMÁTICA E COMPUTAÇÃOCMP -1060

Objetivo principal prático: desenvolver o raciocínio

lógico

Algoritmo

Page 14: Pontifícia Universidade Católica de Goiás PUC GOIÁS Departamento de Computação Informática e Computação Professor: Cesar Augusto da Rocha Magalhães

Algorítimo

Algorítmo: é a descrição de um conjunto de comandos que, obedecidos, resultam numa sucessão finita de ações.

Exercício: montar um algoritmo para um criança de 5 anos acender um palito de fósforo

1. Pegue o objeto (caixa de fósforo)

2. Segure firme o lado preto da cx de fósforo

3. Empurre para abrir e ver um palito

4. Pegue um palito

5. Friquicione a extremidade grossa na parte preta

Page 15: Pontifícia Universidade Católica de Goiás PUC GOIÁS Departamento de Computação Informática e Computação Professor: Cesar Augusto da Rocha Magalhães

Algorítimo

Algorítmo: é a descrição de um conjunto de comandos que, obedecidos, resultam numa sucessão finita de ações.

Exercício: montar um algoritmo para um criança de 5 anos acender um palito de fósforo

1. Pegue o objeto (caixa de fósforo)

2. Segure firme o lado preto da cx de fósforo

3. Empurre para abrir e ver um palito

4. Pegue um palito

5. FECHE A CAIXA

6. Friquicione a extremidade grossa na parte preta

Page 16: Pontifícia Universidade Católica de Goiás PUC GOIÁS Departamento de Computação Informática e Computação Professor: Cesar Augusto da Rocha Magalhães

INFORMÁTICA E COMPUTAÇÃO

CMP 1060

Conceitos Básicos sobre Informática

O Computador e seus Componentes

Referência: Aula 2

Page 17: Pontifícia Universidade Católica de Goiás PUC GOIÁS Departamento de Computação Informática e Computação Professor: Cesar Augusto da Rocha Magalhães

CONCEITOS BÁSICOS :• Informática - infor + mática. É o tratamento da

informação de forma automática• Dado - é tudo aquilo que é fornecido ao

computador de forma bruta• Informação - é o resultado obtido do computador

após o processamento• Processamento de Dados - é um conjunto de

operações que aplicadas a dados nos fornece uma informação

• Computador - é uma máquina que processa dados de forma automática

Page 18: Pontifícia Universidade Católica de Goiás PUC GOIÁS Departamento de Computação Informática e Computação Professor: Cesar Augusto da Rocha Magalhães

O que é Hardware ?• HARDWARE - componente, ou conjunto

de componentes físicos internos e externos de um computador ou de seus periféricos.

• Hardware - é a parte física do computador

Exemplos de Hardware :• Monitor, Teclado, Mouse, Impressora,

Plotters, Caneta Óptica, Modem, Hub, Leitoras Ópticas, Scanner CPU etc .....

Page 19: Pontifícia Universidade Católica de Goiás PUC GOIÁS Departamento de Computação Informática e Computação Professor: Cesar Augusto da Rocha Magalhães

BIT - Binary Digit. É a menor unidade de informação em um computador. Pode ser 0 (desligado) ou 1 (ligado)

Byte - conjunto de 8 BITs. É unidade básica de medida da memória em um computador. Kilobyte (KB) = 1024 bytes Megabyte (MB) = 1024 Kbytes Gigabyte (GB) = 1024 Mbytes

CONCEITOS BÁSICOS :

Page 20: Pontifícia Universidade Católica de Goiás PUC GOIÁS Departamento de Computação Informática e Computação Professor: Cesar Augusto da Rocha Magalhães

OPERAÇÕES BÁSICAS DE UM COMPUTADOR

Exemplo: Folha de Pagamento

Entrada = nome, salário, horas extras, etc. de cada funcionário

Processamento = cálculo do salário Saída = Contracheques e outros relatórios

Entrada Processa- Saída mento

Page 21: Pontifícia Universidade Católica de Goiás PUC GOIÁS Departamento de Computação Informática e Computação Professor: Cesar Augusto da Rocha Magalhães

Sistema de Computador• O computador é um sistema de

hardware, uma combinação de componentes inter-relacionados que desempenham as funções básicas do sistema: entrada, processamento, saída, armazenamento e controle.

Page 22: Pontifícia Universidade Católica de Goiás PUC GOIÁS Departamento de Computação Informática e Computação Professor: Cesar Augusto da Rocha Magalhães

Memória Principal - é formada por 2 memórias RAM e ROM

ROM - memória somente para leitura. É pré-gravada pelo fabricante. Não é volátil

RAM - memória de acesso aleatório. Armazena as informações em processamento enquanto o computador estiver ligado. É volátil.

Memória Auxiliar - unidades que armazenam programas e dados para posterior utilização. Ex: pen drive

Periféricos de Entrada - unidades para entrada de dados no computador. Ex: teclado

Periféricos de Saída - unidades para saída de dados do computador. Ex: monitor de vídeo

Page 23: Pontifícia Universidade Católica de Goiás PUC GOIÁS Departamento de Computação Informática e Computação Professor: Cesar Augusto da Rocha Magalhães

ARQUITETURA DE UM COMPUTADOR

CPU ou UCP (Unidade Central de Processamento)

Unidade de Aritmética e Lógica

Unidade de Controle

MemóriaPrincipal

MemóriasAuxiliares

Periféricos de Entrada

Periféricos de Saída

Page 24: Pontifícia Universidade Católica de Goiás PUC GOIÁS Departamento de Computação Informática e Computação Professor: Cesar Augusto da Rocha Magalhães

Sistema de Computador

Dispositivos de

Entrada/Introduzem

Dados e Instruções

na CPU

Unidade de Controle /

Interpreta Instruções e

Dirige o Processamento

Unidade

Lógico-Aritmética

realiza operações

Aritméticas e faz

ComparaçõesProcessadores

com

finalidades

especiais

Cache

de

Memória

Armazenamento

(Memória) Principal

armazena dados e

e programas durante

o processamento

Unidade Central de Processamento (CPU)

Dispositivos de

Saída/Comunica e

Registra Informações

Dispositivos de

armazenamento

secundário / armazena

dados e

programas

para

processamento

Page 25: Pontifícia Universidade Católica de Goiás PUC GOIÁS Departamento de Computação Informática e Computação Professor: Cesar Augusto da Rocha Magalhães

Microprocessador- CPU (unidade central de processamento. É quem lê e executa todas as informações dos programas.

Chip de Memória:

Page 26: Pontifícia Universidade Católica de Goiás PUC GOIÁS Departamento de Computação Informática e Computação Professor: Cesar Augusto da Rocha Magalhães

DISCO RÍGIDO ou HD disco rígido interno ao

computador com grande capacidade de armazenamento de dados

os tamanhos mais comuns são: 10, 16, 20 Gigabytes ou mais

armazena os programas e arquivos a serem utilizados pelo usuário

Page 27: Pontifícia Universidade Católica de Goiás PUC GOIÁS Departamento de Computação Informática e Computação Professor: Cesar Augusto da Rocha Magalhães

VELOCIDADE DE PROCESSAMENTO Clock - velocidade do micro-processador. É

medido em MHz (1.000.000 de ciclos por segundo) Evolução do Clock :

PC-XT 8 MHz AT-286 25 MHz AT-386 SX 33 MHz AT-386 DX 40 MHz AT-486 SX 33 MHz AT-486 DX 50 MHz AT-486 DX2 66 MHz AT-486 DX4 100 MHz Pentium 100-133-150-166 MHz Pentium MMX 150-166-200-300 MHz Pentium II 300-400-450 MHz Pentium III 1200 MHz ou mais

Page 28: Pontifícia Universidade Católica de Goiás PUC GOIÁS Departamento de Computação Informática e Computação Professor: Cesar Augusto da Rocha Magalhães

VELOCIDADE DE PROCESSAMENTO Clock - velocidade do micro-processador. É

medido em MHz (1.000.000 de ciclos por segundo) Evolução do Clock :

Pentium V 1300 MHz ou mais Intel Corel 2 1,67 GHz Celeron (R) 1,80 GHz

Page 29: Pontifícia Universidade Católica de Goiás PUC GOIÁS Departamento de Computação Informática e Computação Professor: Cesar Augusto da Rocha Magalhães

O que é Software ?

• SOFTWARE - é a parte lógica de um sistema de computador, são programas, instruções que a máquina (hardware) pode executar.

• Software - são os programas e aplicativos que permitem o funcionamento do computador

Exemplos de Softwares• Windows XP, Windows Vista, Word, Excell,

PowerPoint, Freelance, Access, Translator, Netscape, Wingate, Auto Cad, NT, Unix etc ....

Page 30: Pontifícia Universidade Católica de Goiás PUC GOIÁS Departamento de Computação Informática e Computação Professor: Cesar Augusto da Rocha Magalhães

TIPOS DE SOFTWARE

Sistema Operacional - é responsável pela comunicação homem-computador. Ex: DOS e Windows

Linguagens de Programação - utilizadas por programadores para desenvolver programas aplicativos. Ex: C++, Fox Pro, Delphi, Java, etc

Programas Utilitários - facilitam a manutenção de discos e arquivos. Ex: Compactador, Backup, etc.

Page 31: Pontifícia Universidade Católica de Goiás PUC GOIÁS Departamento de Computação Informática e Computação Professor: Cesar Augusto da Rocha Magalhães

TIPOS DE SOFTWARE

Programas Aplicativos - desenvolvidos em certa linguagem de programação para fins específicos. Exemplos: Editor de texto, Planilha eletrônica,

Controle de estoque. Banco de dados Editoração eletrônica e Programas Gráficos Navegadores (Browsers): mostra as páginas

da internet. Ex. Internet Explorer, Navigator

Page 32: Pontifícia Universidade Católica de Goiás PUC GOIÁS Departamento de Computação Informática e Computação Professor: Cesar Augusto da Rocha Magalhães

LINGUAGENS DE PROGRAMAÇÃO• Linguagem de Máquina ou de Baixo Nível - é a linguagem

compreendida internamente pelo computador. Suas instruções são escritas em códigos binários

• Linguagem Montadora - linguagem intermediária entre a linguagem de máquina e a linguagem de alto nível. É escrita através de códigos simbólicos utilizando números, letras e símbolos. Ex: Assembler

• Linguagem de Programação ou Alto Nível - é a linguagem utilizada pelo usuário para escrever programas de computador. Os programas são escritos utilizando palavras da língua inglesa. Ex: Pascal e C

Nìvel

Baixo Alto

Ling. de Máquina

Ling. de Programação

Page 33: Pontifícia Universidade Católica de Goiás PUC GOIÁS Departamento de Computação Informática e Computação Professor: Cesar Augusto da Rocha Magalhães

• Antes do computador executar os programas eles devem antes ser traduzidos para a linguagem de máquina. Esta tradução é feita através um software denominado compilador. A operação de tradução do programa para linguagem de máquina é chamada compilação

LINGUAGENS DE PROGRAMAÇÃO

Ling. de Programação

Ling. de Máquina

Compilação

Page 34: Pontifícia Universidade Católica de Goiás PUC GOIÁS Departamento de Computação Informática e Computação Professor: Cesar Augusto da Rocha Magalhães

ITENS FUNDAMENTAIS

• Algorítmo: é a descrição de um conjunto de comandos que, obedecidos, resultam numa sucessão finita de ações.

• Comandos: determina as ações a serem executadas pelo destinatário.

• Estrutura: determina a ordem e as condições dos comandos que devem ser executados.

Page 35: Pontifícia Universidade Católica de Goiás PUC GOIÁS Departamento de Computação Informática e Computação Professor: Cesar Augusto da Rocha Magalhães

ITENS FUNDAMENTAIS

• Estruturas de Controle :• Sequencial: os comandos são executados um

após o outro, na mesma ordem em que aparecem escritos, se não houver indicações ao contrário.

• Condicional: provoca ou não uma ação dependendo se a condição for falsa ou verdadeira

• Repetição: repete os comandos e estruturas de comando até que encontra uma condição para que interrompa a repetição.

Page 36: Pontifícia Universidade Católica de Goiás PUC GOIÁS Departamento de Computação Informática e Computação Professor: Cesar Augusto da Rocha Magalhães

ITENS FUNDAMENTAIS• Exemplo: Desenvolva os passos de um

programa que converte polegadas para centímetros.

• 1 inch 2.54 cm

Passos para converter POL CM• 1. Alocar duas variáveis POL, CM numéricas• 2. Entrar POL {medida em polegadas}• 3. Calcular CM = 2.54 * CM• 4. Mostrar CM

Page 37: Pontifícia Universidade Católica de Goiás PUC GOIÁS Departamento de Computação Informática e Computação Professor: Cesar Augusto da Rocha Magalhães

ITENS FUNDAMENTAISEXERCÍCIOS:• 1- Desenvolva os passos de um programa

para calcular a área de um retângulo

• 2- Sabendo-se um dollar = R$ 1,90; Desenvolva os passos de um programa que dada uma quantia em dollar calcula o valor em real.

Page 38: Pontifícia Universidade Católica de Goiás PUC GOIÁS Departamento de Computação Informática e Computação Professor: Cesar Augusto da Rocha Magalhães

ITENS FUNDAMENTAISEXERCÍCIOS:• 1- Desenvolva os passos de um programa para

calcular a área de um retângulo

Passos para converter POL CM (lembrete)

1. Alocar duas variáveis X, Y numéricas

2. Entrar X {medida em polegadas}

3. Calcular Y = 2.54 * X

4. Mostrar Y

Page 39: Pontifícia Universidade Católica de Goiás PUC GOIÁS Departamento de Computação Informática e Computação Professor: Cesar Augusto da Rocha Magalhães

ITENS FUNDAMENTAISEXERCÍCIOS:• 1- Desenvolva os passos de um programa para

calcular a área de um retângulo

1. Alocar três variáveis B, H e AREA numéricas

2. Entrar B, H {valor em centímetros}

3. Calcular AREA = B * H

4. Mostrar AREA

Page 40: Pontifícia Universidade Católica de Goiás PUC GOIÁS Departamento de Computação Informática e Computação Professor: Cesar Augusto da Rocha Magalhães

ITENS FUNDAMENTAISEXERCÍCIOS:• 2- Sabendo-se um dollar = R$ 1,90;

Desenvolva os passos de um programa que dada uma quantia em dollar calcula o valor em real.

1. Alocar duas variáveis D, R numéricas

2. Entrar D {valor em dollares}

3. Calcular R = 1,90 * D

4. Mostrar R