You are on page 1of 53

Universidade Federal de Viosa Departamento de Informtica Centro de Cincias Exatas e Tecnolgicas

Universidade Federal de Viosa

INF 100 Introduo Programao Aula 1 Marcos H. F. ribeiro Salles V. G. Magalhes Luiz Carlos A. Albuquerque

Captulo 1 Conceitos Bsicos


INF 100 Introduo Programao

O que computador?

Segundo a Wikipedia: (...) uma mquina capaz de variados tipos de tratamento automtico de informaes ou processamento de dados. Exemplos de computadores incluem o baco, a calculadora, o computador analgico e o computador digital. Um computador pode prover-se de inmeros atributos, dentre eles armazenamento de dados, processamento de dados, clculo em grande escala, desenho industrial, tratamento de imagens grficas, realidade virtual, entretenimento e cultura.

Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

O que computador?

Continuando...

No passado, o termo j foi aplicado a pessoas responsveis por algum clculo. Em geral, entende-se por computador um sistema fsico que realiza algum tipo de computao. Existe ainda o conceito matemtico rigoroso, utilizado na teoria da computao

No veremos! :-)

Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

O que computador?

Ainda continuando...

Assumiu-se que os computadores pessoais e laptops so cones da Era da Informao; e isto o que muitas pessoas consideram como "computador". Entretanto, atualmente as formas mais comuns de computador em uso so os sistemas embarcados, pequenos dispositivos usados para controlar outros dispositivos, como robs, cmeras digitais ou brinquedos.

Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

O que computador?

uma mquina capaz de variados tipos de tratamento automtico de informaes ou processamento de dados.

Zuse, 1936

Pascal, sc. XVII Babbage, sc. XIX


Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

O que computador?

uma mquina capaz de variados tipos de tratamento automtico de informaes ou processamento de dados.

Alan Turing, 1912 1954 Colossus, 1943

Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

O que computador?

O primeiro computador eletrnico moderno:

Eletronic Numeric Integrator and Calculator (ENIAC), dcada de 1940


Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

O que computador?

Ontem: computador sua volta

Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

O que computador?

Hoje: computador sua volta

Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

O que computador?

O que todos tem em comum??

A arquitetura de Von Neumann Mesmo funcionamento bsico

John Von Neumann, 1903 1957

Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

Funcionamento Bsico de um Computador

Barramentos Externos

Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

Funcionamento Bsico de um Computador

Hardware

Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

Funcionamento Bsico de um Computador

Hardware - Processador

Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

Funcionamento Bsico de um Computador

Hardware Memria RAM (Mem. Principal)

Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

Funcionamento Bsico de um Computador

Hardware Memria Sencundria (E/S)

Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

Funcionamento Bsico de um Computador

Hardware Dispositivos de Entrada (E/S)

Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

Funcionamento Bsico de um Computador

Hardware Dispositivos de Sada (E/S)

Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

Funcionamento Bsico de um Computador

Hardware Memria ROM

Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

Funcionamento Bsico de um Computador

Softwares

Programas de computador; Podem ser vistos como a parte abstrata ou lgica de um computador; So representados logicamente por meio de algoritmos; Da converso dos algoritmos em programas de computador, resulta-se o software.

Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

Funcionamento Bsico de um Computador

Softwares

So os responsveis pela transformao dos dados de entrada em informaes de sada; Podem ser vistos como uma sequncia de comandos que detalham todas as aes que um computador deve realizar; Um computador executa precisamente o que est determinado em um programa; O programa contm instrues para a mquina, no para o usurio;
Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

Funcionamento Bsico de um Computador

Softwares

O computador processa suas instrues passo a passo, comeando pela primeira instruo e seguindo a ordem pr-estabelecida no programa; Duas grandes categorias de software: Sistema Operacional e Aplicativos.

Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

Funcionamento Bsico de um Computador

Software Bsico = Sistema Operacional

Controla o funcionamento do computador; Reconhece e controla o funcionamento do hardware; Realiza a interao com o usurio; Torna o uso do computador mais fcil.

Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

Funcionamento Bsico de um Computador

Software Bsico = Sistema Operacional

Exemplos

Windows (Vista, 7, 2003, XP, 2000, ME, 98 etc.) Linux (Debian, Ubuntu, Red Hat, Mandriva, Slackware, Fedora, etc.) Unix AIX MAC-OS MS-DOS etc.
Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

Funcionamento Bsico de um Computador

Software Bsico = Sistema Operacional

Interface Grfica X Modo Texto

Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

Funcionamento Bsico de um Computador

Kernel do Sistema Operacional

