76
exatasfepi.com.br Programação Computacional C/C++ André Luís Duarte “Feliz é o homem que acha sabedoria, e o homem que adquire entendimento;” Provérbios 3:13

Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

  • Upload
    buitu

  • View
    219

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

exatasfepi.com.br

Programação

Computacional – C/C++

André Luís Duarte

“Feliz é o homem que acha sabedoria, e o homem que

adquire entendimento;” Provérbios 3:13

Page 2: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

208/05/2017

Conceitos

Fundamentos

Estrutura sequencial

Estruturas de seleção

Estruturas de repetição

Page 3: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Sintaxe básica

Um programa simples em C/C++ possui

três áreas básicas

Declaração de uso de bibliotecas e espaços

de nome

Inicio do corpo principal

Fim do corpo principal

308/05/2017

Page 4: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Sintaxe básica

Após codificado, o programa deve ser

compilado e executado para vermos o resultado

408/05/2017

Page 5: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Sintaxe básica

O compilador verifica o código atrás de erros

O compilador une a biblioteca ao código fonte e

gera um arquivo intermediário (objeto)

O compilador otimiza o código para a

arquitetura alvo e gera o executável que pode

ser então executado sem que o ambiente de

programação esteja presente

508/05/2017

Page 6: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Sintaxe básica

608/05/2017

Inicio

Fim

Page 7: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Sintaxe básica

708/05/2017

Inicio

Fim

Page 8: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Declaração de bibliotecas

Em C++ fazemos usando a linha

#include<iostream>

Isso informa ao compilador que usaremos

rotinas prontas dentro da biblioteca

(cabeçalho) iostream (input output

stream)

808/05/2017

Page 9: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Espaços de nome

Na programação moderna usamos

espaços de nome para organizar o

desenvolvimento de grandes projetos

using namespace std;

908/05/2017

Page 10: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Espaços de nome

1008/05/2017

namespace A namespace B

soma()

delta()

busca() exiba()

delta()

localiza()

Page 11: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Bloco principal

Todo programa pode ser codificado

usando várias funções

Um projeto em C++ deve possuir uma e

somente uma função chamada main()que indica onde se inicia o bloco principal

