Buscar

Bac004 - Parte 2 (Algoritmo)

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 3, do total de 73 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

Você também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 6, do total de 73 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

Você também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 9, do total de 73 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

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Introdução à Programação
FARRER, H. et. alli. Algoritmos Estruturados. 3a. 
edição. Rio de Janeiro. LTC – 1999. Capítulo 0
GUIMARÃES, A. M. e LAGES, N. A. C. Algoritmos e 
Estrutura de Dados. 1a. edição. Rio de Janeiro. 
LTC, 1985.
BAC004-Informática-Teórica-Fabiana C Guedes 2
Introdução
 A tarefa de processamento de dados 
consiste em tomar certa informação, 
processá-la e obter o resultado desejado.
BAC004-Informática-Teórica-Fabiana C Guedes 3
Introdução – Esquema do 
Computador Digital
BAC004-Informática-Teórica-Fabiana C Guedes 4
Introdução – Esquema do 
Computador Digital
 Unidade de Entrada
 Traduz informação de uma grande variedade de 
dispositivos em um código que a unidade central 
de processamento é capaz de entender.
 Memória
 Armazena os dados e os programas que 
“manipulam” estes dados.
 Unidade Lógica e Aritmética
 Nesta unidade são feitos todos os cálculos 
aritméticos e qualquer manipulação de dados, 
sejam eles numéricos ou não.
BAC004-Informática-Teórica-Fabiana C Guedes 5
Introdução – Esquema do 
Computador Digital
 Unidade de Controle
 É a unidade responsável pelo fluxo dos dados. Ela obtém 
dados armazenados na memória e interpreta-os. Controla 
a transferência de dados da memória para a unidade 
lógica e aritmética, da entrada para a memória e da 
memória para a saída.
 Unidade de Saída
 Os dados processados são convertidos, por esta unidade, 
de impulsos elétricos em palavras ou números que podem 
ser “escritos” em impressoras ou “mostrados” em vídeos 
ou numa série de outros dispositivos.
BAC004-Informática-Teórica-Fabiana C Guedes 6
Introdução
 Sistema
 Conjunto de objetos, dotado de 
propriedades características, capazes de 
se interagir, dentro de um determinado 
contexto.
 Estado 
 Conjunto de propriedades relevantes dos 
objetos de um dado sistema, em um 
determinado instante.
BAC004-Informática-Teórica-Fabiana C Guedes 7
Introdução
 Ação 
 Evento que ocorre em um período de 
tempo finito estabelecendo um efeito 
intencionado e bem definido.
 Toda vez que um determinado sistema 
estiver num estado En, e sofrer a 
aplicação da ação an, será levado ao 
estado En+1, após um certo intervalo de 
tempo.
BAC004-Informática-Teórica-Fabiana C Guedes 8
Introdução
 Processo
 Seqüência temporal de (sub) ações, cujo 
efeito acumulado é igual ao efeito de um 
único evento equivalente.
 Programa
 “Formulações concretas de algoritmos 
abstratos baseados em representações e 
estruturas específicas de dados” (Wirth).
BAC004-Informática-Teórica-Fabiana C Guedes 9
Introdução
 Algoritmo
 Descrição de um padrão de 
comportamento (o que fazer) expressa 
em termos de um repertório finito e bem 
inteligível de ações primitivas (como 
fazer), as quais, supõe-se, a priori, sejam 
possíveis de executar.
 Programar é basicamente construir 
algoritmos.
BAC004-Informática-Teórica-Fabiana C Guedes 10
Introdução
 Algoritmo
 Descrição de um conjunto de comandos que, 
obedecidos resultam numa sucessão finita de 
ações.
 Um algoritmo se destina a resolver um 
problema: fixa um padrão de comportamento a 
ser seguido, uma norma de execução a ser 
trilhada, para se atingir como o resultado final, a 
solução de um problema.
BAC004-Informática-Teórica-Fabiana C Guedes 11
Introdução
 Algoritmo
 Ao escrever um algoritmo, começa-se 
