estrutura de um programa em exemplo de um programa...

9
Declarações Globais Directivas de Pré-Processamento int main(void) { } Definições Locais Instruções Declarações das funções Estrutura de um programa em linguagem C 1 Universidade Metodista de Angola, Departamento de Engenharias, Programação I, Gustavo Sebastião #include <stdio.h> #include <stdilib.h> int main(void) { printf(“Hello World\n”); return 0; } Exemplo de um programa em linguagem C Estrutura de um programa em linguagem C

Upload: buikien

Post on 21-May-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Estrutura de um programa em Exemplo de um programa …web.ist.utl.pt/ist153068/ficheiros/teoricas/Programacao_I_Cap_2_E...Estrutura Básica de um programa em Linguagem C. Universidade

Declarações Globais

Directivas de Pré-Processamento

int main(void) {

}

Definições Locais

Instruções

Declarações das funções

Estrutura de um programa em linguagem C

1Universidade Metodista de Angola, Departamento de Engenharias, Programação I, Gustavo Sebastião

#include <stdio.h>#include <stdilib.h>

int main(void) {

printf(“Hello World\n”);

return 0;

}

Exemplo de um programa em linguagem C

Estrutura de um programa em linguagem C

Page 2: Estrutura de um programa em Exemplo de um programa …web.ist.utl.pt/ist153068/ficheiros/teoricas/Programacao_I_Cap_2_E...Estrutura Básica de um programa em Linguagem C. Universidade

Estrutura Básica de um programa em Linguagem C

2Universidade Metodista de Angola, Departamento de Engenharias, Programação I, Gustavo Sebastião

Declarações Globais

Directivas de Pré-Processamento

int main(void) {

}

Definições Locais

Instruções

Declarações das funções

Definição/Declaração de variáveis globaisDefinições de estruturas de forma global, ou seja,válida em todos os sub-blocos do programa

Definição/Declaração de variáveis locais

Conjunto de instruções que irão constituir o programa(Obs: uma instrução especifica a tarefa que o processadorirá executar)

Programa em linguagem C contém sempre a função mainAs funções são delimitadas por chavetas { }.

Na realidade as funções podem ser declaradas antes ou depois da função main

Nessas directivas contém funções, e ferramentas pré-definidase prontas a serem usadas.

Page 3: Estrutura de um programa em Exemplo de um programa …web.ist.utl.pt/ist153068/ficheiros/teoricas/Programacao_I_Cap_2_E...Estrutura Básica de um programa em Linguagem C. Universidade

Exemplo:Cálculo da área do circulo

3Universidade Metodista de Angola, Departamento de Engenharias, Programação I, Gustavo Sebastião

Cálculo da área do círculo

Obter o raio do círculo

Se o raio for negativo, escrever “raio invalido”

Se não, calcular a área do circulo usando

a expressão (A=π.R2)

Terminar o Algoritmo.

Descrição Narrativa

Fluxograma Convencional

Programa Calculo_da_area_do_círculoArea, Raio: RealPI = 3.14159InicioLer(Raio);Se (Raio < 0) então

Escreve(“Raio invalido”);Senão

Area ← PI * Raio * Raio;Escrever(Area);

Fim SeFim

Solução usandoLinguagem C

Pseudo-código

inicio

Raio < 0?

Ler(Raio)

Area ← π. Raio. Raio

Fim

NãoSim

Escrever(“raio inválido”)

Escrever(Area)

#include <stdio.h>#include <stdlib.h>

int main( ){ int raio; int Area;

scanf(“%d”,&raio);

if(raio < 0){ printf(“raio inválido”); } else{ Area = 3.14 * raio * raio; printf(“%f”,Area); } exit(0);}

Calcula_Area.c

Page 4: Estrutura de um programa em Exemplo de um programa …web.ist.utl.pt/ist153068/ficheiros/teoricas/Programacao_I_Cap_2_E...Estrutura Básica de um programa em Linguagem C. Universidade

Exemplo:Cálculo da Média do aluno

4Universidade Metodista de Angola, Departamento de Engenharias, Programação I, Gustavo Sebastião

4

Descrição Narrativa

Fluxograma Convencional

Solução usandoLinguagem C

Pseudo-código

Cálculo da média de um aluno

Obter as suas duas notas de prova

Calcular a média aritmética

Se a média for maior que 9.5

O aluno aprovou

Senão, o aluno reprovou

inicio

Media >= 9.5 ?

Ler(N1,N2)

Fim

NS

“Aprovado”

Media ← ( N1 +N2 ) / 2

“Reprovado”

Programa Calculo_da_media_de_um_alunoN1, N2, MEDIA : Real;InicioLer (N1, N2);MEDIA← (N1+N2)/2;Se (MEDIA >= 9.5) então

Escreva(“Aprovado”);Senão

Escreva(“Reprovado”);Fim SeFim

#include <stdio.h>#include <stdlib.h>

int main( ){ int N1,N2; float Media;

scanf(“%d %d”,&N1, &N2);

Media = (N1+N2)/2; if(Media >= 9.5){ printf(“Aprovou”); } else{ printf(“Reprovou”); } exit(0);}

Calcula_Media_do_Aluno.c

Page 5: Estrutura de um programa em Exemplo de um programa …web.ist.utl.pt/ist153068/ficheiros/teoricas/Programacao_I_Cap_2_E...Estrutura Básica de um programa em Linguagem C. Universidade

