Aula 01 -2 - Mesonpi

Transcrição

Aula 01 -2 - Mesonpi
Programação Científica e Estruturada
Linguagem C, Paralelização, Clusters/Grid
• Marcelo Giovani
• Marcelo Portes
• Nilton Alves
VI Escola do CBPF - 2006
VI Escola do CBPF - 2006
1
Índice
• Programa Base
• História
• 7 Elementos Básicos
• Output
• Tipos de Dados
• Operadores
• Input
• Condicionais
• Laços
• Subrotinas
VI Escola do CBPF - 2006
• Problema
• Função Main
• Diretivas
• Variáveis
• Funções
2
História
• TMG – TransMoGrifiers
• Doug McIlroy, PDP-9, 69
• CPL – Combined Programming Language
• BCPL – Basic CPL
• B – Thompson, Assembler, Unix, 70
•C
• Dennis Ritche, Bell Labs, PDP-11, 72
• C++
• Bjarne Sroustrup, Bell Labs, 83-85
VI Escola do CBPF - 2006
3
7 Elementos Básicos - Output
Significa escrever a informação
na tela, em discos ou em uma porta
de I/O. As principais funções utilizadas
são aquelas de escrever na tela do
computador.
• printf(“Escreve na tela\n”);
• cout << “escreve na tela” << endl;
VI Escola do CBPF - 2006
4
7 Elementos Básicos - Tipos
São constantes, variáveis e
estruturas contendo números inteiros
ou reais, textos (caracteres únicos ou
em sequência) ou ainda endereços
de memória (ponteiros).
• int
• float
• double
• char
• long int
a, var2 ;
xmax, b[10];
idade, massa;
letra, palavra[N];
grande;
VI Escola do CBPF - 2006
5
7 Elementos Básicos - Tipos
Tipos
int
short int
long int
N. Bytes
2
1
4
float
double
char
bool
4
8
1
1
VI Escola do CBPF - 2006
Intervalo
-32768…32767
-128…127
-2147483648
…2147483647
3.4e+/-38
1.7e+/-308
0…255
true/false
6
7 Elementos Básicos - Operadores
Atribuir um valor a uma variável
(ou uma função, um ponteiro, etc),
valores combinados (adição, subtração,
etc) e valores comparados (igual, não
igual, maior, etc).
• a=5.3; b=6.0; a+=b;
• a=‘A’; b=‘B’; c=a+b;
• var1!=z; ut==4.56; h>2.34;
VI Escola do CBPF - 2006
7
7 Elementos Básicos - Input
Significa ler a informação
teclado, discos, de uma porta de I/O.
do
• printf(“Entre com a sua idade: ”);
• scanf(“%d”, &id);
• cout << “Entre com a sua idade: ”;
• cin >> id;
VI Escola do CBPF - 2006
8
7 Elementos Básicos - Condicionais
Refere-se a execução ou não de
uma sequência de instruções se uma
condição específica for satisfeita.
• ai=3.5; bi=6.4;
• if(ai>bi) {
cout << “ai é maior que bi”;
}
else cout << “ai é menor que bi”;
VI Escola do CBPF - 2006
9
7 Elementos Básicos - Condicionais
• int x;
• printf(“entre com dois números: “);
• scanf(“%d %d”, &x, &y);
• if(x>0) cout << “x é positivo”;
elseif (x!=y) cout << “x é diferente de y”;
elseif (y<0) cout << “y é negativo”;
else cout << “x não é positivo, não é
diferente de y e y não é negativo”; endl;
VI Escola do CBPF - 2006
10
7 Elementos Básicos - Laços
Executa
uma
sequência
de
instruções um número fixo de vezes ou
de acordo com alguma condição.
• for(i=0;i<N; i++)
{
cin << altura << largura;
cout << “Altura: “ << altura << “
Largura: “ << largura << endl;
area=altura*largura;
cout << “Área: “ << area;
}
VI Escola do CBPF - 2006
11
7 Elementos Básicos - Laços
• do {
cin << altura << largura;
cout << “Altura: “ << altura << “
Largura: “ << largura << endl;
area=altura*largura;
cout << “Área: “ << area;
}while(altura!=0.0&& largura!=0.0);
VI Escola do CBPF - 2006
12
7 Elementos Básicos - Laços
• do {
cin << altura << largura;
cout << “Altura: “ << altura << “
Largura: “ << largura << endl;
area=altura*largura;
cout << “Área: “ << area;
}while(altura!=0.0&& largura!=0.0);
VI Escola do CBPF - 2006
13
7 Elementos Básicos - Laços
• while(altura!=0.0&& largura!=0.0)
{
cin << altura << largura;
cout << “Altura: “ << altura << “
Largura: “ << largura << endl;
area=altura*largura;
cout << “Área: “ << area;
}
VI Escola do CBPF - 2006
14
7 Elementos Básicos - Subrotinas
Conjunto
de
instruções
que
recebem um nome dedicado e que pode
ser executado em qualquer parte do
programa um número qualquer de vezes.
•Int main()
{
FazIsto();
FazAquilo();
FazAquiloOutro();
}
VI Escola do CBPF - 2006
15
Programa Base
Edit, Compile, Link, Debug, Run
Editar
Sim
Compilar
Erro
VI Escola do CBPF - 2006
Não
Executar
16