int main(){

1108/05/2017

Page 12: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Bloco principal

int main(){

int : tipo de retorno da função

main() : nome do bloco principal

{ : inicio do bloco

retorno: normalmente quando um programa termina sem

erro, ele envia o valor 0 (zero) para avisar ao sistema

operacional que terminou sua execução com sucesso

1208/05/2017

Page 13: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Bloco principal

Fim

return 0;

}

Obs.: a instrução return 0 está intimamente

ligada ao int do bloco principal

1308/05/2017

Page 14: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Retorno

O retorno indica ao sistema operacional o

que ocorreu no programa

return 0; => o programa executou seus

todos os comandos com sucesso

O sistema operacional pode então liberar

os recursos usados pelo programa

1408/05/2017

Page 15: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Janela de execução

Algumas ferramentas “congelam” a janela após o programa ser executado para vermos o resultado

Isso pode ser feito no momento da execução do programa se a ferramenta possuir o recurso

Caso não possua, devemos forçar que a janela não seja fechada usando o comando getchar();

Obs.: sempre que a janela exibir o resultado, essa deve ser fechada para evitar erros nas próximas execuções

1508/05/2017

Page 16: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Comentários

Comentários são textos importantes inseridos para documentar um programa

Em C++, para comentarmos uma linha usamos barras duplas (//)// Comentário de uma linha

Para comentarmos mais de uma linha usamos (/**/)/* Comentário commais de uma linha */

Comentários não são considerados como instrução, por isso, não tornam o arquivo executável maior pode ser usado qualquer tipo de caractere

1608/05/2017

Page 17: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Comentários

1708/05/2017

Page 18: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Saída de dados

Para exibir uma mensagem na tela do

computador usamos a instrução “cout”

A forma mais simples de uso do comando

é quando passamos o texto (string) que

será exibido na tela

1808/05/2017

"soma = ", soma

Page 19: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Saída de dados

Sempre que precisamos exibir algo no monitor

usamos o comando cout com o seguinte

formato:

cout << "Texto"; cout : comando de exibição

<< : operador de inserção de stream

"Texto" : texto a ser exibido entre aspas

; : ponto e vírgula indicando o fim da instrução

1908/05/2017

Page 20: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Saída de dados

2008/05/2017

Obs.: neste caso o caractere a acentuado será trocado por um caractere diferentes, isso

ocorre pois o prompt onde o programa será executado usa a língua inglesa

Page 21: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Saída de dados (exibir acentos)

2108/05/2017

Page 22: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Saída de dados

Além de textos o comando cout pode ser

usado para exibir valores numéricos e

variáveis

cout << 4;

cout << 9 + 5;

cout << sqrt(16);

cout << num;

2208/05/2017

Page 23: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Saída de dados

O comando cout pode ser usado para

exibir vários valores na mesma linha

cout << 4 << "/" << 2 << "=" << 4/2;

cout << "Total: R$ " << total;

cout << "Raiz de 16 = " << sqrt(16);

cout << x << "+" << z << "=" << x+z;

2308/05/2017

Page 24: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Caracteres de escape

2408/05/2017

Page 25: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Caracteres de escape

cout << "Algoritmo e Estrutura de Dados";

\n quebra de linha

cout << "Algoritmo e \nEstrutura de \nDados";

\t tabulação

cout << "Algoritmo e \n\tEstrutura de \n\tDados";

\a beep de alerta

cout << "Algoritmo e \aEstrutura de \aDados";

\r retorno de carro

cout << "Algoritmo e Estrutura de Dados\r";

2508/05/2017

Page 26: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Exercícios de fixação

Crie um programa que exiba os números 1, 2 e

3 e os caracteres A, E e D como nos exemplos:

2608/05/2017

1 2 3 1

2

3

A

E

D

A

E

D

A

E

D

1

2

3

Page 27: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Exercícios de fixação

Crie um programa que exiba a seguinte tabela:

=======================================

Valor unitario Qtd Total

10 5 50.00

5 6 30.00

=======================================

Total (R$) 80.00

=======================================

2708/05/2017

Page 28: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Variável

Como apresentados em aulas anteriores,

todos os dados que iremos processar

devem estar em algum lugar na memória

do computador

A memória que acessamos é a memória

RAM

2808/05/2017

Page 29: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Variável

Uma variável é uma posição de memória que

possui:

Nome

Endereço

Conteúdo

Permite operações de:

Leitura

Escrita

2908/05/2017

Page 30: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Variável

Em C++ devemos declarar as variáveis sempre antes de usá-la

Sintaxe:tipo <v1, v2,..., vn>;

Obs.: podemos declarar várias variáveis na mesma linha separando cada uma com uma vírgula

3008/05/2017

Page 31: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Variável

O nome de uma variável deve seguir as

seguintes regras de formação de

identificadores:

Começar com um caractere alfabético

Em seguida pode vir caracteres alfabéticos,

numéricos e “_”

Não deve conter caracteres especiais, acentuados e

espaços

Não pode usar nomes reservados da linguagem

3108/05/2017

Page 32: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Variável

Tipos básicos:

char: caractere ('a', 'N', '5', '+', etc)

int: inteiro (1, -4, 2874, etc)

float: número real (-71.987, 0.333, etc)

double: numero real duplo (maior que o float)

bool: valor lógico (true, false)

3208/05/2017

Page 33: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Variável

Exemplos:

int num;

float salario;

double imposto;

char sexo;

bool terminou;

3308/05/2017

Page 34: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Variável

Exemplos estilos:

3408/05/2017

int n1, n2, soma; int n1,

n2,

soma;int n1;

int n2;

int soma;

Page 35: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Exercícios

idade

número

x1

sqrt

delta

1_numero

return

salario

nome

ano_nascimento

3508/05/2017

Indique os identificadores como válidos (v)

ou inválidos (i):

Page 36: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Operador de atribuição

O operador de atribuição “=” é usado para

atribuir à uma variável um determinado

valor dependendo da natureza (tipo) da

variável

Exemplo:

3608/05/2017

a = 10;

x = 2 * y;

pot = pow(3,3);

sexo = 'F';

Page 37: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Operador de atribuição ()

3708/05/2017

Page 38: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Operadores aritméticos

3808/05/2017

Operador Operação

+ Adição (2 + 3, n1 + 5)

- Subtração (x – a, numero – 10.55)

* Multiplicação (b * 2, 4 * 4)

/ Divisão (quociente entre inteiros) (delta / 4, 9.66 / 0.55)

% Resto da divisão entre inteiros (6 % 4, n % 2)

sqrt Raiz quadrada (sqrt(9), sqrt(delta))

pow Potência (pow(2,3), pow(x,y))

Page 39: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Exercício

Crie um programa em C++ que armazene os valores 7.55 e -89 e em seguida exiba a soma, subtração, multiplicação e divisão destes valores

Crie um programa que armazene um valor qualquer e depois exiba o seu dobro, sua metade, o seu quadrado

Crie um programa que exiba as raízes da equação: x2 – 5x + 6

3908/05/2017

Page 40: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Entrada manual de dados

Entrada

cin >> <variável>;

Variável deve ser do tipo de dados que se

espera, seja digitado

4008/05/2017

num

Page 41: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Entrada manual de dados

Sempre que precisamos ler um dado a partir do

teclado usamos o comando cin com o seguinte

formato:

cin >> num; cin : comando de entrada de dados

>> : operador de extração de stream

num : variável que receberá o valor digitado

; : ponto e vírgula indicando o fim da instrução

4108/05/2017

Page 42: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Entrada manual de dados

Para trabalharmos com string, devemos usar a

função getline() da seguinte forma:

getline(cin, nome);

Onde nome é uma variável do tipo string

Além disso devemos declarar a biblioteca

<string> e antes da leitura da string usarmos o

comando cin.ignore();

4208/05/2017

Page 43: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Entrada manual de dados

4308/05/2017

Page 44: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Exercício

Crie um programa em C++ que permita ao usuário digitar três valores e seja exibido a diferença entre cada um deles

Crie um programa em C++ que permita ao usuário digitar dois números e seja exibido a raiz e a potência sendo o segundo número a potência e o radical: Exemplo

3 e 2 => três ao quadrado e raiz quadrada de 3

6 e 5 => seis a quinta e raiz quinta de 6

4408/05/2017

Page 45: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Exercício

Crie um programa em C++ que permita ao

usuário digitar os termos a, b e c de uma

equação do 2º grau e seu programa exiba

suas raízes da seguintes forma:

4508/05/2017

a = 1b = -5c = 61x^2 + -5x + 6x1 = 3 e x2 = 2

Page 46: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Estrutura de seleção

Em C/C++ temos dois tipos possíveis de

estrutura de seleção;

if else

switch case

Estas estruturas equivalem ao teste

condicional do fluxograma

if(x<4)

4608/05/2017

x < 4 4

Page 47: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Estrutura de seleção

...

if(x == 4){

cout << "Numero informado e 4";

else

cout << "Numero informado nao e 4";

...

4708/05/2017

x = 4 4

“Numero é 4” “Numero não é 4”

Page 48: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Exercícios de fixação

Construa um fluxograma e em seguida o

programa em C/C++ que:

Permita ao usuário digitar dois números e

seja exibida a soma, subtração, multiplicação,

divisão, potencia de do primeiro pelo segundo

e a raiz de ambos

Altere o exemplo anterior para o usuário

escolher qual operação deseja realizar

4808/05/2017

Page 49: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Exercícios de fixação

Construa um fluxograma e em seguida o

programa em C/C++ que:

Permita ao usuário digitar um número e seja

informado se é positivo ou não

Permita ao usuário digitar um número e seja

informado se é par, impar ou zero

Permita ao usuário informar dois números e

seja informado qual o maior valor digitado

4908/05/2017

Page 50: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

switch case

A estrutura de seleção switch case

examina o conteúdo de uma variável e

verifica se existe um caso que o satisfaça

Para finalizar cada caso devemos usar um

comando “break” para que o computador

não execute todos os caso subsequentes

5008/05/2017

Page 51: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

switch case

O comando testa sucessivamente o valor

de uma expressão contra uma lista de

constantes inteiras ou caractere

A estrutura de seleção pode substituir

eventuais construções com muitos testes

condicionais de igualdade usando

“if...else” sobre a mesma variável

5108/05/2017

Page 52: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

switch case

O switch difere do if, pois, só pode testar

igualdade

Duas constantes case no mesmo switch

não podem ter valores idênticos

Se as constantes são caracteres, essas

serão automaticamente convertidas para

seus valores inteiros

5208/05/2017

Page 53: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

switch case

5308/05/2017

Page 54: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Solução 1

5408/05/2017

Page 55: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Solução 2

5508/05/2017

Page 56: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Inicio e fim de blocos

Em C/C++ quando uma estrutura de

seleção ou repetição terá um bloco de

comandos, devemos delimitá-lo usando as

chaves: “{” indicando inicio do bloco e “}”

indicando o final do bloco

Um bloco é formado por mais de uma linha

de comandos dentro da mesma estrutura

5608/05/2017

Page 57: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Inicio e fim de bloco

5708/05/2017

Page 58: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Inicio e fim de bloco

5808/05/2017

Page 59: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

5908/05/2017

Conceitos

Sintaxe básica

Declaração de variáveis

Expressões aritmética e relacional

Estrutura sequencial

Estrutura de seleção

Estrutura de repetição

Page 60: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Estrutura de repetição

A estrutura de repetição, também chamada de loop, é uma estrutura que permite executar um comando ou um bloco de comandos mais de uma vez através de uma condição

No C/C++ temos três estruturas possíveiswhile

do while

for

6008/05/2017

Page 61: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Estrutura de repetição

Toda estrutura de repetição deverá ter uma condição de parada (deve terminar)

No geral isso é conseguido através de uma variável de controle

No geral, um loop será formado, em relação à variável de controle, por uma atribuição, seguido de um teste lógico sobre a variável (condição) e por fim um incremento / decremento

6108/05/2017

Page 62: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Exemplos de loop

6208/05/2017

Page 63: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Estrutura de repetição

Podemos ter dois tipos de estruturas de

repetição no C/C++

Loop com teste no início

Não sei quantas vezes este loop irá executar seu

bloco de instruções

Loop com teste no final

Este loop irá executar o seu bloco de instruções

pelo menos uma vez

6308/05/2017

Page 64: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

while

Estrutura de repetição com teste no inicio

Sintaxe:while (<condição>){

Comando_1;

Comando_2;

...

Comando_n;

}

6408/05/2017

Page 65: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

while

Enquanto o resultado da condição for verdadeira, o “while” executará os comandos internos ao seu bloco

Quando a condição se tornar falsa, o programa irá continuar a execução a partir do primeiro comando após o final do bloco do “while”

É muito útil quando não sabemos quantas vezes o loop será executado

6508/05/2017

Page 66: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Exemplo

6608/05/2017

Page 67: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

do while

Estrutura de repetição com teste no final

Sintaxe:do{

Comando_1;

Comando_2;

...

Comando_n;

} while(<condição>);

6708/05/2017

Page 68: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

do while

Enquanto o resultado da condição for verdadeira, o “do while” executará os comandos internos ao seu bloco

Quando a condição se tornar falsa, o programa irá continuar a execução a partir do primeiro comando após o final do bloco do “do while”

É muito útil quando não sabemos quantas vezes o loop será executado, mas precisa ser executado pelo menos uma vez

6808/05/2017

Page 69: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Exemplo

6908/05/2017

Page 70: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

for

O “for” é um loop especial onde o trio

atribuição, condição e incremento estão

na mesma linha do comando

É muito útil quando sabemos quantas

vezes o loop será executado

7008/05/2017

Page 71: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Exemplo

7108/05/2017

Page 72: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Operador de incremento ++

O C/C++ possui um operador especial

unário chamado “++”

Aplicar o operador a uma variável é o

mesmo que incrementá-la em uma

unidade:

cont++ cont = cont + 1

7208/05/2017

Page 73: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Operador de decremento --

O C/C++ possui um operador especial

unário chamado “--”

Aplicar o operador a uma variável é o

mesmo que decrementá-la em uma

unidade:

cont-- cont = cont - 1

7308/05/2017

Page 74: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Exercícios de fixação

Crie um fluxograma e um programa em

C/C++ que permita ao usuário digitar um

número e sejam exibido todos os números

inteiros entre 0 e o número digitado

Obs.: construa o programa usando os três

tipos de loop

7408/05/2017

Page 75: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Exercícios de fixação

Altere o exercício anterior para exibir a

soma de todos os números inteiros entre 0

(zero) e número digitado pelo usuário

Crie um fluxograma e um programa em

C/C++ que exiba o fatorial de um número

digitado pelo usuário

7508/05/2017

Page 76: Programação Computacional C/C++exatasfepi.com.br:8088/exatas/wp-content/uploads/2015/03/... · 2017-05-08 · Em C++ fazemos usando a linha #include ... comando

[email protected]

Exercícios de fixação

Crie um fluxograma e um programa em C/C++ que calcule a média de todos os números digitados pelo usuário

Crie um fluxograma e um programa em C/C++ que realize uma votação para verificar a preferência dos alunos entre três disciplinas: informática, cálculo e estática

7608/05/2017