Próximos tópicos a serem estudados

5Universidade Metodista de Angola, Departamento de Engenharias, Programação I, Gustavo Sebastião

#include <stdio.h>#include <stdlib.h>

int main( ){ int raio; int Area;

scanf(“%d”,&raio);

if(raio < 0){ printf(“raio inválido”); } else{ Area = 3.14 * raio * raio; printf(“raio inválido”); } exit(0);}

Calcula_Area.c

Solução usando Linguagem C

Nome do programa

Directivas (inclusão de bibliotecas)

Declaração de variáveis

Função que permite a entrada de dados no programaEstrutura de controlo de execução das instruções

Atribuição de valores às variáveis e utilização de operadores (*)

Utilização de funções presentes nas bibliotecas pré-definidas

Page 6: Estrutura de um programa em Exemplo de um programa …web.ist.utl.pt/ist153068/ficheiros/teoricas/Programacao_I_Cap_2_E...Estrutura Básica de um programa em Linguagem C. Universidade

Regras gerais usadas em linguagem C

• Toda função tem um corpo delimitado por { }.

• Toda função é precedida de parênteses ().

• Todo programa em linguagem C deverá conter uma função main.

• As linhas de códigos/instruções são sempre encerradas por

ponto-e-virgula (;).

• Os comentários são delimitados por /* */ ou ainda //

– Exemplo: /* engenharia informática */

– ou //engenharia informática

Estrutura de um programa

6Universidade Metodista de Angola, Departamento de Engenharias, Programação I, Gustavo Sebastião

Page 7: Estrutura de um programa em Exemplo de um programa …web.ist.utl.pt/ist153068/ficheiros/teoricas/Programacao_I_Cap_2_E...Estrutura Básica de um programa em Linguagem C. Universidade

Estrutura de um programa

7Universidade Metodista de Angola, Departamento de Engenharias, Programação I, Gustavo Sebastião

#include <stdio.h>#include <stdilib.h>

int main(void) {

printf(“Hello World\n”);

return 0;

}

stdio.h

stdlib.h

#define CONSTANTE 323

int atoi(const char *s);

float atof(const char *s);

(...)

int printf(char *format,...);

int scanf(char *format,...);

int fgetc(FILE *filestream);

(...)

Essas directivas são ficheiros que contêm algumas funções pré-definidas

O programadorpode usar qualqueruma das funções existentes nesses ficheiros

Page 8: Estrutura de um programa em Exemplo de um programa …web.ist.utl.pt/ist153068/ficheiros/teoricas/Programacao_I_Cap_2_E...Estrutura Básica de um programa em Linguagem C. Universidade

• Principais bibliotecas do sistema Unix/Linux

Bibliotecas do Unix

8Universidade Metodista de Angola, Departamento de Engenharias, Programação I, Gustavo Sebastião

Nome das bibliotecas Função Tipo de funções no interior da biblioteca stdio.h Standard input/output printf(); scanf(); fopen(); fclose(); fprintf();puts(); getchar();stdlib.h Nºconversion, storage,alocation atoi(); atof(); rand(); exit(); malloc(); abs(), etc.string.h Manipulação de strings strcpy(); strcmp(); strlen();strcat() - concatenation,etc.math.h Funções matemáticas sin(); cos(); exp(); sqrt(); fabs(); log(); pow(); sinh(), etc.time.h Manipulação de tempo/data clock(); time();signal.h Mandar signals aos processoslimits.h Limites das constantes INT_MAX 32767, INT_MIN 32767, CHAR_BIT 8 bits

Estrutura de um programa

Page 9: Estrutura de um programa em Exemplo de um programa …web.ist.utl.pt/ist153068/ficheiros/teoricas/Programacao_I_Cap_2_E...Estrutura Básica de um programa em Linguagem C. Universidade

9Universidade Metodista de Angola, Departamento de Engenharias, Programação I, Gustavo Sebastião

Algumas funcões em C Funcionalidadeprintf(): print + format Imprime uma string ou um valor de uma variável no ecrã

scanf() scan +format : lê dados do teclado e guarda-os numa variável

fopen() Abre um ficheiro existente, se não existir cria o ficheiro

fclose() Fecha o ficheirofprintf() Imprime dados no ficheiroputs(): put string Escreve uma cadeia de caracteres no ecrã seguido de um carácter ‘\n’

getchar() Lê um carácter (no buffer, etc)atoi(): ask to int Converte uma string em um número inteiroatof(): ask to int Converte uma string em um número realrand(): random Gera números aleatóriosexit() Sair do Programa ou terminar o programamalloc:memory allocation Alocação dinâmica de memóriaabs() Determina o valor absoluto de um númerostrcpy(): string copy Copia os dados de uma string para outrastrcmp():string compare Compara duas stringsstrlen(): string length Determina o tamanho da stringstrcat(): string concatenation Efectua concatenação ou junção entre duas stringssin(); Determina o valor de sin(x) para um dado x (x em radianos)cos(); Determina o valor de cos(x) para um dado x (x em radianos)exp(); Determina o valor de exp(x) para um dado x sqrt(); Calcula a raiz quadrada de um dado número positivofabs(); Determina o valor absoluto de um númerolog(); Determina o valor do logaritmo decimal de um dado valor x>0pow(); Para efectuar operações de potenciaçãosinh() Determina o valor de um seno hiperbólico dado o ângulo x [radianos]

clock() -time() -