Top Banner
Tipos de Dados Manipulando Dados Primitivos Escrevendo Programas UDESC AGT0001 – Algoritmos Aula 03 Manipulando Dados Karina Girardi Roggia [email protected] Departamento de Ciência da Computação Centro de Ciências Tecnológicas Universidade do Estado de Santa Catarina 2016 Karina G. Roggia 2016 AGT0001 - Aula03 1 / 23
23

AGT0001–Algoritmos Aula03 ManipulandoDados · Tipos de Dados Manipulando Dados Primitivos Escrevendo Programas UDESC ... Exemplos: vetores,matrizes,registros Karina G. Roggia 2016

Jan 24, 2019

Download

Documents

vanthien
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: AGT0001–Algoritmos Aula03 ManipulandoDados · Tipos de Dados Manipulando Dados Primitivos Escrevendo Programas UDESC ... Exemplos: vetores,matrizes,registros Karina G. Roggia 2016

Tipos de DadosManipulando Dados Primitivos

Escrevendo Programas UDESC

AGT0001 – AlgoritmosAula 03

Manipulando Dados

Karina Girardi [email protected]

Departamento de Ciência da ComputaçãoCentro de Ciências Tecnológicas

Universidade do Estado de Santa Catarina

2016

Karina G. Roggia 2016 AGT0001 - Aula03 1 / 23

Page 2: AGT0001–Algoritmos Aula03 ManipulandoDados · Tipos de Dados Manipulando Dados Primitivos Escrevendo Programas UDESC ... Exemplos: vetores,matrizes,registros Karina G. Roggia 2016

Tipos de DadosManipulando Dados Primitivos

Escrevendo Programas UDESC

Sumário

Tipos de Dados

Manipulando Dados Primitivos

Escrevendo Programas

Karina G. Roggia 2016 AGT0001 - Aula03 2 / 23

Page 3: AGT0001–Algoritmos Aula03 ManipulandoDados · Tipos de Dados Manipulando Dados Primitivos Escrevendo Programas UDESC ... Exemplos: vetores,matrizes,registros Karina G. Roggia 2016

Tipos de DadosManipulando Dados Primitivos

Escrevendo Programas UDESC

Tipos de Dados

Primitivos• São os tipos mais simples• Guardam um único valor• Exemplos: inteiros, caracter, booleano

Estruturados• Construídos a partir dos tipos primitivos• Utilizam uma estrutura para acesso aos dados• Exemplos: vetores, matrizes, registros

Karina G. Roggia 2016 AGT0001 - Aula03 3 / 23

Page 4: AGT0001–Algoritmos Aula03 ManipulandoDados · Tipos de Dados Manipulando Dados Primitivos Escrevendo Programas UDESC ... Exemplos: vetores,matrizes,registros Karina G. Roggia 2016

Tipos de DadosManipulando Dados Primitivos

Escrevendo Programas UDESC

Tipos de Dados Primitivos

Dados Numéricos• Inteiros (Z)• Reais (R)

Dados Literais• Caractere• Cadeia (string)

Dados Lógicos• Booleano (V ou F)

Karina G. Roggia 2016 AGT0001 - Aula03 4 / 23

Page 5: AGT0001–Algoritmos Aula03 ManipulandoDados · Tipos de Dados Manipulando Dados Primitivos Escrevendo Programas UDESC ... Exemplos: vetores,matrizes,registros Karina G. Roggia 2016

Tipos de DadosManipulando Dados Primitivos

Escrevendo Programas UDESC

Tipos de Dados Primitivos

Cada linguagem de programação tem seu conjunto de tiposprimitivos

