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