considerando o acontecimento como um 
processo, dividindo-o em uma seqüência de 
(sub) ações que deverão ser realizadas 
sucessivamente.
 É necessário o uso de um conjunto de 
mecanismos que permita o desenvolvimento de 
algoritmos, e que seja conciso, para evitar 
ambigüidades e libertar o programador do rigor 
e limitações das linguagens de programação.
BAC004-Informática-Teórica-Fabiana C Guedes 12
Elementos de um Algoritmo
 Alfabeto
 Letras do alfabeto padrão inglês, 
maiúsculo e minúsculo;
 Dez algarismos
 Outros símbolos
 +, -, *, /, (), {}, >, <, =, <=, >=, <>, “, ., vírgula, 
_, :, ;, !, ?, %, &, #, @, \
BAC004-Informática-Teórica-Fabiana C Guedes 13
Elementos de um Algoritmo
 Comentários
 Informações acrescentadas a um algoritmo com 
o objetivo de identificá-lo, explicar a sua função 
e esclarecer trechos.
 Ele é um texto ou simplesmente uma frase, que 
aparece sempre delimitado por chaves.
 Podem ser colocados em qualquer ponto onde 
se façam necessários. 
 Forma Geral:
{Texto}
BAC004-Informática-Teórica-Fabiana C Guedes 14
Elementos de um Algoritmo
 Pseudo-comandos
 Descrições genéricas de trechos de algoritmos 
que ainda deverão ser desenvolvidos, até que 
possam ser expressos em termos dos 
comandos e estruturas de controle básicos. 
Recomenda-se que, ao se desenvolver a idéia 
expressa na sentença, o pseudo-comando 
passe a fazer parte do algoritmo como 
comentário.
 Forma Geral:
Texto
BAC004-Informática-Teórica-Fabiana C Guedes 15
Forma Geral de um Algoritmo
início
{identificação}
{abstrações de dados}
{definições de dados}
{abstrações de comandos}
{definições de comandos}
fim
BAC004-Informática-Teórica-Fabiana C Guedes 16
Um Algoritmo Inicial
 Fazer um algoritmo para ler dois 
valores do teclado e mostrar a sua 
soma na tela.
 Primeiro Passo: Identificar o objetivo do 
algoritmo
 Segundo Passo: Isolar processos
 Terceiro Passo: Isolar ações 
consideradas primitivas
BAC004-Informática-Teórica-Fabiana C Guedes 17
Um Algoritmo Inicial – Primeiro 
Passo
 Identificar o objetivo do algoritmo
início
ler dois valores inteiros e mostrar sua soma
fim
Processo 1
Processo 2
BAC004-Informática-Teórica-Fabiana C Guedes 18
Um Algoritmo Inicial – 
Segundo Passo
 Isolar processos
início
{ler dois valores inteiros e mostrar sua soma}
ler dois valores inteiros
mostrar sua soma
fim
O que é 
necessário?
O que é 
necessário?
BAC004-Informática-Teórica-Fabiana C Guedes 19
Um Algoritmo Inicial – Terceiro 
Passo
 Isolar ações consideradas primitivas
início
{ler dois valores inteiros e mostrar sua soma}
definir um local para armazenar o primeiro valor
definir um local para armazenar o segundo valor
ler um valor do teclado e armazená-lo
ler outro valor do teclado e armazená-lo
mostrar a soma dos valores armazenados
fim
BAC004-Informática-Teórica-Fabiana C Guedes 20
Refinamentos
 Um algoritmo é considerado completo 
se os seus comandos forem do 
entendimento do seu destinatário.
 Um comando que não for do 
entendimento do destinatário terá de 
ser desdobrado em novos comandos, 
que constituirão um refinamento do 
comando inicial.
BAC004-Informática-Teórica-Fabiana C Guedes 21
Refinamentos
 Se um algoritmo é formado não 