• Pascal possui strings e booleanos como primitivos• C não :(• Para o hardware, só existe o bit (0 ou 1)

Karina G. Roggia 2016 AGT0001 - Aula03 5 / 23

Page 6: AGT0001–Algoritmos Aula03 ManipulandoDados · Tipos de Dados Manipulando Dados Primitivos Escrevendo Programas UDESC ... Exemplos: vetores,matrizes,registros Karina G. Roggia 2016

Tipos de DadosManipulando Dados Primitivos

Escrevendo Programas UDESC

Variáveis

• Para que um dado seja acessado pelo programa, é necessárioque ele esteja na memória

• Para que saibamos onde o dado está localizado na memória(endereço), nomeamos este espaço

• Este é o conceito de variável em um programa• O que identifica uma variável no código é seu identificador

Karina G. Roggia 2016 AGT0001 - Aula03 6 / 23

Page 7: AGT0001–Algoritmos Aula03 ManipulandoDados · Tipos de Dados Manipulando Dados Primitivos Escrevendo Programas UDESC ... Exemplos: vetores,matrizes,registros Karina G. Roggia 2016

Tipos de DadosManipulando Dados Primitivos

Escrevendo Programas UDESC

Identificadores

• Sequência de caracteres entre letras minúsculas e maiúsculas,dígitos e o símbolo _

• Não é permitido:• Letras acentuadas• Iniciar por dígito• Palavras reservadas

• Letras maiúsculas e minúsculas são diferenciadas!• As variáveis media e Media são diferentes

Karina G. Roggia 2016 AGT0001 - Aula03 7 / 23

Page 8: AGT0001–Algoritmos Aula03 ManipulandoDados · Tipos de Dados Manipulando Dados Primitivos Escrevendo Programas UDESC ... Exemplos: vetores,matrizes,registros Karina G. Roggia 2016

Tipos de DadosManipulando Dados Primitivos

Escrevendo Programas UDESC

Identificadores

Exemplos válidos• Alpha, X, x1, BJ_153, media, Med, abc, nome, FGTS

Exemplos inválidos• 5x, E(14), A:B, x-y, nota/2, *123

Karina G. Roggia 2016 AGT0001 - Aula03 8 / 23

Page 9: AGT0001–Algoritmos Aula03 ManipulandoDados · Tipos de Dados Manipulando Dados Primitivos Escrevendo Programas UDESC ... Exemplos: vetores,matrizes,registros Karina G. Roggia 2016

Tipos de DadosManipulando Dados Primitivos

Escrevendo Programas UDESC

Identificadores

Escolha com cuidado o nome da variável!Ele deve permitir a leitura do código de forma mais natural possível.Use nomes sugestivos, que representam de forma clara qual o papelda variável no programa.

Karina G. Roggia 2016 AGT0001 - Aula03 9 / 23

Page 10: AGT0001–Algoritmos Aula03 ManipulandoDados · Tipos de Dados Manipulando Dados Primitivos Escrevendo Programas UDESC ... Exemplos: vetores,matrizes,registros Karina G. Roggia 2016

Tipos de DadosManipulando Dados Primitivos

Escrevendo Programas UDESC

Declaração de Variáveis

• Deve-se sempre declarar as variáveis antes do uso• Há duas maneiras para a declaração

• Estabelecendo um valor inicial

tipo nome = valor;

• Sem valor inicial declarado – o valor de início da variável seráaleatório

tipo nome;

Karina G. Roggia 2016 AGT0001 - Aula03 10 / 23

Page 11: AGT0001–Algoritmos Aula03 ManipulandoDados · Tipos de Dados Manipulando Dados Primitivos Escrevendo Programas UDESC ... Exemplos: vetores,matrizes,registros Karina G. Roggia 2016

Tipos de DadosManipulando Dados Primitivos

Escrevendo Programas UDESC

Declaração Múltipla

Declaração de mais de uma variável, todas do mesmo tipotipo nome1, nome2, nome3;tipo nome1=valor1, nome2=valor2;

Karina G. Roggia 2016 AGT0001 - Aula03 11 / 23

Page 12: AGT0001–Algoritmos Aula03 ManipulandoDados · Tipos de Dados Manipulando Dados Primitivos Escrevendo Programas UDESC ... Exemplos: vetores,matrizes,registros Karina G. Roggia 2016

Tipos de DadosManipulando Dados Primitivos

Escrevendo Programas UDESC

Exemplos

inteiro n;inteiro idade=27;string Nome;real Media,salario;caracter Sexo=’M’;

Karina G. Roggia 2016 AGT0001 - Aula03 12 / 23

Page 13: AGT0001–Algoritmos Aula03 ManipulandoDados · Tipos de Dados Manipulando Dados Primitivos Escrevendo Programas UDESC ... Exemplos: vetores,matrizes,registros Karina G. Roggia 2016

Tipos de DadosManipulando Dados Primitivos

Escrevendo Programas UDESC

Estrutura de um Programa

#include <brc.h>principal(){

<lista-de-comandos>;system ("pause");retorne (0);

}

Karina G. Roggia 2016 AGT0001 - Aula03 13 / 23

Page 14: AGT0001–Algoritmos Aula03 ManipulandoDados · Tipos de Dados Manipulando Dados Primitivos Escrevendo Programas UDESC ... Exemplos: vetores,matrizes,registros Karina G. Roggia 2016

Tipos de DadosManipulando Dados Primitivos

Escrevendo Programas UDESC

Expressões

Combinação de variáveis, constantes e operadores que, uma vezavaliada, resulta em um valor.Exemplo: (Nota1 + Nota2)/2

Karina G. Roggia 2016 AGT0001 - Aula03 14 / 23

Page 15: AGT0001–Algoritmos Aula03 ManipulandoDados · Tipos de Dados Manipulando Dados Primitivos Escrevendo Programas UDESC ... Exemplos: vetores,matrizes,registros Karina G. Roggia 2016

Tipos de DadosManipulando Dados Primitivos

Escrevendo Programas UDESC

Operadores

Três tipos:• Aritméticos• Relacionais• Lógicos

Karina G. Roggia 2016 AGT0001 - Aula03 15 / 23

Page 16: AGT0001–Algoritmos Aula03 ManipulandoDados · Tipos de Dados Manipulando Dados Primitivos Escrevendo Programas UDESC ... Exemplos: vetores,matrizes,registros Karina G. Roggia 2016

Tipos de DadosManipulando Dados Primitivos

Escrevendo Programas UDESC

