• Nenhum resultado encontrado

Bac004 - Parte 1

N/A
N/A
Protected

Academic year: 2021

Share "Bac004 - Parte 1"

Copied!
61
0
0

Texto

(1)

Bac004 – Informática

-Laboratório

Professora: Fabiana Costa

Guedes

(2)

BAC004-Informática-Prática-Fabiana C Guedes

IDE (Integrated Development

Environment) Code::Blocks

Baseado no Material de Walter Nagai e Cláudia

Akemi Izeki

(3)

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

(4)

BAC004-Informática-Prática-Fabiana C Guedes

Sobre o Code::Blocks

IDE para vários

compiladores

C/C++

Open-source

Multiplataforma

Plug-ins

Importa projetos do

MS VC++ e

DevC++

Debugger

(5)

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

(6)

BAC004-Informática-Prática-Fabiana C Guedes

Interface Inicial Code::Blocks

Management

Start Here

(7)

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

(8)

BAC004-Informática-Prática-Fabiana C Guedes

Interface Inicial Code::Blocks

Criar um novo Projeto Abre Projeto Existente Área de textos de logs, busca e depuração

(9)
(10)

BAC004-Informática-Prática-Fabiana C Guedes

(11)
(12)

BAC004-Informática-Prática-Fabiana C Guedes

(13)
(14)

BAC004-Informática-Prática-Fabiana C Guedes

Projeto Criado

Com o projeto criado, pode-se observar a pasta “Source”, onde devem ser inseridos os

(15)

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

(16)

BAC004-Informática-Prática-Fabiana C Guedes

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.

(17)

A linguagem C

Alguns slides foram retirados

do material do professor

(18)

BAC004-Informática-Prática-Fabiana C Guedes

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

(19)

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]

}

(20)

BAC004-Informática-Prática-Fabiana C Guedes

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

(21)

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");

Diretiva using

Não é necessário escrever std::cout

(22)

BAC004-Informática-Prática-Fabiana C Guedes

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 é

formado pelo 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

(23)

Saída na Tela

/* ProgC001b.cpp

Outras saídas de Dados Autor: Fabiana Data: 08/03/2013 */

#include <iostream>

#include <cstdlib>

#include <stdio.h>

using namespace std;

int main( ) {

printf("UNIFEI\n");

puts("Campus Itabira");

cout << "2013";

system("PAUSE > null");

return 0;

Comentário de mais de uma linha

Bibliotecas Função Principal Impressão em tela. Foram utilizados três comandos diferentes

Fornece uma pausa no sistema, possibilitando a visualização do

(24)

BAC004-Informática-Teórica-Fabiana C Guedes

24

Constantes, Variáveis e Tipos

de Dados

FARRER, H. et. alli.

Algoritmos Estruturados. 3a.

edição. Rio de Janeiro. LTC –

1999. Capítulo 1

(25)

Tipos de Dados

(26)

BAC004-Informática-Teórica-Fabiana C Guedes

26

Tipos de Dados

Tipo

Bits

Bytes

Escala

char

8

1

-128 a 127

int

32

4

-2.147.483.648 a 2.147.483.647

short

16

2

-32.765 a 32.767

long

32

4

-2.147.483.648 a 2.147.483.647

unsigned char

8

1

0 a 255

unsigned

32

4

0 a 4.294.967.295

unsigned long

32

4

0 a 4.294.967.295

unsigned short

16

2

0 a 65.535

float

32

4

3,4 x (10^-38) a 3,4 x (10^38)

double

64

8

1,7 x (10^-308) a 1,7 x (10^308)

long double

80

10

3,4 x (10^-4932) a 3,4 x (10^4932)

void

0

0

nenhum valor

(27)
(28)

BAC004-Informática-Prática-Fabiana C Guedes

Variáveis

Variáveis são posições de memória

definidas através de nomes

(identificadores) e que podem ser

modificadas pela lógica do programa,

durante sua execução.

Devem ser declaradas antes de serem

(29)

Variáveis – Declaração de

Variáveis

Forma Geral

tipo lista_de_variáveis;

Exemplos:

int n1, n2, i, j;

(30)

BAC004-Informática-Teórica-Fabiana C Guedes

30

Variáveis

As variáveis são de 3 tipos

dependendo do local em que foram

declaradas:

variável local;

variável formal – função (não será

apresentado agora);

(31)

Variáveis Locais

É uma variável que só existe dentro do

bloco no qual ela foi criada.

Um bloco (comando composto) em C

começa com { (abre chave) e termina

com } (fecha chave).

(32)

BAC004-Informática-Teórica-Fabiana C Guedes

32

Variáveis Locais

/

* ProgC002.cpp - Apresenta a declaração de variáveis locais */ # include <iostream>

# include <cstdlib> int main ( ){

int valor, i; valor = i = 0;

std::cout<<"Valor da variavel valor: "<<valor<<"\nValor da variavel i:"<<i<<"\n\n"; std::cout << "Forneca um novo valor inteiro para a variavel valor: ";

std::cin >> valor;

std::cout << "Forneca um novo valor inteiro para a variavel i: "; std::cin >> i;

std::cout<<"\n\nValor da variavel valor: "<<valor<<"\nValor da variavel i: "<<i<<"\n\n"; system("PAUSE");

return 0; }

