Características fundamentais de codificação de programasTipos de variáveis Tipo Faixa de valores...
Transcript of Características fundamentais de codificação de programasTipos de variáveis Tipo Faixa de valores...
Faculdade de Engenharia da ComputaçãoFaculdade de Engenharia da ComputaçãoFaculdade de Engenharia da ComputaçãoFaculdade de Engenharia da ComputaçãoDisciplina: Lógica de Programação
Características fundamentais de codificação de programas
1
codificação de programas
Site : http://www1.univap.br/~wagner/ec.htmlProf. Responsáveis
Wagner Santos C. de Jesus
Conceitos da Linguagem de Programação Cde Programação C
2
Linguagem B
Essa linguagem é resultante de um processoevolutivo de linguagens. O marco inicial foi umalinguagem chamada BCPL, desenvolvida porMartin Richards, que teve forte influência em
3
Martin Richards, que teve forte influência emuma linguagem denominada B, inventada porKen Thompson. Na década de 1970, B levou aodesenvolvimento de C.
Padrão C
• C K&R: Em 1978, Ritchie e Kernighan publicaram aprimeira edição do livro The C Programming
Language.
• C ANSI: Em 1983, “American National StandardsInstitute” – ANSI, estabeleceu um comitê para
4
Institute” – ANSI, estabeleceu um comitê paradefinir um padrão que guiasse todas asimplementações da linguagem C.
• ISO/IEC 9899:1990: Em 1990, o padrão C ANSI foiadotado pela Organização Internacional de Padrões(ISO).
C++
• É uma extensão da linguagem C. As instruçõesque fazem parte desta última representam umsubconjunto da primeira.
• Os incrementos encontrados na linguagem C++
5
• Os incrementos encontrados na linguagem C++foram feitos para dar suporte à programaçãoorientada a objetos.
• A sintaxe desta linguagem é basicamente amesma da linguagem C.
Estrutura de um Programa em CPrograma em C
6
Estrutura de um programa C
//Inclusão das bibliotecas
//Declaração de variáveis globais - opcional
//Declaração de funções – opcional
main() { main() {
<Instruções de um raciocínio lógico>
}
7
main(): Função
Vem a ser a função mãe da linguagem cpossibilitando que desencadeamento dequalquer programa seja iniciado porintermédio da mesma.
Rotina-1
8
main()
Rotina-1R
otin
a-2
Ro
tin
a-4
Rotina-3
Conceito de delimitadores
São símbolos designados paradeterminar inicio e fim deinstruções, expressões ouinstruções, expressões oucomentários.
9
Conceitos Delimitadores
• { - indica início de um bloco de nível
• } – indica fim de um bloco de nível
• // - comentar uma linha
• /* - início do comentário de múltiplas linhas
10
• /* - início do comentário de múltiplas linhas
• */ - final do comentário de múltiplas linhas
• ; - necessário no final de toda linha que represente: instrução, atribuição e declaração.
Conceito de Biblioteca
11
Biblioteca
Conhecida como libc são biblioteca derotinas padronizada da linguagem deprogramação que contém operações comuns comotratamento de entrada/saída, cadeia de caracteres etratamento de entrada/saída, cadeia de caracteres emanipulação numérica.
12
#include
A instrução Include permite realizar inserçãode rotinas (programas) em um programaprincipal.
13
Biblioteca ProgramaPrincipal
Arquivos (.h) Header
• stdio.h – contem os comandos básicos de entradae saída do programa.
• stdlib.h – contem os comandos básicos dalinguagem C
• conio.h – geralmente é utilizada em programasbásicos para utilizar a função “getch();” utilizado
• conio.h – geralmente é utilizada em programasbásicos para utilizar a função “getch();” utilizadopara colocar o programa em modo de espera dapróxima ação do usuário, muito útil paravisualizar os resultados de um programa.
• math.h – contem os comandos matemáticos maisavançados, por exemplo, cálculo de potências.
14
Tipos de variáveis
Tipo Faixa de valores Tamanho(aproximado)
char -128 a 127 8 bits
unsigned char 0 a 255 8 bits
int -32.768 a 32.767 16 bits
unsigned int 0 a 65.535 16 bits
15
unsigned int 0 a 65.535 16 bits
short int -32.768 a 32767 16 bits
long -2.147.483.648 a 2.147.483.647 32 bits
unsigned long 0 a 4.294.967.295 32 bits
float 3.4 x 10-38 a 3.4 x 1038 32 bits
double 1.7 x 10-308 a 1.7 x 10308 64 bits
long double 3.4 x 10-4932 a 1.1 x 104932 80 bits
Estrutura sintática (Atribuição)
Varm = alocexpression
expressionexpression
16
Atribuição de valores
#include <stdio.h>
#include <stdlib.h>
main() {
int a = 222;int a = 222;
float x = 3.45;
}
17
Estrutura de Entrada e Saída
scanf lvalue
Entrada
( )
printf expression
Saída
18
( )
Conceito de IDE
Integrated DevelopmentEnvironmentEnvironment
(Ambiente de Desenvolvimento Integrado)
19
IDE
São programas de computadorque agilizam o processo dedesenvolvimento de aplicações.desenvolvimento de aplicações.
20
IDE – DevC++
21
Funcionamento da IDE
IDE
22
Compilador
Formatos válidosFormato Tipo do Valor
%d Valor inteiro decimal
%f Valor em ponto flutuante
%c Caracter em formato ASCII
%s String de caracteres
23
%s String de caracteres
%u Inteiro decimal sem sinal
%i Valor inteiro decimal, Hexa ou Octal
%o Valor inteiro octal
%x Valor inteiro hexadecimal
%% Caracter %
\n Pula uma linha após impressão
Comandos de Saída Saída
24
Comandos de saída
Um comando de saída envia dados para tela ou uma impressora.
Exemplo:Exemplo:
printf(“Texto %t”, a);
25
Formatações utilizadas na saída.
\t - insere uma tabulação
\n - insere uma quebra de linha
%S.Yf – limita o número de casas decimais, onde“S” é o número de digitos antes do separadordecimal e “Y” é o número de digitosrepresentado após o ponto.
26
Exemplo :
double a = 2.2;
printf("%2.3f\n",a);
Resultado : 2,200
int b = 255;
printf("%4d\n",b);
Resultado : b255
b = Espaço em branco
int b = 255;
printf("%X\n",b);
Resultado : FF
printf("%o\n",b);
Resultado : 377Resultado : 377
int ch = 97;
printf("%c\n",ch);
Resultado : a
int a = 2;
printf("%d %%",a);
Resultado : 2 %
printf("%d %2d %3d\n",3,5,7);
Resultado : 3bb5bbb7
char str1[3] = “ana”;
printf("%s\n",str1);
Resultado : ana
double a = 2.2;
char[3] st = “ana”;char[3] st = “ana”;
printf("%s %1.1f\n",st,a);
Resultado : ana 2,2
Comandos de Entrada de dadosdados
31
Instrução scanf()
Captura uma cadeia ou um valor do teclado.
Sintaxe:
scanf(<formato>,<&Endereco_Memoria>);
32
Exemplo scanf()
Exemplo de entrada de dados com inteiro.int a=0;float k = 0; char b;scanf(“%d”,&a);scanf(“%d”,&a);scanf(“%f”,&k);scanf(“%c”,&b);char m;scanf("%c",&m);
33
Função gets()
Captura uma cadeia decaracteres dada pelo teclado.
Exemplo:Exemplo:
char s[30];
gets(s);
34
Observação
Diferença entre scanf() e gets():
Quando usado o scanf() ao pressionar a tecla<ENTER> todos os caracteres até o primeiro espaçoserão armazenado na memória, todos os outrosserão descartados.serão descartados.
Quando usado gets() ao pressionar a tecla <ENTER>todos os caracteres digitados serão gravados namemória sem exceção.
35
Entrada de dados um número e uma string
int x;
char s[30];
scanf("%d",&x);scanf("%d",&x);
scanf("%s",&s);
Se escrevermos apenas uma palavra a entradapara a variável (s) será válida caso contrario não.
36
Entrada de dados do tipo string
char s[30];
gets(s);
Se neste caso a entrada para a variável(s), será válida se colocarmos, uma oumais palavras.
37
Algortimo “Exemplo”Var
a,b,s:realinicioescreva(“Entre com o valor da variável a”)leia(a) escreva(“Entre com o valor da variável b”)leia(b)S = a+bescreval(“Soma a + b = %f ”,s)} #include <stdio.h>
#include <stdlib.h>
38
}#include <stdlib.h>int main(void){ float a,b,s;printf(“Entre com o valor da variável a\n”);scanf(“%f”,&a); printf(“Entre com o valor da variável b\n”);scanf(“%f”,&b);s=a+b;printf(“Soma a + b = %f \n”,s);}
Operadores de Incremento e Decremento.
++ => Equivalente à x++ / x = x + 1++ => Equivalente à x++ / x = x + 1
_ _ => Equivalente à y-- / y = y - 1
Se a for igual a 3. Exemplo.
b = a++ (O valor da variável b será 3 e davariável a = 4).
b = ++a ( O valor da variával b será 4 e davariável a = 4).
Obs : Idem para operação de subtração