! Variáveis, Tipos de Dados e Operadores Engenharias Informática Aplicada – 2.o sem/2013 Profa Suely (e-mail: [email protected]) VARIÁVEL VARIÁVEL • É um local lógico, ligado a um endereço físico da memória do computador onde armazenam-se os dados. Endereço Endereço Informação Físico Lógico (dado) (memória RAM) (variável) 3000:B17 NOME “Maria” 2000:F15 NUM1 27 2000:FFC LETRA2 ‘G' REGRA PARA NOMEAÇÃO DE UMA VARIÁVEL O nome de uma variável deverá seguir as regras: • Ser formado por uma sequência de letras e/ou números • Não pode iniciar com um número • Não pode conter espaço • Não pode conter caracter especial CONTEÚDO DE UMA VARIÁVEL • O conteúdo de uma variável pode ser alterado ao longo da execução do algoritmo. • O tipo de dado que será armazenado na variável deve ser definido no início do algoritmo; uma vez esse tipo definido para a variável, não poderá ser alterado. Tipos de Dados Tipos de Dados • Dados Simples – Primitivo è Pré-definido pela linguagem; • Inteiros • Reais • Caracteres • Lógicos – Escalar è Definidos pelo programador. • Enumerados • Dados estruturados – – – – Cadeia de Caracteres Vetores e Matrizes Registros Arquivos • Dados do tipo ponteiro – Listas, filas e pilhas – Árvore Nome do Tipo Descrição Inteiro Representa números positivos ou negativos sem casas decimais. Ex: 3 56 45 -323 -56 -1 Real Representa os números positivos ou negativos com casas decimais. Ex: 3,32 5,06 4,5 -32,3 -56,77 -0,1 Caracter Representa um dos caracteres, da tabela ASCII. Ex: ‘G’ ‘a’ ‘r’ ‘c’ ‘i’ @’ ‘5’ Cadeia de caracteres Lógico Conjunto de caracteres. Ex: “paz” “amor” “vida” “46 Valor lógico. Assume somente dois valores: TRUE (Verdadeiro) ou FALSE (Falso). Tipo de Dado Caracter e Cadeia de Caracteres Para dados do tipo caracter, usa-se aspas simples ( ‘ ). Ex: ‘F’, ‘g’, ‘1’, ‘L’ Para dados do tipo cadeia de caracteres, usa-se aspas duplas ( “ ). Ex: “sorte”, “123”, “casa” Declaração de Variáveis Nome: Exemplo Objetivo: Dados de Entrada: Saída: Variáveis: inteiro X, Y caracter resposta real preço cadeia de caracteres Início . . . Fim palavra Operadores Operador de atribuição: ç <NOME_DA_VARIÁVEL> ç <VALOR> Ex: resposta ç ‘S’ ou <NOME_DA_VARIÁVEL> ç <EXPRESSÃO> Ex: X ç 2 * 3 + 8 - 10 / 2 ou <NOME_DA_VARIÁVEL> ç <VARIÁVEL> Ex: X ç Y Operadores aritmé.cos Operação Símbolo Adição + Subtração - Multiplicação * Divisão Resto da divisão / % (RESTO) Prioridade entre Operadores Aritméticos Prioridade Operação 1º 2º Potenciação, radiciação Multiplicação, divisão 3º Adição, subtração Instruções de Entrada e Saída • Instrução para Leitura do conteúdo da variável – LEIA <NOME_DA_VARIÁVEL> • Instrução para Exibição do conteúdo da variável – IMPRIMA <NOME_DA_VARIÁVEL> Inserção de valores (dados) dentro das variáveis: • Atribuindo valores diretamente para a variável, usando o operador de atribuição: NUM ç 23 • Atribuindo o resultado de uma operação aritmética para a variável, usando também o operador de atribuição: NUM ç 23 + 12 * 2,7 / 0,3 • Atribuindo o conteúdo de uma variável para outra variável desde que elas sejam declaradas do mesmo tipo: NUM ç NUM2 • Através da instrução de entrada de dados: Leia NUM • E outras combinações possíveis, como operações com os conteúdos das variáveis: NUM ç 23 + NUM2 * 2 EXEMPLOS DE ALGORITMOS COM ESTRUTURAS LÓGICAS SEQUENCIAIS Não está no arquivo enviado à turma. Nome: Exemplo 1 Objetivo: Mostrar a atribuição de expressões a variáveis Dados de Entrada: Saída: Variáveis: inteiro X, Y Início Y ç 2 X ç 10 X ç Y + 2 X ç ((Y + 3 ) * 4) - 5 X ç (X % 2 ) Fim Nome: Exemplo 2 Objetivo: Calcular a área de um quadrado Dados de Entrada: valor da aresta de um quadrado Saída: área de um quadrado Variáveis: inteiro ARESTA, AREA Início Leia ARESTA AREA ç ARESTA * ARESTA Imprima AREA Fim Não está no arquivo enviado à turma. Exercícios Antes de iniciarmos os trabalhos com os algoritmos, vamos exercitar a álgebra usando os operadores aritmé9cos para resolver expressões numéricas. Dê o resultado das seguintes expressões numéricas I. Considere que o resultado será atribuído para uma variável do 9po inteiro: 1) 25 / 5 + 3 2) 32 + 8 / 4 3) 17 * (3 – 4) / 3 4) (2 – 5 – 7 ) * (5 + 3) – 8 5) 34 – 7 * 2 / 3 Dê o resultado das seguintes expressões numéricas II. Considere que o resultado será atribuído para uma variável do 9po real: 1) 25 / 5 + 3 2) 32 + 8 / 4 3) 17 * (3 – 4) / 3 4) (2 – 5 – 7 ) * (5 + 3) – 8 5) 34 – 7 * 2 / 3 Não esqueça: • De definir o cabeçalho antes de iniciar as instruções do seu algoritmo; ele deverá conter: – Nome do algoritmo – Objetivo a ser alcançado – Quais são os dados de entrada – Qual(is) é(são) o(s) resultado(s) – Declarar as variáveis e os tipos de dados que serão usados • Iniciar e terminar o algoritmo • Certificar-se de que ao final da execução das instruções, o problema proposto foi resolvido Exercício 1 • Faça um algoritmo para ler as seguintes informações de uma pessoa: Nome, Idade, Sexo, Peso, Altura, Profissão, Rua, Bairro, Cidade, Estado, CEP, Telefone. Exercício 2 • Faça um algoritmo para ler a base e a altura de um triângulo. Em seguida, calcule e escreva sua área. Área = ( Base * Altura ) / 2 Exercício 3 Escreva um algoritmo que calcule o volume de um cilindro circular, dados o raio e altura desse cilíndro. Exiba o resultado desse cálculo. V = π * r2 * h Em que: π = 3.141547 r = raio h = altura Exercício 4 Faça um algoritmo para ler a base e a altura de um triângulo. Em seguida, calcule e escreva sua área. Área = ( Base * Altura ) / 2 Exercício 5 Escreva um algoritmo que calcule o volume de um cilindro circular, dados o raio e altura desse cilíndro. Exiba o resultado desse cálculo. V = π * r2 * h Em que: π = 3.14, r = raio, h = altura. Exercício 6 Escreva um algoritmo que calcule a raiz de uma equação do 1.o grau, dados os valores dos coeficientes. ax+b=0 ! Variáveis, Tipos de Dados e Operadores na Linguagem C Engenharias Informática Aplicada – 2.o sem/2013 Profa Suely (e-mail: [email protected]) Linguagem C VARIÁVEL VARIÁVEL • É um local lógico, ligado a um endereço físico da memória do computador onde armazenam-se os dados. Endereço Endereço Informação Físico Lógico (dado) (memória RAM) (variável) 3000:B17 NOME “Jose” 2000:F15 NUM1 57 2000:FFC LETRA2 ‘G' REGRA PARA NOMEAÇÃO DE UMA VARIÁVEL O nome de uma variável deverá seguir as regras: • Ser formado por uma sequência de letras e/ou números • Não pode iniciar com um número • Não pode conter espaço • Não pode conter caracter especial CONTEÚDO DE UMA VARIÁVEL • O conteúdo de uma variável pode ser alterado ao longo da execução do algoritmo. • O tipo de dado que será armazenado na variável deve ser definido no início do algoritmo; uma vez esse tipo definido para a variável, não poderá ser alterado. Tipos de Dados na Linguagem C O tipos de dado e a variável que o armazenará deverá ser declarado logo no início de um programa escrito na Linguagem C Nome do Tipo de Dado Valores char Representa valores na faixa -128 a 127 int Representa valores na faixa -32768 a 32767 float Representa valores na faixa 3,4 x 10-38 a 3,4 x 1038 double Representa valores na faixa 1,7 x 10-308 a 1,7 x 10308 void Sem valor Saída de Dados • printf ( ) printf() • printf (“oi, mundo!”); • printf (“tenho %d anos de vida.”, idade); • printf (“tenho %f metros de altura”, medida); • printf (“não tenho a letra %c no meu nome”, letra) • printf (“rua %s”, nome ); • printf (“a %d.a letra do alfabeto e´: %c”, ordem, letra); Entrada de Dados • scanf ( ) • gets ( ) • getchar ( ) • getch ( ) • getche ( ) scanf ( ) • scanf( “%d”, &idade); • scanf( “%f”, &altura); • Obs: cuidado ao usar scanf () para leitura de string, tem que limpar o buffer de entrada antes de chamar esta função utilizando a função fflush ( ). gets ( ) • gets(nome); • Obs: esta função armazena a string inteira. getchar ( ) • sexo = getchar( ); • resposta = getchar( ); • Obs: esta função armazena somente um único caracter. getch ( ) • getch ( ); • Obs: esta função retorna imediatamente após qualquer tecla ser pressionada, mas não mostra na tela o valor dessa tecla; ela pode ser usada para não fechar a tela da execução do programa logo após o final dessa execução, ou seja, o programa fica “esperando” que uma tecla seja pressionada para fechar a tela de execução; tem a mesma utilização do system(“pause”). getche ( ) • getche ( ); • Obs: esta função retorna imediatamente após qualquer tecla ser pressionada, mostrando na tela o valor dessa tecla; ela pode ser usada para não fechar a tela da execução do programa logo após o final dessa execução, ou seja, o programa fica “esperando” que uma tecla seja pressionada para fechar a tela de execução; tem a mesma utilização do system(“pause”). Operadores Operador de Atribuição • O operador de atribuição ç em linguagem C é o símbolo de igualdade = • Exemplo: NUM = 3; (a variável NUM recebe o valor 3) NUM = 45 / 5; (a variável NUM recebe o resultado da operação) NUM = NUM1 + NUM2; (a variável NUM recebe o resultado da operação com os conteúdos das variáveis NUM1 e NUM2) Operadores aritmé.cos Operação Símbolo Adição + Subtração - Multiplicação * Divisão Resto da divisão / % (RESTO) Prioridade entre Operadores Aritméticos Prioridade Operação 1º 2º Potenciação, radiciação Multiplicação, divisão 3º Adição, subtração EXEMPLOS DE PROGRAMAS COM ESTRUTURAS LÓGICAS SEQUENCIAIS /* Cabeçalho do programa */ // Programa : Exemplo 1 // Programador : /* Declaração das Bibliotecas */ #include <stdio.h> #include <conio.h> int main ( ) // Aqui começa o programa { int X, Y; Y= 2; X = 10 ; X=Y+2; // X = ((Y + 3 ) * 4) – 5 ; X = (X % 2 ) ; printf (“O conteudo da variável X eh: %d”, X); printf (“\n O conteudo da variável Y eh: %d”, Y); getch(); } /* Cabeçalho do programa */ // Programa : Exemplo 2 // Programador : /* Declaração das Bibliotecas */ #include <stdio.h> #include <conio.h> int main ( ) // Aqui começa o programa { int BASE, ALTURA, AREA; printf (“Digite o valor da BASE do triangulo: ”); scanf (“%d”, &BASE); printf (“Digite o valor da ALTURA do triangulo: ”); scanf (“%d”, &ALTURA); AREA = BASE* ALTURA/2; printf (“A área do trianguloeh: %d”, AREA); getch(); } /* Cabeçalho do programa */ // Programa : Exemplo 3 // Programador : /* Declaração das Bibliotecas */ #include <stdio.h> /*Definição das Constantes */ #define MEU_NOME “João” int main ( ) // Aqui começa o programa { /*Declaração das Variáveis da função principal */ int idade; float altura; char nome[30], sexo; clrscr( ); // Limpa a tela printf(“ Oi! Meu nome e´ %s\n”, MEU_NOME); printf(“ Qual seu nome ? ”); gets(nome); printf(“ Qual seu sexo - F (feminino) e M (masculino) ? ”); sexo = getchar( ); printf(“ Qual sua idade ?”); scanf( “%d”, &idade); printf(“ Qual sua altura ?”); scanf( “%f”, &altura); system (“pause”); } Exercícios Exercício 1 • Faça um programa para ler as seguintes informações de uma pessoa: Nome, Idade, Sexo, Peso, Altura, Profissão, Rua, Bairro, Cidade, Estado, CEP, Telefone. Exercício 2 • Faça um programa para ler a base e a altura de um triângulo. Em seguida, calcule e escreva sua área. Área = ( Base * Altura ) / 2 Exercício 3 Escreva um programa que calcule o volume de um cilindro circular, dados o raio e altura desse cilíndro. Exiba o resultado desse cálculo. V = π * r2 * h Em que: π = 3.141547 r = raio h = altura Exercício 4 Faça um programa para ler a base e a altura de um triângulo. Em seguida, calcule e escreva sua área. Área = ( Base * Altura ) / 2 Exercício 5 Escreva um programa que calcule o volume de um cilindro circular, dados o raio e altura desse cilíndro. Exiba o resultado desse cálculo. V = π * r2 * h Em que: π = 3.14, r = raio, h = altura. Exercício 6 Escreva um programa que calcule a raiz de uma equação do 1.o grau, dados os valores dos coeficientes. ax+b=0