Operadores Aritméticos

• + (adição), * (multiplicação)• - (subtração), / (divisão)• ˆ (exponenciação)• rquad() (raiz quadrada)• abs() (valor absoluto)• trunc() (valor truncado)• arred() (valor arredondado)

Karina G. Roggia 2016 AGT0001 - Aula03 16 / 23

Page 17: AGT0001–Algoritmos Aula03 ManipulandoDados · Tipos de Dados Manipulando Dados Primitivos Escrevendo Programas UDESC ... Exemplos: vetores,matrizes,registros Karina G. Roggia 2016

Tipos de DadosManipulando Dados Primitivos

Escrevendo Programas UDESC

Operadores Aritméticos

• div() (divisão inteira)• mod() (resto da divisão inteira)• sen() (seno)• cos() (cosseno)

Karina G. Roggia 2016 AGT0001 - Aula03 17 / 23

Page 18: AGT0001–Algoritmos Aula03 ManipulandoDados · Tipos de Dados Manipulando Dados Primitivos Escrevendo Programas UDESC ... Exemplos: vetores,matrizes,registros Karina G. Roggia 2016

Tipos de DadosManipulando Dados Primitivos

Escrevendo Programas UDESC

Operadores Relacionais

• == (igualdade)• != (desigualdade)• < (menor), <= (menor igual)• > (maior), >= (maior igual)

Karina G. Roggia 2016 AGT0001 - Aula03 18 / 23

Page 19: AGT0001–Algoritmos Aula03 ManipulandoDados · Tipos de Dados Manipulando Dados Primitivos Escrevendo Programas UDESC ... Exemplos: vetores,matrizes,registros Karina G. Roggia 2016

Tipos de DadosManipulando Dados Primitivos

Escrevendo Programas UDESC

Operadores Lógicos

p q p&&q p||qV V V VV F F VF V F VF F F F

p !pV FF V

Karina G. Roggia 2016 AGT0001 - Aula03 19 / 23

Page 20: AGT0001–Algoritmos Aula03 ManipulandoDados · Tipos de Dados Manipulando Dados Primitivos Escrevendo Programas UDESC ... Exemplos: vetores,matrizes,registros Karina G. Roggia 2016

Tipos de DadosManipulando Dados Primitivos

Escrevendo Programas UDESC

Comando de Atribuição

• Atribui um valor a uma variável• Os tipos de dados devem ser compatíveis• Operador =

Karina G. Roggia 2016 AGT0001 - Aula03 20 / 23

Page 21: AGT0001–Algoritmos Aula03 ManipulandoDados · Tipos de Dados Manipulando Dados Primitivos Escrevendo Programas UDESC ... Exemplos: vetores,matrizes,registros Karina G. Roggia 2016

Tipos de DadosManipulando Dados Primitivos

Escrevendo Programas UDESC

Comandos de Entrada e Saída

• Fazem a interação com o usuário• Comando de escrita: escreva()• Comando de leitura: leia()

Karina G. Roggia 2016 AGT0001 - Aula03 21 / 23

Page 22: AGT0001–Algoritmos Aula03 ManipulandoDados · Tipos de Dados Manipulando Dados Primitivos Escrevendo Programas UDESC ... Exemplos: vetores,matrizes,registros Karina G. Roggia 2016

Tipos de DadosManipulando Dados Primitivos

Escrevendo Programas UDESC

Primeiro Exemplo Prático

#include <brc.h>principal() {

real s, b, h;escreva ("Entre com um valor para a base: ");leia (b);escreva ("\nEntre com um valor para a altura: ");leia (h);s=b*h/2;escreva ("\nA area do triangulo e: ");escreva (s);escreva ("\n");system ("pause");retorne (0);

}

Karina G. Roggia 2016 AGT0001 - Aula03 22 / 23

Page 23: AGT0001–Algoritmos Aula03 ManipulandoDados · Tipos de Dados Manipulando Dados Primitivos Escrevendo Programas UDESC ... Exemplos: vetores,matrizes,registros Karina G. Roggia 2016

Tipos de DadosManipulando Dados Primitivos

Escrevendo Programas UDESC

Exercícios

1 Escreva um algoritmo calcule a raiz de uma equação doprimeiro grau. Considere que o usuário indicará como entradade dados tanto o coeficiente angular A quanto o coeficientelinear B . Suponha que não será digitado um valor nulo para ocoeficiente angular. Ao final, o algoritmo deve mostar na telaa raiz x .

2 Crie um algoritmo que leia o peso e a altura de uma pessoa ecalcule o índice de massa corporal (IMC), mostrando-o na telaao final.

3 Escreva um algoritmo que leia a temperatura (expressa emgraus Celsius) e mostre-a na tela convertida em Fahrenheit.

4 Crie um algoritmo que solicite a entrada do número dequilômetros rodados com um veículo e também a quantidadede litros de gasolina utilizada neste percurso. Em seguida,como resultado, apresente o consumo do veículo em km/l.

Karina G. Roggia 2016 AGT0001 - Aula03 23 / 23