Corresponde poro do SO que gerencia o sistema operacional como um todo; Interage diretamente com o hardware; carregado do disco rgido para a memria principal quando o computador inicializado; responsvel por carregar do armazenamento em disco outros programas auxiliares do sistema operacional (programas no residentes), quando necessrio.
Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

Funcionamento Bsico de um Computador

Aplicativos

Softwares desenvolvidos para realizarem uma tarefa um um conjunto de tarefas relacionadas a uma rea ou finalidade especfica

Edio de textos Planilhas eletrnicas Clculos estruturais (Engenharia Civil) Anlise de riscos (Economia) Sequenciamento de DNA (Biologia) Etc.
Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

Funcionamento Bsico de um Computador

Aplicativos

Existem aplicativos que fazem parte do pacote do sistema operacional; Na grande maioria dos casos, um aplicativo, ou uma verso dele s funciona em um computador com um SO especfico; Alguns fabricantes de software produzem verses diferentes de seus produtos para diversos SOs diferentes;

Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

Funcionamento Bsico de um Computador

O que preciso para produzir Aplicativos?

Conhecer uma linguagem de programao; Um editor de textos para que se escreva o cdigo do programa na linguagem escolhida; Um compilador, interpretador ou algo semelhante, para interpretao do cdigo escrito pelo programador e a gerao de um programa (compilador), ou a execuo direta do mesmo (interpretador); Existem ainda os IDEs (Integrated Development Environment Ambiente de Desenvolvimento Integrado), que unem diversos aplicativos teis ao programador

Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

Funcionamento Bsico de um Computador

Qual a relao disto com INF 100?

Objetivamos prover ao estudante a base terica para o desenvolvimento de aplicativos que contribuam para automatizao de tarefas em sua futura rea de atuao profissional. Ser ensinada, como linguagem de programao, a linguagem C++.

Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

Funcionamento Bsico de um Computador

Sistema Centrado em Computador

Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

Conceitos Bsicos Complementares

Bit

a unidade bsica de armazenamento do computador. Seu nome vem de Binary Digit e possui um duplo sentido em ingls, uma vez que bit quer dizer pedacinho, ou pequena poro. Pode assumir apenas 2 valores distintos, ou seja, o bit binrio. Esses 2 valores podem ser representados de diversas formas mas geralmente so utilizados os nmeros 0 e 1.
Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

Conceitos Bsicos Complementares

Bit

Toda a informao contida e processada em um computador convertida para sequncias de dgitos 1 e 0; Existem diversos mecanismos para se identificar onde comeam e terminam subsequncias dentro de uma grande sequncia, se um conjunto de bits representa um caracter, um nmero inteiro ou outro tipo de dado qualquer.

Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

Conceitos Bsicos Complementares

Byte

Um byte atualmente o conjunto de 8 bits. Um bit binrio, isto significa que cada posio do byte pode assumir 2 valores distintos: 0 ou 1. Por possuir 8 posies, um byte capaz de representar 28, ou seja, 256 valores distintos.

Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

Conceitos Bsicos Complementares

Byte
Nmero Inteiro 0 1 2 ... 255 Byte Correspondente 00000000 00000001 00000010 ... 11111111

Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

Conceitos Bsicos Complementares

Byte

Mltiplos de Bytes: Kilobyte (1024 = 210 bytes), Megabyte (1024*1024 = 220 bytes), Gigabyte (230bytes), Terabyte (240bytes), Petabyte etc. Mltiplos de bits: anlogos aos de bytes. 1 Kilobyte representado por 1 kB 1 Kilobit representado por 1kb 1 Megabyte representado por 1MB 1 Megabit representado por 1Mb Etc.
Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

Conceitos Bsicos Complementares

Compilao e Interpretao

Computadores s entendem sequncias de 1 e 0; Seres humanos aprendem linguagens com alto poder de expresso, utilizando muitas vezes estruturas mnemnicas e comandos prdefinidos para escrever programas; Como transformar o que um ser humano compreende no que uma mquina compreende?
Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

Conceitos Bsicos Complementares

Compilao e Interpretao

Existem aplicativos, especficos para analisar e processar programas escritos em uma linguagem de programao pr-definida e transform-los em programas binrios, executveis por um computador; Estes aplicativos so chamados compiladores ou interpretadores;

Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

Conceitos Bsicos Complementares

Compiladores

So responsveis por converter um cdigo escrito em uma linguagem de alto nvel (ex.: C, C++, Pascal etc.) em um programa binrio executvel; So especficos para a linguagem para o qual foram projetados para compilar e tambm para o SO e o hardware onde esto sendo executados. Portanto, para uma mesma linguagem, existem compiladores diferentes, em SOs diferentes.
Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

Conceitos Bsicos Complementares