Variável local declarada. Só reconhecida dentro de main.

(33)

Variáveis Globais

São as variáveis que estão disponíveis ao programa

inteiro, qualquer bloco do programa pode acessá-las

sem erro.

Estas variáveis devem ser declaradas fora de todas

as funções e no começo do programa principal.

O uso de variáveis globais deve ser evitado porque

estas ocupam espaço na memória durante toda a

execução do programa.

Deve ser explorado o uso de funções

parametrizadas para melhorar a organização e a

estruturação de programas em C.

(34)

BAC004-Informática-Teórica-Fabiana C Guedes

34

Variáveis Globais

/* ProgC003.cpp

Apresenta declaração de variáveis globais */

# include <iostream>

# include <cstdlib>

using namespace std;

char Caractere;

int main ( ){

Caractere = 'a';

cout << "Valor: " << Caractere;

system("PAUSE > null");

return 0;

}

Declaração da Variável Global Atribuição de valor a uma variável

(35)

Inicialização de Variáveis

Para inicializar uma variável em C,

deve-se simplesmente atribuir um valor

a ela.

Forma Geral

(36)

BAC004-Informática-Teórica-Fabiana C Guedes

36

Inicialização de Variáveis

/* ProgC004.cpp

Apresenta formas de inicialização de variveis */

# include <iostream>

# include <cstdlib>

using namespace std;

int main ( ){

char Caractere = 'a';

int Primeiro = 0;

float Salario = 120.96;

cout << "Valor de Caractere: " << Caractere;

cout << "\nValor de Primeiro: " << Primeiro;

cout << "\nValor de Salario: " << Salario;

system("PAUSE > null");

return 0;

}

Declaração e inicialização de variável

(37)

Inicialização de variável

//ProgC005.cpp Cria duas variáveis do tipo int #include <iostream> #include <cstdlib> using namespace std; int main() { int num1; num1 = 44; int num2; num2 = num1 + 20;

cout << "\no primeiro numero e " << num1;

cout << "\no segundo numero e \"num1 + 20 \" = "<< num2 << endl; system("PAUSE");

return 0;

Declaração de variável

(38)

Declaração de constantes

A palavra-chave const é utilizada para

declarar constantes no programa em

linguagem C/C++.

Ela assegura que a variável associada

não deve ser alterada em todo o

programa.

BAC004-Informática-Teórica-Fabiana C Guedes

(39)
(40)

Declaração de constante

// ProgC006.cpp - Declaracao de Constantes #include<iostream>

using namespace std; int main() {

const float pi=3.141592; float raio, area, comp;

cout << "Calculo da area de um circulo e do perimetro de sua circunferencia." << endl; cout << "Por favor, entre com o raio: ";

cin >> raio;

area = pi * raio * raio; comp = 2 * pi * raio;

cout << "A area do circulo e: " << area << endl;

cout << "O comprimento de sua circunferencia e: " << comp << endl; return 0;

}