apenas por um comando, mas por 
vários, isto significa que na sua 
execução não se consideram apenas 
o estado inicial e o final de uma ação 
dele resultante, mas que se 
consideram também estados 
intermediários que delimitam as 
ações decorrentes de cada comando.
BAC004-Informática-Teórica-Fabiana C Guedes 22
Refinamentos
 Um algoritmo e os seus refinamentos 
são formados por comandos, que 
determinam as ações a serem 
executadas pelo seu destinatário e por 
estruturas de controle que 
determinam a ordem em que os 
comandos devem ser executados, se 
devem ser executados ou não e 
quando devem ser repetidos.
BAC004-Informática-Teórica-Fabiana C Guedes 23
Refinamentos
 Se um comando de um refinamento for 
um tanto vago, ele poderá, por sua 
vez, ser desdobrado em novos 
comandos, produzindo-se o 
refinamento de um refinamento, e 
assim sucessivamente.
BAC004-Informática-Teórica-Fabiana C Guedes 24
Exemplo de um Algoritmo
 Descrever um algoritmo que mostre todos 
osnúmeros da série de Fibonacci menores 
que um valor dado n.
 A seqüência de FIBONACCI se define como 
tendo os dois primeiros termos iguais a um 
e cada termo seguinte igual a soma dos 
dois termos imediatamente anteriores. 
BAC004-Informática-Teórica-Fabiana C Guedes 25
Exemplo de um Algoritmo
 Algoritmo Fibonacci
inicio
Escreva os termos de Fibonacci 
inferiores a n
fim
BAC004-Informática-Teórica-Fabiana C Guedes 26
Exemplo de um Algoritmo - 
Refinamento
 Série de Fibonacci inferiores a n
inicio
Receba o valor de n
Processe os 2 primeiros termos
Processe os termos restantes
fim
BAC004-Informática-Teórica-Fabiana C Guedes 27
Exemplo de um Algoritmo - 
Refinamento
 Refinamento Processe os 2 primeiros termos
inicio
Atribua o valor 1 ao primeiro termo
se ele for menor do que n
então escreva-o
fim se
Atribua o valor 1 ao segundo termo
se ele for menor do que n
então escreva-o
fim se
fim
Só será 
executado se o 
valor for 
menor que n
Só será 
executado se o 
valor for 
menor que n
BAC004-Informática-Teórica-Fabiana C Guedes 28
Exemplo de um Algoritmo - 
Refinamento
 Refinamento de “Processe os termos restantes”:
inicio
repita
Calcule novo termo somando os 2 anteriores
se novo termo for maior ou igual a n
então interrompa
fim se
Escreva novo termo
fim repita
fim
Vai repetir de acordo 
com uma condição
Valor maior 
ou igual a n 
interrompe
BAC004-Informática-Teórica-Fabiana C Guedes 29
Exemplo de um Algoritmo - 
Completo
Algoritmo Fibonacci
inicio
Receba o valor de n
{Processamento dos 2 primeiros termos}
Atribua o valor 1 ao primeiro termo
se ele for menor do que n
então escreva-o
fim se
Atribua o valor 1 ao segundo termo
se ele for menor do que n
então escreva-o
fim se
{Processamento dos termos restantes}
repita
Calcule novo termo somando os 2 anteriores
se novo termo for maior ou igual a n
então interrompa
fim se
Escreva novo termo
fim repita
fim
BAC004-Informática-Teórica-Fabiana C Guedes 30
Algoritmos Estruturados
 Objetivos da Técnica
 Facilitar o desenvolvimento dos 
algoritmos;
 Facilitar o seu entendimento;
 Antecipar a comprovação da sua 
correção;
 Permitir que o seu desenvolvimento 
possa ser empreendido simultaneamente 
por uma equipe de pessoas.
BAC004-Informática-Teórica-Fabiana C Guedes 31
Algoritmos Estruturados
 O desenvolvimento estruturado preconiza 
