1 / 77

Linguagens de programação

Linguagens de programação. Introdução ao C. Sumário. Execução de programas interpretadores, compiladores Linguagem Manipulação de informação Variáveis tipos de dados Operadores aritméticos, lógicos Leitura e escrita entrada e saída de dados Selecção de instruções Instrução if

miyoko
Download Presentation

Linguagens de programação

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Linguagens de programação Introdução ao C

  2. Sumário • Execução de programas • interpretadores, compiladores • Linguagem • Manipulação de informação • Variáveis • tipos de dados • Operadores • aritméticos, lógicos • Leitura e escrita • entrada e saída de dados • Selecção de instruções • Instrução if • Instrução Switch • Erros em programação

  3. interpretador Programa que converte as instruções da linguagem de alto nível em instruções máquina e as executa. Interpretação de Programas Basic, Java, Portugol

  4. Compilador (compiler) Ligador (linker) Programas Programa que converte as instruções da linguagem de alto nível em instruções máquina formando um programa objecto Programa que reúne todos os programas objecto e faz um programa executável Executados pelo sistema operativo Compilação de programas C,C++, Pascal

  5. Introdução à linguagem C

  6. Porquê C++ • É a base de linguagens de programação modernas • É um investimento • Linguagem estandardizada • Muitos programas escritos em C / C++ • È uma linguagem genérica • Serve para vários fins • É disciplinadora • Programar com método • É eficiente • Existem bons compiladores

  7. Olá mundo #include <stdio.h> int main(int argc, char* argv[]) { printf("ola mundo"); return 0; } Ola mundo • #include <stdio.h> • Biblioteca de funções de entrada e saida de dados • int main(int argc, char* argv[]) • Função principal • { } • Definição de um bloco de instruções • printf("ola mundo"); • escrever • return 0; • Retorno do programa

  8. Algoritmos computacionais • Acções de um algoritmo computacional • Manipular dados • Receber dados • Guardar dados • Imprimir dados • Executar instruções • Fazer operações aritméticas • Fazer operações lógicas • Escolha entre várias instruções. • Repetir um conjunto de instruções

  9. Tipos de dados em C • Simples • Numéricos • inteiros • reais • Caracter • Lógico • Compostos • Matrizes • Estruturas • Uniões • Variáveis • Um nome • Um Tipo • Um só valor

  10. NOTA A declaração das variáveis deve ser feita antes da sua utilização Exemplos int soma; float saldo = 0.0; doule x, y, z; Declaração de variáveis • Tipo_de_dado nome_da_variável; • Tipo_de_dado nome_da_variável = valor_inicial; • Tipo_de_dado nome_da_variável1, nome_da_variável2, . . .;

  11. Regras dos nomes de variáveis • Pode ser constituído por letras do alfabeto por dígitos e pelo caracter _ (underscore) • O primeiro caracter não pode ser um dígito • As letras maiúsculas e minúsculas representam caracteres diferentes • Não pode ter o nome de uma palavra reservado da linguagem • Deve ser descritivo daquilo que armazena • Caso tenha mais que uma palavra utilizar o caracter _ para unir as palavras ou capitular as iniciais • Não é aconselhado • A utilização de caracteres acentuados • Começar por _ • Ter apenas letras maiúsculas

  12. Palavras reservadas do C

  13. NOTA O operado = é o operador de atribuição e significa que a variável passa a ter um novo valor (<- no portugol) O operador == (igual) é o operador de comparação e devolve verdadeiro ou falso ( = no portugol) Exemplos soma = 10 ; saldo =soma + 1; area = lado1 * lado2; Atribuição de Valores – operador = variavel = expressão;

  14. atribuição do valor doze a x X = 12; X = 014; X = 0xC; Atribuição de valores • Valores na Base: • Decimal • numeração normal • 0 2 63 83 • Octal • Começam por 0 (zero) • 00 02 077 0123 • Hexadecimal • Começam por 0x (zero xis) • 0x0 0x2 0x3f 0x53

  15. NOTA • por defeito os inteiros são: • signed • 16 bits • short • 32 bits • long Inteiros - int • Sinal • signed – positivos e negativos • 1 bit para representar o sinal • unsigned – apenas números positivos • Tamanho • short – menor dimensão em bytes • 2 bytes • long – maior dimensão em bytes • 4 bytes • Exemplos • unsigned short int x; • signed short int y; • unsigned long int total; • long int votos; • int nota;

  16. Alcance dos inteiros

  17. exemplos • Nota final da disciplina de IP • unsigned short int nota; • unsigned short nota; • Soma das notas das disciplinas de uma aluno • unsigned short int somaNotas; • unsigned short somaNotas; • Número de segundos de vida de uma pessoa • unsigned long int numMinutos; • unsigned long numMinutos; • Diferença entre o número de segundos de duas pessoas • signed long difSegundos; • long difsegundos; • Diferença entre o número de anos de duas pessoas • signed short int difAnos; • short difAnos;

  18. NOTA Os números armazenados em virgula flutuante podem comportar um erro de arredondamento resultante da sua representação Exemplo float raio = .50; long double taxa = 5E-2 ; Números Reais • Tipo • float • double • Representação • Base e Mantissa • notação • Notação corrente • 1.23 .23 0.23 1. 1.0 • Notação científica • 1.2E10 1.23e-15 • Modificadores • long

  19. NOTA Os números armazenados em virgula flutuante podem comportar um erro de arredondamento resultante da sua representação Erro nos Números Reais

  20. Caracteres (char) Caracteres especiais • Ocupam um byte • 256 caracteres disponíveis • Representados por um número • Tabela ASCII • Atribuição • Utilização do caracter plica (‘) • char sexo = ‘m’; • char enter =‘\n’ • Utilização directa do código ASCII • char letra = 98; • Modificadores • signed • unsigned

  21. Exemplo char sexo; Sexo = ‘M’; Sexo = 77; Tabela ASCII

  22. Exemplo enumsemanateoricaIP, praticaIP; teoricaIP = segunda; praticaIP = teoricaIP +1 ; Definição de tipos - Enumerações • Definição de nomes para valores • Cores , Dias da semana , Meses, etc. enumsemana{ segunda=2, terca=3, quarta=4, quinta=5, sexta=6, sabado=7, domingo=8 };

  23. NOTAS • Quando omitimos o valor a enumeração toma o valor da anterior mais uma unidade. • Por defeito começam em zero Definição de tipos - Enumerações enum novo_tipo {nome_1=valor_1, nome_2, . . .,nome_n}; novo_tipo nome_variavel = nome_x; enum Cores {verde= 0 , amarelo = 1, vermelho =2 }; enum Cores semaforo = verde; enum logica {falso, verdadeiro }; enum logica condicao=verdadeiro;

  24. Exemplo bool aprovado, trabEstudante; aprovador = true; trabEstudante = false; Valores lógicos (bool) • Dois valores definidos • false (valor zero) • true (um ou qualquer outro valor)

  25. Definição de tipos - Typedef • Definição de nomes para tipos • typedef tipo_de_dadonovo_nome_do_tipo ; • Exemplos • typedef unsigned long intint32; • definição de um novo tipo chamado int32 • int32 somatorio; • definicao de uma variável do tipo int32

  26. Tipos de dados do c++ Builder

  27. Exercícos • Defina variáveis em C para manipular • A média das notas de um ano lectivo • O salário de um trabalhador • O número de alunos de um país • O saldo de uma conta bancária • Número de dias entre duas datas • O sexo de um aluno • Factor rhesus do sangue (+ e -) • A situação de uma aluno relativo à aprovação • A situação de uma aluno relativo á matrícula.

  28. Entrada e saída de dados

  29. Entrada e saida de dados • scanf • Entrada de dados pelo teclado • printf • Saída de dado para a consola • scanf(“string de formato”, &variavel , &variavel ,…); • scanf(“%f", &altura); • scanf(“%d", &idade); • scanf(“%f %d", &altura, &idade); • printf(“string de formato”, variavel , variavel ,…); • printf(“ a altura é %f :", altura); • printf(“ a idade é %d :", idade); • printf(“\n altura: %f idade :%d \n", altura, idade);

  30. c caracter s cadeia de caracteres d inteiro f real no formato numérico e real no formato cientifico Formato de dados (I/O) • u • sem sinal • l • grande • h • pequeno • o • octal • x • Hexadecimal

  31. Exemplo #include <stdio.h> int main(int argc, char* argv[]) { int idade; printf(“qual a sua idade:”); scanf(“ %d ” , &idade); printf(“parabens, voce tem %d anos“, idade); } Programa gentil

  32. Ficheiros gerados

  33. Algoritmos computacionais • Acções de um algoritmo computacional • Manipular dados • Receber dados • Guardar dados • Imprimir dados • Executar instruções • Fazer operações aritméticas • Fazer operações lógicas • Escolha entre várias instruções. • Repetir um conjunto de instruções

  34. Operadores

  35. NOTA Qualquer operação entre inteiros devolve um inteiro Exemplo 25 - 2 = 23 -3 - 2 = -5 25 / 2 = 12 25 + 2 = 27 25 % 2 = 1 25 * 2 = 50 Inteiros • Operadores unários • - (sinal) • Operadores binários • + (Soma) • - (Subtracção) • / (Divisão inteira) • % (Módulo)

  36. x expressão y x y Nota Nota Nota Nota y = x++; y = x-- y = x x = x-1 4 3 y = x++ y = x x = x+1 X-- X = X-1 X++ X = X+1 3 Operadores unários – Pós fixo • Operadores unários • ++ (incremento) • -- (decremento)

  37. x expressão y x y Nota Nota Nota Nota y = --x; y = --x x = x-1 y = x 2 2 y = ++x x = x+1 y = x --X X = X-1 ++X X = X+1 3 Operadores unários – Pré fixo • Operadores unários • ++ (incremento) • -- (decremento)

  38. Operadores bit a bit • Manipulam directamente a representação binária dos números • e (and) • & • ou (or) • | • ou exclusivo (Xor) • ^ • Deslocamento à esquerda • << • Deslocamento à direita • >> Multiplicação Lógica Soma Lógica diferença Lógica

  39. x y x y z z expressão 128 128 219 z = x | y ; 91 91 Operadores bit a bit - OR Soma Lógica

  40. x y x y z z expressão z = x & y ; 90 20 90 20 16 Operadores bit a bit - AND Multiplicação Lógica

  41. x y x y z z expressão z = x ^ y ; 90 20 90 20 78 Operadores bit a bit - XOR diferença Lógica

  42. x y x y expressão y = x << 2; 20 20 80 Operadores bit a bit - Deslocamento • Algoritmo • deslocam-se os bites para a esquerda • os últimos bites perdem-se • introduzem-se zeros no inicio

  43. x y x y expressão y = x >> 2; 20 20 5 Operadores bit a bit - Deslocamento • Algoritmo • deslocam-se os bites para a direita • os primeiros bites perdem-se • introduzem-se zeros no fim

  44. Operadores sobre reais • Aritméticos • multiplicação • divisão • soma • subtracção expoente mantissa

  45. exemplos exemplos exemplos exemplos X+= 3; X = X+3; x/=y; x = x /y; X*= 3; X = X*3; X|= y; X = X | y; Operadores compostos += , -=,%=, *=, /=, >>=, <<=, &=, |=, ^= variável Operador= expressão Variavel = variavel operador expressão

  46. RELACIONAIS Maior > Menor < Igual == Maior ou igual >= Menor ou igual <= Diferente != LÒGICOS Conjunção && Disjunção || Negação ! Operadores sobre lógicos

  47. x y z r 2 1 4 1 Associatividade • Associatividade esquerda=> direita • x + y + z • 3 + z • 7 • z / x * y • 2 * z • 2 matriculado teste false false • Associatividade direita => esquerda • r =x + y + z • 7 • r = 7 • teste = !matriculado • teste = true • x = -z • x=-4

  48. Prioridade dos operadores

  49. Algoritmos computacionais • Acções de um algoritmo computacional • Manipular dados • Receber dados • Guardar dados • Imprimir dados • Executar instruções • Fazer operações aritméticas • Fazer operações lógicas • Escolha entre várias instruções. • Repetir um conjunto de instruções

  50. Programa Área do rectângulo #include <stdio.h> int main(int argc, char* argv[]) { double Lado1, lado2, area; scanf(“%lf”, &lado1); scanf(“%lf”, &lado2); area = lado1 * lado2; printf(“ area = %lf ”, area); } Exercícios • Construa um programa que calcule a área de um rectangulo Inicio Ler lado1 Ler lado2 Area := lado1*lado2 Escrever Area fim

More Related