Declaração de constante

Uso de constante

Finaliza a saída de dados, mudando de linha

BAC004-Informática-Teórica-Fabiana C Guedes

(41)

Entrada e Saída pelo Console

Existe uma série de funções de entrada e saída

nas bibliotecas da linguagem C.

O enfoque das operações de entrada e saída é

único, diferente de todas as linguagens de

programação. Temos em C funções para:

Ler e escrever caracteres – getchar( ) e putchar( )

Ler e escrever strings – gets( ) e puts( )

Entrada/Saída formatada – scanf( ) e printf( )

Em C++ temos cout << como comando de saída, e

(42)

BAC004-Informática-Prática-Fabiana C Guedes

Lendo e Escrevendo

Caracteres

/* ProgC007.cpp

Programa que lê caracteres e escreve em caixa invertida. Lê maiúscula, escreve minúscula e vice-versa. */

# include <iostream> # include <stdio.h> int main ( ){

char Caractere;

puts ("\nDigite '.' e <ENTER> para terminar"); do {

Caractere = getchar( ); if (islower (Caractere))

Caractere = toupper (Caractere); else

Caractere = tolower (Caractere); putchar (Caractere);

} while (Caractere != '.'); }

Escreve na tela

Recupera caracteres digitados

Verifica se caractere minúsculo

Torna os caracteres maiúsculos Torna os caracteres minúsculos Repetição,

enquanto diferente do “.”

(43)

Lendo e Escrevendo Strings

/* ProgC008.cpp

Programa que le um nome e escreve uma mensagem com o nome

digitado */

# include <iostream>

# include <stdio.h>

# include <cstdlib>

