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

Post on 21-May-2018

216 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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.

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

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

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

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

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

• 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

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() -

top related