que:
 Os algoritmos sejam desenvolvidos por 
refinamentos sucessivos. 
 Os sucessivos refinamentos são módulos, que 
delimitam poucas funções e são os mais 
independentes possíveis, isto é, conservam 
poucos vínculos com outros módulos.
 Nos módulos deve ser usado um número 
limitado de diferentes comandos e de 
diferentes estruturas de controle.
BAC004-Informática-Teórica-Fabiana C Guedes 32
Fluxograma
• Um tipo de representação algorítmica.
• Escrever os passos a serem seguidos 
para resolver o problema
• Utiliza símbolos gráficos predefinidos
• Mais fácil entendimento do que a 
narrativa
• É necessário aprender a simbologia e o 
algoritmo não apresenta muitos detalhes
BAC004-Informática-Teórica-Fabiana C Guedes 33
Fluxograma
• Exemplo: Multiplicar dois números
INÍCIO N1, N2
FIM
M = N1 * N2
M
BAC004-Informática-Teórica-Fabiana C Guedes 34
Linguagens de Programação
 Para armazenar um algoritmo na 
memória de um computador e para 
que ele possa, em seguida, comandar 
as operações a serem executadas, é 
necessário que ele seja programado, 
isto é, que seja transcrito para uma 
linguagem que o computador possa 
“enteder”, direta ou indiretamente.
BAC004-Informática-Teórica-Fabiana C Guedes 35
Linguagens de Programação
 Os computadores só podem executar 
diretamente os algoritmos expressos 
em linguagem de máquina, que é um 
conjunto de instruções capazes de 
ativar diretamente os dispositivos 
eletrônicos do computador.
BAC004-Informática-Teórica-Fabiana C Guedes 36
Linguagens de Programação
 Logo surgiu a idéia de se escreverem programas 
em Linguagem simbólica, mais conhecida por 
Linguagem Assembly ou Linguagem montadora.
 Um programa em Assembly, para controlar o 
computador, deve primeiro ser transformado em 
linguagem de máquina. Como cada comando da 
linguagem Assembly corresponde a um comando 
em linguagem de máquina, esta transformação 
pode ser feita facilmente pelo próprio computador, 
por meio de um programa chamado montador ou 
Assembler.
BAC004-Informática-Teórica-Fabiana C Guedes 37
Linguagens de Programação
 Criação de linguagens em que a programação era 
feita por meio de uma notação matemática e de 
algumas palavras da língua inglesa, deixando ao 
próprio computador a tarefa de traduzir este 
programa para a linguagem de máquina, por meio 
de um programa chamado compilador.
 A primeira destas linguagens, que teve ampla 
aceitação, surgiu em 1957 e é ainda hoje utilizada. 
Trata-se da linguagem FORTRAN, nome formado 
com partes das palavras “Formula Translation”.
BAC004-Informática-Teórica-Fabiana C Guedes 38
Linguagens de Programação
 A escolha da linguagem de programação 
para se usar em um computador depende, 
antes de tudo, da existência de um 
programa compilador (que traduza o 
algoritmo escrito na linguagem escolhida 
para a linguagem de máquina) ou de um 
programa interpretador (que interprete 
cada comando do programa e execute uma 
série de instruções que a ele 
correspondem).
BAC004-Informática-Teórica-Fabiana C Guedes 39
Exercício
 Um algoritmo não pode conter um 
comando como:
 Escreva todos os termos da sequência 
de Fibonacci
 Por quê?
BAC004-Informática-Teórica-Fabiana C Guedes 40
Tópicos para Discussão
 Esquema do Computador Digital
 Sistema – Estado – Ação – Processo – Programa
 Algoritmo
 Comentários
 Pseudo-comandos
 Passos do algoritmo
 Refinamentos
 Algoritmos Estruturados
 Linguagens de Programação