int main ( ){

char Nome [20];

puts ("\nEscreva seu nome:");

gets (Nome);

puts ("Prezado Senhor(a),");

puts (Nome);

system("PAUSE > null");

String de tamanho 20 Escreve na tela Recupera os dados digitados Apresenta os dados digitados

(44)

BAC004-Informática-Prática-Fabiana C Guedes

Entrada e Saída Formatada

A função printf ("série de controle",

lista_de_argumentos) é responsável pela

saída formatada de dados na tela, onde:

"série de controle": é uma série de caracteres e

comandos de formatação de dados que devem

ser impressos.

lista_de_argumentos: variáveis e constantes

que serão trocados pelos formatos

(45)

Entrada e Saída Formatada

/* ProgC009.cpp

Programa que demonstra saidas formatadas */

#include <iostream>

#include <stdio.h>

#include <cstdlib>

int main ( ){

printf ("\n----+----+");

printf ("\n%-5.2f", 123.234);

printf ("\n%5.2f", 3.234);

printf ("\n%10s", "hello");

printf ("\n%-10s", "hello");

printf ("\n%5.7s", "1234567890");

system("PAUSE > null");

“\n” Nova linha “%-5.2f” ponto flutuante (f) apresentado com 5 caracteres, 2 dígitos para a parte fracionária e justificado a esquerda. “%5.2f” ponto flutuante (f) apresentado com 5 caracteres, 2 dígitos para a parte fracionária e justificado a direita.

“%10s” string (s) apresentado em 10 espaços, justificado a direita.

“%-10s” string (s) apresentado em 10 espaços, justificado a esquerda.

(46)

BAC004-Informática-Prática-Fabiana C Guedes

Entrada e Saída Formatada

• Outros códigos de controle para a função

printf:

(47)

Entrada e Saída Formatada

/* ProgC010.cpp

Programa que apresenta a Tabela de Quadrado e Cubo */

#include <iostream>

#include <stdio.h>

int main ( ){

int Numero;

printf ("\n\n %8s %8s %8s", "x", "x^2", "x^3");

for (Numero = 1; Numero <= 10; Numero++)

printf("\n %8d %8d %8d", Numero, Numero*Numero,

Numero*Numero*Numero);

return 0;

}

“%8s” string (s) apresentado em 8 espaços, justificado a direita.

(48)

BAC004-Informática-Prática-Fabiana C Guedes

Entrada e Saída Formatada

A função scanf("série de controle",

lista_de_endereço_dos_argumentos)

é responsável pela leitura (entrada)

formatada de dados na tela.

OBS: Os formatos usados na série de

controle da função scanf são

semelhantes aos formatos usados na

função printf.

(49)

Entrada e Saída Formatada

/* ProgC011.cpp

Programa que demonstra a entrada formatada de dados */

#include <iostream>

#include <stdio.h>

int main ( ){

char Nome [20];

int Idade;

printf ("\nQual e o seu nome: ");

scanf ("%s", Nome);

printf ("Quantos anos voce tem : ");

scanf ("%d", &Idade);

printf ("%s, voce tem %d anos", Nome, Idade);

return 0;

“%s” lê o string (s) sem espaços.

(50)

BAC004-Informática-Prática-Fabiana C Guedes

(51)

Criando namespaces

// ProgC012.cpp - Definição de Namespace #include <iostream> #include <cstdlib> using namespace std; namespace Silva { int a, b; } namespace Neves { double a; double b; } int main(){ Silva::a = 4; Silva::b = 7;

Neves::a = 5.453; Neves::b = 2.13e4; cout << "Silva::a = " << Silva::a << endl; cout << "Silva::b = " << Silva::b << endl; cout << "Neves::a = " << Neves::a << endl; cout << "Neves::b = " << Neves::b << endl;

Definição de namespace.

Deve ser feita fora de funções.

Na utilização da variável deve deixar claro de qual namespace faz parte.

(52)

BAC004-Informática-Prática-Fabiana C Guedes

Manipuladores de tamanho de

campo na impressão

O objeto cout permite estabelecer o

tamanho de um campo para impressão

Em geral isso é usado para

alinhamento e estética de um relatório

Os manipuladores de tamanho de

campo estão definidos no arquivo

iomanip

(53)

Manipuladores de tamanho de

campo na impressão

setw

Seleciona o tamanho do próximo campo a ser impresso

setprecision

Define o número de casas decimais a ser impressas para

um número em ponto flutuante

setfill

Seleciona o caractere que deverá preencher as colunas em

branco iniciais de um campo

setiosflags

Seleciona o modo de apresentação de um número (com

ponto decimal, notação científica, etc.)

(54)

BAC004-Informática-Prática-Fabiana C Guedes

Tamanho de campos com

números inteiros

//ProgC013.cpp - Sem tamanho de campo, sem manipuladores

#include <iostream>

#include <cstdlib>

using namespace std;

int main(){

int lapis=45, borrachas=2345, canetas=420, cadernos=8;

cout <<"\n\n\n";

cout <<'\n'<<"Lapis "<< lapis;

cout <<'\n'<<"Borrachas "<< borrachas;

cout <<'\n'<<"Canetas "<< canetas;

cout <<'\n'<<"Cadernos "<< cadernos;

cout << endl; system("PAUSE"); return 0;

}

(55)

Tamanho de campos com

números inteiros

//ProgC013.cpp - Com tamanho de campo e com manipulador setw #include <iostream>

#include <cstdlib> #include <iomanip> using namespace std; int main(){

int lapis=45, borrachas=2345, canetas=420, cadernos=8; cout <<"\n\n\n";

cout <<'\n'<<"Lapis "<< setw(12) << lapis;

cout <<'\n'<<"Borrachas "<< setw(12) << borrachas; cout <<'\n'<<"Canetas "<< setw(12) << canetas; cout <<'\n'<<"Cadernos "<< setw(12) << cadernos; cout << endl; system("PAUSE"); return 0;

Uso de setw – permitindo deixar saída formatada Biblioteca para manipulação de

(56)

BAC004-Informática-Prática-Fabiana C Guedes

Tamanho de campos com

pontos flutuantes

//ProgC013b - Com tamanho de campo

//Com manipuladores setw, setiosflags e setprecision #include <iostream>

#include <cstdlib>

#include <iomanip> //para o uso de manipuladores using namespace std;

int main() {

float lapis=4.875, borrachas=23.542, canetas=42.036, cadernos=8.0; cout <<"\n\n\n";

cout << setiosflags(ios::fixed) << setiosflags(ios::showpoint) << setprecision(2); cout <<'\n'<<"Lapis "<< setw(12) << lapis;

cout <<'\n'<<"Borrachas "<< setw(12) << borrachas; cout <<'\n'<<"Canetas "<< setw(12) << canetas; cout <<'\n'<<"Cadernos "<< setw(12) << cadernos; cout << endl; system("PAUSE"); return 0; }

Parte inteira inalterada

Imprimir o ponto decimal

(57)

Tamanho de campos com

cadeias de caracteres

//ProgC013c - Com tamanho de campo com cadeias de caracteres //Usa manipulador setw

#include <iostream> #include <cstdlib> #include <iomanip> using namespace std; int main(){

cout <<'\n'<<"OBJETO "<< setw(12)<<"CODIGO"<<endl; cout <<'\n'<<"Lapis "<< setw(12)<<"WQR";

cout <<'\n'<<"Borrachas "<< setw(12)<<"ASO"; cout <<'\n'<<"Canetas "<< setw(12)<<"KPX"; cout <<'\n'<<"Cadernos "<< setw(12)<<"JFI"; cout << endl; system("PAUSE"); return 0;

(58)

BAC004-Informática-Prática-Fabiana C Guedes

Manipuladores de bases

numéricas

//ProgC014.cpp

#include <iostream>

#include <cstdlib>

using namespace std;

int main(){

int n=65;

/*quando coloca-se hex, oct e dec, afirmamos que desejamos imprimir

variável com essa base numérica*/

cout <<'\n'<<"Hexadecimal: "<< hex << n;

cout <<'\n'<<"Octal: "<< oct << n;

cout <<'\n'<<"Decimal: "<< dec << n;

cout << endl; system("PAUSE"); return 0;

}

(59)

Imprimindo caracteres gráfico

//ProgC015.cpp - Caracteres gráficos

#include <iostream> #include <cstdlib> using namespace std; int main(){

system("cls"); //limpa a tela cout << "\n\n"; cout << "\n\t\xDC\xDC\xDB\xDB\xDB\xDB\xDC\xDC"; cout << "\n\t\xDFO\xDF\xDF\xDF\xDFO\xDF"; cout << "\n\n"; cout << "\n\t\xDC\xDC\xDB \xDB\xDB\xDB\xDB\xDB\xDB"; cout << "\n\t\xDFO\xDF\xDF\xDF\xDF\xDFOO\xDF"; cout << "\n\n"; cout << endl; system("PAUSE"); return 0; Carrinho Caminhão

(60)

BAC004-Informática-Prática-Fabiana C Guedes

(61)

Referências

Documentos relacionados

Ø Utilize sempre o aspirador com os filtros instalados para evitar reduçao do poder de aspiraçao do aparelho.. Ø Desligue o aparelho da corrente antes de mudar o saco ou

Com base nos resultados do presente estudo, pode-se concluir que embora um contexto adequado para prática das aulas de Educação Física no Ensino Fundamental constitua um

Um procedimento ´ e um bloco de programa, contendo in´ıcio e fim e ser´ a identificado por um nome atrav´ es do qual ser´ a referenciado em qualquer parte do programa principal ou

( ) = Cursor para Cima / Programa para Cima ( ) = Cursor para a Direita / Volume + Botões de Controlo do Teletexto Botões de Controlo VCR.. ( ) = Cursor para Baixo / Programa

• As relações entre os novos contrastes (identificados pelo asterisco) e os efeitos do planejamento completo são as mesmas da segunda coluna da Tabela 4.5 com os sinais

até n-1 fatores, é aconselhável um número menor, para que as colunas não utilizadas façam o papel de variáveis inertes e possam ser empregadas para estimar o erro associado aos

determinar quantos comerciais durante o programa de comédia e de futebol devem ser comprados.. Variáveis

São variáveis declaradas dentro de um bloco {} do programa, podendo ser variáveis locais do main(), de um procedimento, de uma função, ou mesmo de um bloco de um dado comando.