Interpretadores

O software responsvel pela gerao do cdigo executvel, ao invs de analisar o cdigo-fonte inteiro desenvolvido pelo programador e somente depois da anlise completa gerar um programa executvel inteiro, ele l o cdigofonte instruo por instruo e a converte e executa passo-a-passo, no gerando um programa executvel ao final do processo.

Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

Conceitos Bsicos Complementares

Exemplo de processo de desenvolvimento de aplicativos em C++

Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

Introduo Programao de Computadores

Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

Introduo Programao de Computadores

Algoritmos

Uma sequncia de aes executveis para a obteno de uma soluo para um determinado tipo de problema. Exemplos:

Receitas de bolo; Instrues para montagem de equipamentos eletrnicos; Instrues para uso de medicamentos; Etc.

Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

Introduo Programao de Computadores

Algoritmos

Definio mais precisa: sequncia finita de instrues bem definidas e no ambguas, cada uma das quais podendo ser executada mecanicamente num perodo de tempo finito e com uma quantidade de esforo finita; Programar computadores consiste basicamente em estruturar dados e construir algoritmos; Isto significa que programas de computador representam uma classe especial de algoritmos, capazes de serem seguidos por computadores.
Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

Introduo Programao de Computadores

Algoritmos e Programas de Computador

Uma linguagem de programao de computadores guarda algumas semelhanas com as linguagens naturais (portugus, ingls etc.); Assim como nas linguagens naturais, o descuido com a escrita pode causar erros que prejudicam a execuo correta do programa resultante da compilao ou at mesmo um erro na prpria compilao.
Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

Introduo Programao de Computadores

Algoritmos e Programas de Computador

As linguagens de programao possuem regras que regulamentam o uso das palavras e da pontuao. Essas regras so chamadas de sintaxe da linguagem.

Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

Introduo Programao de Computadores

Importncia da sintaxe

Como chego eu loja na? Se voc pode vir aqui em casa? Agora no preciso sair. X Se voc pode vir aqui em casa? Agora no, preciso sair. Diga agora: quero sair X Diga: agora quero sair Eles ouviram os gritos X Eles ouviro os gritos

Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

Introduo Programao de Computadores

Importncia da sintaxe

Em todos exemplos anteriores, seres humanos fluentes em portugus podem, por deduo e/ou anlise do contexto, inferir o sentido correto para as frases. Um computador, no entanto, no possui a mesma capacidade dedutiva, analtica e de discernimento que um ser humano. Resultado: ou uma instruo est escrita de forma totalmente correta ou no ser interpretada pela mquina. Linguagem de programao = sintaxe rgida
Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

Introduo Programao de Computadores

Importncia da lgica

Erros pode acontecer alm dos erros de sintaxe...


Mexa Ponhadoisovos Adicioneumgalodegasolina Assea350Cpor45minutos Coloquetrsxcarasdefarinha

Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

Introduo Programao de Computadores

Importncia da lgica

Instrues fora de ordem, instrues faltantes e instrues que no fazem sentido no contexto do programa/algoritmo, tambm podem ser geradores de erros, mesmo que o programa esteja sintaticamente correto e seja compilado sem problemas. Erros de lgica so muito mais difceis de localizar do que erros de sintaxe; Ex.: mais fcil determinar se "ovos" contm um erro ortogrfico em uma receita do que dizer se h ovos em excesso ou se eles foram postos muito cedo.

Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

Introduo Programao de Computadores

Algoritmos Representao por Fluxograma


Obter nmeroEntrada. Computar respostaCalculada como sendo 2 vezes nmeroEntrada. Imprimir respostaCalculada.

Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

Introduo Programao de Computadores

Algoritmos Representao por Fluxograma

Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

Introduo Programao de Computadores

Algoritmo - Curiosidades

Sua denominao tem origem no sobrenome, AlKhwarizmi, do matemtico persa do sculo IX Mohamed ben Musa, cujas obras foram traduzidas no ocidente cristo no sculo XII, tendo uma delas recebido o nome Algorithmi de numero indorum, sobre os algoritmos usando o sistema de numerao decimal (indiano). O nome de Al-Khwarizmi tambm est relacionado s origens de outros termos matemticos, como algarismo e logaritmo.
Universidade Federal de Viosa Departamento de Informtica

INF 100 Introduo Programao

Introduo Programao de Computadores

Algoritmo - Curiosidades
A mulher do programador pede para ele ir padaria: - Benh, vai na padaria e traz 5 pes. Se tiver ovos, traz 6. Ele vai, e volta com 6 pes, e diz: - Tinha ovos.

Universidade Federal de Viosa Departamento de Informtica

You might also like