BAC004-Informática-Teórica-Fabiana C Guedes 41
 IDE (Integrated Development 
Environment) Code::Blocks
Baseado no Material de Walter Nagai e Cláudia 
Akemi Izeki
BAC004-Informática-Teórica-Fabiana C Guedes 42
Code::Blocks
 Ambiente de Desenvolvimento Integrado (IDE) 
free para a linguagem C/C++.
 Multiplataforma operacional, ou seja, a mesma 
versão funciona em sistemas operacionais 
Linux, Mac e Windows.
 Pode ser adaptado para funcionar com várias 
linguagens derivadas de C/C++, mas na 
disciplinas de BAC004 será utilizada a versão 
do Code::Blocks que possui um compilador 
C/C++ embutido similar ao gnu C++ (gcc) do 
Linux.
BAC004-Informática-Teórica-Fabiana C Guedes 43
Sobre o Code::Blocks
• IDE para vários
• compiladores C/C++
• Open-source
• Multiplataforma
• Plug-ins
• Importa projetos do 
MS VC++ e DevC++
• Debugger
BAC004-Informática-Teórica-Fabiana C Guedes 44
Download e Instalação
• O IDE Code::Blocks está disponível no endereço: 
<http://www.codeblocks.org>
• No link “Downloads”, escolha a versão “binary 
release”
– Windows:
• codeblocks-12.11-setup.exe (sem 
compilador)
• codeblocks-12.11mingw-setup.exe 
(com compilador GNU-gcc integrado)
BAC004-Informática-Teórica-Fabiana C Guedes 45
Interface Inicial Code::Blocks
Management
Start Here
Log & Others
BAC004-Informática-Teórica-Fabiana C Guedes 46
Interface Inicial Code::Blocks
Gerenciamento de 
projetos, símbolos 
declarados e
recursos utilizados nos 
projetos
Um workspace é uma 
abstração de área de 
trabalho contendo os 
arquivos que farão parte 
do projeto de sua 
aplicação
BAC004-Informática-Teórica-Fabiana C Guedes 47
Interface Inicial Code::Blocks
Criar um novo 
Projeto
Abre Projeto 
Existente
Área de textos 
de logs,busca 
e depuração
BAC004-Informática-Teórica-Fabiana C Guedes 48
Criando um projeto
BAC004-Informática-Teórica-Fabiana C Guedes 49
Criando um projeto
BAC004-Informática-Teórica-Fabiana C Guedes 50
Criando um projeto
BAC004-Informática-Teórica-Fabiana C Guedes 51
Criando um projeto
BAC004-Informática-Teórica-Fabiana C Guedes 52
Criando um projeto
BAC004-Informática-Teórica-Fabiana C Guedes 53
Projeto Criado
Com o projeto criado, pode-se observar a 
pasta “Source”, onde devem ser inseridos os 
códigos-fontes da sua aplicação
BAC004-Informática-Teórica-Fabiana C Guedes 54
Arquivos e pastas criadas
• Na pasta/diretório que você indicou são 
criadas as pastas:
– bin: pasta onde pode ser encontrado 
executável;
– obj: pasta onde são encontrados os 
arquivos-objeto da compilação de 
cada arquivo .cpp
• O arquivo contendo as especificações do 
projeto possui extensão .cbp
BAC004-Informática-Teórica-Fabiana C Guedes 55
Construção e Execução
• Tecla F9 – constrói a aplicação, compilando 
todos os arquivos, e executa logo em seguida;
• Teclas CTRL + F9 – constrói a aplicação;
• Teclas CTRL + F10 – executa a aplicação;
• Teclas CTRL + F11 – reconstrói a aplicação;
• No menu “Build” existem outras opções: 
limpar pastas, limpar workspace, entre 
outros.
BAC004-Informática-Teórica-Fabiana C Guedes 56
A linguagem C
Alguns slides foram retirados 
do material do professor 
Wandré Veloso
BAC004-Informática-Teórica-Fabiana C Guedes 57
A Linguagem C
• É uma linguagem de médio nível, é uma linguagem 
que não está tão afastada da máquina.
• C é uma linguagem portável - um programa 
desenvolvido para uma máquina pode facilmente 
migrar para outra sem muitas alterações.
• O código gerado para um programa C é mais 
resumido (otimizado).
• Existem versões compiladas e interpretadas de C. 
As versões compiladas são mais rápidas, mas as 
versões interpretadas são preferidas quando se 
quer depurar um programa.
BAC004-Informática-Teórica-Fabiana C Guedes 58
Palavras Chaves
• Palavras reservadas da linguagem 
ANSI C:
– auto, double, int, struct, typedef, static, 
break, else, long, switch, char, while, 
case, enum, register, extern, return, union, 
const, float, short, unsigned, continue, for, 
signed, void, default, goto, sizeof, volatile, 
do, if.
BAC004-Informática-Teórica-Fabiana C Guedes 59
Palavras Chaves
• Palavras reservadas da linguagem C++
– catch, inline, private, template, class, new, 
protected, this, delete, operator, public, virtual, 
friend.
• Todas as palavras chaves de C e C++ são 
minúsculas. 
• A linguagem faz distinção entre palavras 
maiúsculas e minúsculas.
BAC004-Informática-Teórica-Fabiana C Guedes 60
Biblioteca de Funções e 
Linkedição
• Além das palavras chaves, todo compilador C vem 
com uma biblioteca padrão de funções que facilitam 
aos programadores a realização de tarefas como ler 
uma variável qualquer, comparar cadeias de 
caracteres, obter a data do sistema operacional.
• Existe uma biblioteca básica definida pelo padrão 
ANSI, mas alguns compiladores C vem com 
algumas funções extras para aplicações gráficas por 
exemplo.
• As bibliotecas devem ser incluídas nos programas 
que fazem uso dela e as funções usadas pelo 
programa serão LINKEDITADOS (ligados) ao 
programa.
BAC004-Informática-Teórica-Fabiana C Guedes 61
Anatomia de um Programa
• Todo programa em C segue uma estrutura básica, 
conforme o esquema apresentado abaixo:
[inclusão de bibliotecas]
[declaração de constantes e variáveis globais]
[declaração dos protótipos de funções]
int main ( )
{
[corpo do programa principal]
}
[implementação das funções do programa]
BAC004-Informática-Teórica-Fabiana C Guedes 62
Primeiro Programa
/* ProgC001.cpp
 Anatomia de um programa C
 Autor: Fabiana
 Data: 08/03/2013 */
