Linguagens de Programação

Apresentações semelhantes


Apresentação em tema: "Linguagens de Programação"— Transcrição da apresentação:

1 Linguagens de Programação

2 Linguagens de Programação
As Linguagens de Programação (LPs) realizam a comunicação do homem com o computador dentro de um conjunto de regras, estabelecendo assim uma sintaxe: Linguagem de Máquina Linguagem de Baixo Nível Linguagem de Alto Nível Linguagem Natural

3 Tradutores Para que um computador “entenda” um programa escrito em uma linguagem de programação é necessário traduzir o código para a linguagem de máquina. Os tradutores são chamados de interpretadores, compiladores, pré-processadores ou montadores, dependendo da forma pela qual eles executam a tradução.

4 Compilador É um tradutor que transforma um programa escrito em linguagem de alto nível (Pascal, C, Fortran, etc) em um programa em linguagem de máquina.

5 Estrutura Geral de um Compilador

6 Linguagem C

7 IDE Existem diversos ambientes de desenvolvimento integrado ou IDE’s (Integrated Development Environment ou Ambiente de Desenvolvimento Integrado) que podem ser utilizados para a programação em linguagem C/C++, tais como: Code::Blocks ( Dev-C++ ( ou ou Microsoft Visual C++; Embarcadero C++ Builder; Etc...

8 Code::Blocks Code::Blocks é uma IDE, multiplataforma e de código aberto para a linguagem de programação C/C++, que suporta mútiplos compiladores. Link para Download: Vídeo no YouTube para Instalação:

9 Histórico A linguagem "C" é uma linguagem que foi criada nos laboratórios da BELL por Brian W. Kernighan e Dennis Ritchie em 1972. Devido a evolução do "C", que seguia apenas o padrão descrito por Kernighan e Ritchie, tornou-se necessária uma padronização mais rígida para a linguagem, permitindo a portabilidade dos softwares escritos nesta linguagem. Isto foi feito pelo ANSI (American National Standards Institute - Instituto Nacional Americano de Padrões), criando assim o padrão C ANSI em 1989.

10 Histórico C foi criada para incentivar a programação multiplataforma, ou seja, programas escritos na linguagem C podem ser compilados para uma grande variedade de plataformas e sistemas operacionais com poucas alterações no seu código fonte. A linguagem tem influenciada, direta ou indiretamente, muitas linguagens desenvolvidas posteriormente, tais como C++, Java, C# e PHP.

11 Exemplos de Programas

12 Elementos da Linguagem C
Normalmente uma linguagem de programação possui dois tipos de elementos: os elementos definidos pela linguagem; e os elementos definidos pelo próprio usuário. Vejamos um programa simples em C que calcula a raiz quadrada de um número, como exemplo para introduzir os conceitos iniciais.

13 Exemplo de Programa em C
/* Autor: Ionildo José Sanches Data : 27/07/17 Objetivo: Calcular a raiz quadrada de um número específico */ #include <stdio.h> #include <math.h> int main() { printf("A raiz quadrada de 16 é %f", sqrt(16)); return 0; } Saída: A raiz quadrada de 16 é

14 Elementos definidos pela Linguagem
Um ponto importante em relação à linguagem C é o fato do C ser "Case Sensitive", isto é, maiúsculas e minúsculas fazem diferença. Se declarar uma variável com o nome abc ela será diferente de Abc, ABC ou abC. Da mesma maneira, os comandos do C, tais como if e for, por exemplo, só podem ser escritos em minúsculas pois senão o compilador não irá interpretá-los como sendo palavras reservadas da linguagem, mas sim como identificadores.

15 Elementos definidos pela Linguagem
Letras (Alfabéticos) A até Z a até z Dígitos (Numéricos) 0 até 9 (em decimal) 0 até 7 (em octal) - Ex.: 012 (12 em octal = 10 em decimal) 0 até F (em hexadecimal) - Ex.: 0xA (A em hexadecimal = 10 em decimal)

16 Palavras Reservadas Palavras reservadas são símbolos que possuem significado definido na linguagem, não podendo ser redefinidos ou usados como nome de Identificador. Todas as linguagens de programação têm palavras reservadas. As palavras reservadas não podem ser usadas a não ser nos seus propósitos originais, isto é, não podemos declarar funções ou variáveis com os mesmos nomes.

17 Palavras Reservadas

18 Comentários Comentários são trechos de um programa C que existem para aumentar sua legibilidade e clareza, facilitando a futura manutenção do programa. Os comentários são ignorados pelo compilador. Um comentário é iniciado pelos símbolos ‘/*‘ (uma barra e um asterisco) e só é encerrado quando encontrado um ‘*/’ (asterisco barra). A linguagem C++ permite também o uso dos símbolos '//' para comentar até o final da linha.

19 Exemplos de Comentários
/* Isto e’ um comentario */ /*** Inicio do Programa ***/ /* */ /* Comentário */

20 Indentação A indentação (indentation) é a forma como as linhas de um programa estão fisicamente dispostas. É de responsabilidade exclusiva do programador a escolha da endentação, devendo fazê-la de forma a tornar a listagem do programa mais clara, dando hierarquia às suas construções e permitindo seguir o fluxo de execução do programa.

21 Indentação Sem indentação Com indentação
if (a > b && a > c) { maior = a; } else if (b > c) maior = b; else { maior = c; printf("%d\n", maior); if (a > b && a > c) { maior = a; } else if (b > c) maior = b; else { maior = c; printf("%d\n", maior); Sem indentação Com indentação

22 Identificadores Um identificador é um símbolo definido pelo usuário que pode representar um rótulo (label), uma constante, um tipo, uma variável ou um nome de função. Um identificador é formado por uma sequência de caracteres alfanuméricos (letras e dígitos), sendo que o primeiro caractere necessariamente deverá ser alfabético. O C permite também o uso do símbolo ‘_’ (underscore, underline ou sublinhado) como caractere válido em qualquer parte do identificador para facilitar a leitura de identificadores longos.

23 Identificadores Há apenas mais duas restrições:
O nome de uma variável não pode ser igual a uma palavra reservada, nem igual ao nome de uma função declarada pelo programador ou pelas bibliotecas do C incluídas no programa. O número máximo de caracteres que podem formar um identificador varia de compilador para compilador. O C admite identificadores de até 127 caracteres sendo todos significativos. Como o C é "case sensitive" deve-se prestar atenção às letras maiúsculas e minúsculas.

24 Delimitadores Os elementos da linguagem (identificadores, números e símbolos especiais) devem ser separados por pelo menos um dos seguintes delimitadores: Espaço; final de linha (enter); Tabulação; ou comentário.

25 Exemplos de Identificadores

26 Tipos de Dados

27 Tipos de Dados em C Um tipo de dado define o conjunto de valores (domínio) que uma variável pode assumir e as operações que podem ser realizadas sobre ela. Toda variável em um programa deve estar associada a um único tipo de dado. Esta associação é feita quando da declaração da variável.

28 Tipos Básicos O C tem 5 tipos básicos: char int float double void

29 Tipos Básicos O tipo char (character) permite o armazenamento de caracteres tais como 'A', '1' ou '?'. O tipo int (integer) é usado para armazenar números inteiros. O tipo float (floating-point ou ponto flutuante) permite armazenar números reais. O tipo double é o ponto flutuante duplo e pode ser visto como um ponto flutuante com muito mais precisão. O tipo void é o tipo vazio, ou um "tipo sem tipo". A aplicação deste "tipo" será vista posteriormente.

30 Tipos Básicos Para cada um dos tipos de variáveis existem os modificadores de tipo. Os modificadores de tipo do C são quatro: signed, unsigned, long e short. Ao float não se pode aplicar nenhum e ao double pode-se aplicar apenas o long. Os quatro modificadores podem ser aplicados a inteiros.

31 Tipos Básicos A intenção é que short e long devam prover tamanhos diferentes de inteiros onde isto for prático. O modificador unsigned serve para especificar variáveis sem sinal. Um unsigned int será um inteiro que assumirá apenas valores positivos.

32 Tipos Básicos A seguir estão listados os tipos de dados permitidos e seu valores máximos e mínimos em um compilador típico para um hardware de 32 bits.

33 Tipo Inteiro (int) Uma variável ou valor do Tipo Inteiro pode representar um subconjunto dos números inteiros, positivos ou negativos. Exemplos: Se usarmos o modificador unsigned em nosso programa, o computador irá ignorar o bit de sinal tratando-o como um bit a mais para os números positivos.

34 Tipo Real (float) Uma variável ou valor do Tipo float pode representar um subconjunto dos números reais, os quais pode ser representado em notação de ponto flutuante com um número fixado de dígitos. Exemplos: − E+2

35 Padrão IEEE 754 Utiliza-se uma notação exponencial (notação científica), para armazenar números em ponto flutuante na memória do computador e para facilitar a manipulação de números reais. O padrão IEEE 754 (definido pelo Instituto de Engenheiros Eletricistas e Eletrônicos) foi adotado em 1985 e define algumas regras de normalização a serem seguidas nas operações e representações de números binários com ponto flutuante.

36 Padrão IEEE 754 Para que o número esteja de acordo com as normas, deve obedecer a seguinte configuração: S M * 2E onde S é o sinal, M é a mantissa ou parte fracionária, 2 é a base (binário) e E é o expoente.

37 Padrão IEEE754 Representação de números em ponto flutuante (float e double respectivamente).

38 Overflow e Underflow Se uma expressão aritmética envolvendo operandos reais ou operandos reais e inteiros produzir um “overflow” (resultado maior do que a capacidade de armazenamento da variável) ou “underflow” (resultado menor do que a capacidade de armazenamento da variável), ocorrerá um erro de execução e, consequentemente, a interrupção do programa. Caso ocorra um “overflow” em operações aritméticas envolvendo variáveis do Tipo Inteiro ou operandos inteiros, não é detectado nenhum erro de execução.

39 Tipo Caractere (char) Uma variável do Tipo Caractere pode assumir um valor de um conjunto finito e ordenado de caracteres. Exemplo: 'A' 'a' '9' '[' '+‘ O C utiliza a tabela ASCII estendida, que possui 256 (0 a 255) tipos de caracteres, necessitando de apenas um byte para representá-los.

40 Tipo Caractere (char) Para representar um valor do Tipo Caractere em um programa, basta colocar o caractere entre apóstrofos (aspas simples). Dessa forma, permite diferenciar, por exemplo, a variável x ou o número 1 do caractere ‘x’ e do caractere ‘1’, respectivamente. Na linguagem C, também podemos usar um char para armazenar valores numéricos inteiros, além de usá-lo para armazenar caracteres de texto.

41 Tipo double O tipo double representa um número de ponto flutuante duplo e pode ser visto como um ponto flutuante com muito mais precisão do que o tipo float.

42 Tipo void O tipo void declara explicitamente uma função que não retorna valor algum ou cria ponteiros genéricos. Ambas as utilizações serão discutidas posteriormente.

43 Operador sizeof A expressão sizeof(<tipo>) resulta em uma constante inteira sem sinal representando o tamanho em bytes de um objeto do tipo em questão. Por exemplo: sizeof(int) retorna 4 (bytes).

44 Variáveis Todo identificador definido pelo usuário em um programa deve ser declarado antes de referenciado (usado), caso contrário o compilador acusará um erro na fase de compilação por desconhecer o identificador.

45 <tipo> lista_de_variáveis ;
As Variáveis são áreas da memória a que você atribui um nome, e é usada para guardar um valor que pode ser modificado pelo programa. A forma geral de uma declaração é: <tipo> lista_de_variáveis ; Aqui, <tipo> deve ser um tipo de dados válido em C mais quaisquer modificadores; e lista_de_variáveis pode consistir em um ou mais nomes de identificadores separados por vírgulas e finalizado por “;” (ponto e vírgula).

46 Exemplos de Declarações de Variáveis
char ch; float x, y, z; int i, j; unsigned int ui;

47 Variáveis As variáveis serão declaradas em três lugares básicos:
Dentro de funções; Na definição dos parâmetros das funções; e Fora de todas as funções. Estas são variáveis locais, parâmetros formais e variáveis globais, respectivamente.

48 Inicialização de Variáveis
Pode-se dar à maioria das variáveis em C um valor, no mesmo momento em que elas são declaradas, colocando um sinal de igual e uma constante após o nome da variável. A forma geral de uma inicialização é: <tipo> nome_da_variável = <valor> ;

49 Inicialização de Variáveis
Alguns exemplos de inicialização de variáveis são: char ch = 'a'; float avogrado = 6.023E+23; int min = 1, max = 100;

50 Constantes Em C, constantes referem-se a valores fixos que o programa não pode alterar. Constantes em C podem ser de qualquer um dos cinco tipos de dados básicos.

51 Constantes Inteiras Constantes inteiras devem ser expressas em notação octal, hexadecimal ou decimal. Constantes hexadecimais (base 16) começam com 0x ou 0X, constantes octais (base 8) com 0 e constantes decimais com dígitos 1 a 9. Aqui estão alguns exemplos:

52 Constantes Strings C suporta outro tipo de constante: a string.
Uma string é um conjunto de caracteres colocado entre “ ” (aspas). Por exemplo, “Isto é um teste.” é uma string. Deve-se tomar cuidado para não confundir strings com caracteres. Uma constante de um único caractere está envolta por ' (apóstrofo), como 'a'. Contudo, “a” é uma string contendo apenas uma letra. As strings finalizam com '\0', portanto uma string com apenas uma letra possui dois caracteres.

53 Constantes Caracteres de Barra Invertida
Uma lista com códigos de barra invertida é dada a seguir:

54 Estrutura de Programa em C
A forma geral de um programa em C é listado a seguir, onde f1() até fN() representam funções definidas pelo usuário.

55 Estrutura de Programa em C
Declarações globais <tipo devolvido> main ( <lista de parâmetros> ) { Sequência de comandos } <tipo devolvido> f1 ( <lista de parâmetros> ) <tipo devolvido> f2 ( <lista de parâmetros> ) : <tipo devolvido> fN ( <lista de parâmetros> )

56 Primeiro Programa #include <stdio.h> /* Primeiro Programa */ int main() { printf("Meu primeiro programa\n"); return (0); } Compilando e executando este programa você verá que ele coloca a mensagem Meu primeiro programa na tela.

57 Primeiro Programa Vamos analisar este programa por partes:
A linha #include <stdio.h> diz ao compilador que ele deve incluir o arquivo de cabeçalho (header) stdio.h. Neste arquivo existem, por exemplo, declarações de funções úteis para entrada e saída de dados (std = standard, padrão em inglês; io = Input/Output, entrada e saída  stdio = entrada e saída padronizadas). Toda vez que você quiser usar uma destas funções deve-se incluir esta linha. O C possui diversos arquivos de cabeçalho.

58 /* Primeiro Programa */
Quando fazemos um programa, uma boa ideia é usar comentários que ajudem a entender o funcionamento do mesmo. No exemplo anterior temos um comentário: /* Primeiro Programa */ O compilador C desconsidera qualquer coisa que esteja começando com /* e terminando com */. Um comentário pode, inclusive, ter mais de uma linha.

59 Primeiro Programa A linha int main() indica que estamos definindo uma função de nome main. Todos os programas em C têm que ter uma função main, pois é esta função que será chamada primeiro quando o programa for executado. O conteúdo da função ou de um bloco de comandos é delimitado por chaves { }.

60 Primeiro Programa A palavra int indica que esta função retorna um inteiro. O que significa este retorno será visto posteriormente, quando estudarmos um pouco mais detalhadamente as funções do C. A última linha do programa, return(0); indica o número inteiro que está sendo retornado pela função, no caso o número 0.

61 Primeiro Programa A única coisa que o programa realmente faz é chamar a função printf(), passando a string "Meu primeiro programa\n“ como argumento. A função printf() neste caso irá apenas colocar a string na tela do computador. O \n é uma constante de barra invertida de "line feed" e é interpretado como um comando de mudança de linha. É importante observar também que os comandos do C terminam com “;” (ponto e vírgula).

62 O Pré-Processador Conceitualmente, o pré-processador C é um filtro que é executado antes do compilador. Todas as diretivas para o pré-processador começam com o símbolo # (hashmark), que deve ocorrer no começo da linha.

63 #define Esta diretiva tem a seguinte sintaxe:
#define <identificador> <valor> e faz com que o identificador seja substituído pelo valor onde quer que ela ocorra no código fonte.

64 Exemplo #define MAX 100 #define PI 3.1415926535
A diretiva #undef não define (faz com que o pré-processador esqueça) um identificador previamente definido.

65 Exemplo de Algoritmo Desenvolver a lógica para um programa que efetue o cálculo da área de uma circunferência, apresentado a medida da área calculada.

66 Algoritmo Para efetuar o cálculo da área de um circulo é necessário conhecer a fórmula que executa este cálculo, sendo esta: em que A é a variável que conterá o resultado do cálculo da área,  é o valor de PI ( , sendo uma constante na fórmula) e R o valor do raio. Sendo assim, basta estabelecer:

67 Algoritmo 1. Ler um valor para o raio, no caso variável R;
2. Estabelecer que  possui o valor de ; 3. Efetuar o cálculo da área, elevando ao quadrado o valor de R e multiplicando por ; 4. Apresentar o valor da variável A.

68 Diagrama de Bloco

69 Português Estruturado
algoritmo "area_circulo" var A, R : real inicio leia(R) A  * (R ^ 2) escreva(A) fimalgoritmo

70 Programa em C #include <stdio.h> int main() { float A, R; scanf("%f", &R); A = * (R * R); printf("%f", A); return 0; }

71 Referências MANZANO, José Augusto N. G., Estudo Dirigido: ALGORITMOS - Editora Érica, 2000. BACKES, André R., Linguagem C: Descomplicada. Disponível em < res/fiorese/materiais/apostilaC_Univ_Fed_Ub erlandia.pdf>. Acesso em: 08 ago


Carregar ppt "Linguagens de Programação"
Anúncios Google