# include <iostream>
# include <cstdlib>
 int main( ) {
 std::cout << "UNIFEI\n";
 std::cout << "Campus Itabira\n";
 std::cout << "2013";
 system("PAUSE > null");
 return 0;
 }
Comentário de mais de uma linha
Bibliotecas
Função Principal
Impressão em tela.
Fornece uma pausa 
no sistema, 
possibilitando a 
visualização do 
resultado
Retorno
BAC004-Informática-Teórica-Fabiana C Guedes 63
Função main
• Todo programa C++ deve existir uma 
única função chamada main. Ela 
marca o ponto de partida do programa
• Se um programa for constituído de 
uma única função, esta será main
• O programa termina quando for 
encerrada a execução da função 
main
BAC004-Informática-Teórica-Fabiana C Guedes 64
Função main
• A função main do código anterior é do tipo 
int
• Significa que ela deverá retornar um 
número inteiro
• A instrução return 0; é que caracteriza 
esse retorno
• Quando o programa dá algum tipo de erro, 
o retorno da função main pode ser 
diferente de 0.
BAC004-Informática-Teórica-Fabiana C Guedes 65
Chaves
• Toda função ou bloco C++ deve 
começar com uma chave de abertura 
de bloco { e terminar com uma de 
fechamento de bloco }
• As chaves delimitam o corpo da 
função
BAC004-Informática-Teórica-Fabiana C Guedes 66
Espaços em Branco
• O compilador ignora os espaços em branco
• Podemos colocar diversas instruções em 
uma única linha ou até saltar linhas 
diversas
• Exceções: Não usar espaços em textos 
escritos entre aspas, nomes de funções, 
operadores, comandos de linguagem e 
diretivas de pré-processador
• Ex: #include <iostream>
BAC004-Informática-Teórica-Fabiana C Guedes 67
Diretivas do pré-processador
• Não é uma instrução da linguagem C++ 
(não há ponto-e-vírgula no final)
• O pré-processador é um programa que 
examina o programa-fonte em C++ e 
executa certas modificações com base em 
instruções chamadas de diretivas
• Toda diretiva é iniciada pelo símbolo # e 
seu texto deve ser escrito em uma única 
linha
BAC004-Informática-Teórica-Fabiana C Guedes 68
Diretiva #include
• Provoca a inclusão de outro arquivo em nosso programa-fonte
• Substitui a linha contendo essa diretiva pelo conteúdo do arquivo
• A substituição é feita antes de o programa ser compilado
• O arquivo iostream contém as definições e declarações 
necessárias para o uso de objetos stream, no nosso caso cout, e 
também para o uso da função system()
• O arquivo cstdlib contém funções envolvendo alocação de 
memória, controle de processos, conversões e outras
• Se usarmos os sinais < e > o arquivo é procurado somente na pasta 
INCLUDE do compilador
• Se usarmos aspas duplas, o arquivo é procurado primeiramente na 
pasta atual e depois, se não for encontrado, na pasta INCLUDE
BAC004-Informática-Teórica-Fabiana C Guedes 69
Diretiva using
• O namespace é uma região que agrega um 
identificador a todos os nomes declarados dentro dela
• Em outras palavras, namespace é um sobrenome
• O objeto cout está declarado no namespace std
• Para usarmos o cout deveríamos escrever a instrução 
deste modo:
• std::cout << "2013";
• Para que não seja necessário escrevermos std em 
todas as instruções, usamos o comando
• using namespace std;
BAC004-Informática-Teórica-Fabiana C Guedes 70
Utilização do using
/* ProgC001a.cpp Utilização de using Autor: Fabiana
 Data: 08/03/2013 */
# include <iostream>
# include <cstdlib>
using namespace std;
 int main( ) {
 cout << "UNIFEI\n";
 cout << "Campus Itabira\n";
 cout << "2013";
 system("PAUSE > null");
 return 0;
 }
Diretiva using
Não é necessário 
escrever std::cout
BAC004-Informática-Teórica-Fabiana C Guedes 71
Cout – códigos especiais
• O objeto cout não quebra a linha no final da 
impressão, por isso devemos utilizar um código que é 
formadopelo sinal \ (barra invertida) e outros 
caracteres.
– \n Nova linha
– \t Tabulação
– \b Retrocesso
– \f Salta página
– \a Toca o auto-falante 
(não usar nos 
computadores da 
faculdade, senão trava)
– \r Volta o cursor para o 
início da linha
– \0 Zero (Null)
– \\ \ (barra invertida)
– \' Aspas simples
– \" Aspas duplas
– \xdd Representação 
hexadecimal de caractere da 
tabela ASCII
BAC004-Informática-Teórica-Fabiana C Guedes 72
Comentários
• Têm a função de ajudar na documentação do código-
fonte do programa
• Existem dois tipos de comentários
• De uma linha
• int main() //função main
• De várias linhas
• /*No nosso primeiro programa escrevemos 
somente uma frase na tela e esperamos o 
usuário apertar alguma tecla*/
• Não podemos combinar comentários de várias linhas
• /* isso não se pode /* fazer*/
BAC004-Informática-Teórica-Fabiana C Guedes 73
Exercício
• Modifique o programa PROGC001a 
colocando o nome do seu grupo e os 
seus componentes. O nome do grupo e 
os componentes do grupo devem ficar 
em linhas diferentes.
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	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
	Slide 73

Outros materiais