aula09 traducaosin110

38
SIN 110 Programação I Sintaxe da Linguagem C Prof a Elaine Faria Prof a Rachel Reis Prof Murilo Naldi UFV – Campus Rio Paranaíba

Upload: aldo-henrique-dias-mendes

Post on 06-Dec-2014

1.643 views

Category:

Documents


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Aula09 traducaosin110

SIN 110Programação I

Sintaxe da Linguagem C

Profa Elaine FariaProfa Rachel ReisProf Murilo Naldi

UFV – Campus Rio Paranaíba

Page 2: Aula09 traducaosin110

Linguagem de Programação C

• A linguagem C foi criada por Dennis Ritchie, em 1972, no centro de Pesquisas da Bell Laboratories.

• Sua primeira utilização importante foi a reescrita do Sistema Operacional UNIX, que até então era escrito em assembly.

• Características da linguagem C:• Linguagem imperativa• Simples e de fácil aprendizado

Page 3: Aula09 traducaosin110

IDE

• IDE – Integrated Development Environment

• Ambiente Integrado de Desenvolvimento

• Existem vários ambientes integrados de desenvolvimento para C- Dev-C++

- Editor kate (distribuição Linux)

Page 4: Aula09 traducaosin110

Gerando um programa em C

Código fonte (Arquivo .c)

Código executável (.exe)

compilador linkeditor

Código objeto (Arquivos .o)

Bibliotecas (Arquivos .lib, .a)

+

• O linkeditor recebe um ou mais arquivos de código objeto (extensão .o) gerados pelo compilador e cria um único arquivo executável

+

Bibliotecas(Arquivos .h)

Código objeto (Arquivo .o)

+

Código objeto (Arquivo .o)

...

Page 5: Aula09 traducaosin110

Normas Gerais: Caracteres Válidos

• Um programa-fonte em C é um texto não formatado escrito em um editor de textos usando um conjunto padrão de caracteres ASCII.

• Abaixo estão os caracteres utilizados em C:

a b c d e f g h i j k l m n o p q r s t u v w x y z

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

1 2 3 4 5 6 7 8 9 0

+ - * / \ = | & ! ? # % ( ) { } [ ] _ ‘ “ . , : < >

Page 6: Aula09 traducaosin110

A Função main()

• A função main() é o ponto de início da execução do programa e deve existir em algum lugar dentro do seu programa.

• Exemplo:

#include <stdio.h> // biblioteca

int main() // definição do programa principal{ printf(“Olá Mundo!"); // escreve a mensagem na tela return 0; // finaliza o programa principal}

Page 7: Aula09 traducaosin110

Declaração de variáveis

• Uma declaração de variável é uma instrução para reservar uma quantidade de memória para armazenar um tipo especificado.

• A declaração de uma variável consiste de um tipo e um identificador• O tipo determina o espaço de memória que

deverá ser alocado• O identificador permitirá que ela seja

referenciada no restante do programa

Page 8: Aula09 traducaosin110

Tipos de dado• O tipo de uma variável informa a quantidade de

memória, em bytes, que esta irá ocupar e a forma como seu conteúdo será armazenado.

• Tipos básicos em CTipo Bit Bytes Escala

char 8 1 -128 a 127

int 16 2 -32768 a 32767

float 32 4 3.4E-38 a 3.4E+38

double 64 8 1.7E-308 a 1.7E+308

void 0 0 sem valor

Page 9: Aula09 traducaosin110

Tipo Lógico

main(){ int canhoto; printf(“Voce e’ canhoto? Digite (1) Sim e (0) Não: ”); scanf(“%d”, &canhoto); if(canhoto) { printf(“Pegue sua carteira de canhoto!”); }

return 0;}

• 0 → Falso• qualquer número diferente de zero → Verdadeiro

Page 10: Aula09 traducaosin110

Identificador

• Identificador:- Primeiro caracter deve ser “letra” ou o

“underline” ( _ )- Não podem ser palavras reservadas- Case sensitive (letras maiúsculas e minúsculas

são diferentes)- Usar nomes significativos para ajudar na

compreensão do programa.

Page 11: Aula09 traducaosin110

Palavras reservadas

• São utilizadas pela linguagem e não podem jamais serem usadas como identificadores

Page 12: Aula09 traducaosin110

Declaração de variáveisTradução de Algoritmos

• Algoritmo

idade: inteiro

salario: real

letra: caractere

• Linguagem C

int idade;

float salario; ou double salario;

char letra;

Page 13: Aula09 traducaosin110

Atribuição• É a principal forma de se armazenar um dado em

uma variável.

• Esse comando permite que você forneça um valor a uma variável, onde o tipo desse valor tem que ser compatível com a variável.

• O comando de atribuição é representado por = (sinal de igualdade)

• Exemplo:

x = 10;

Lê-se: “A variável x recebe o valor 10 ou 10 é atribuído a x”

Page 14: Aula09 traducaosin110

AtribuiçãoTradução de Algoritmos

• Algoritmo

idade ← 25

salario ← 510.0

letra ← “A”

• Linguagem C

idade = 25;

salario = 510.0;

letra = ‘A’;

Page 15: Aula09 traducaosin110

Comentários

• Podem ser escrito em qualquer lugar do texto.

int main( ){ /* comentário de várias linhas */

// comentário de uma linha

}

Page 16: Aula09 traducaosin110

Comentários

#include <stdio.h>

int main(){ // Declaração da variável nota

float nota;

/* A instrução abaixo atribui o valor 7.5 à variável nota */ nota = 7.5;

return 0;}

Page 17: Aula09 traducaosin110

Função printf()• Responsável pela impressão de dados na tela do

computador.

• Sintaxe: printf(“Expr. de controle”,lista de argumentos);

• Exemplo:

int main( ){ printf(“Meu primeiro programa em C”); return 0;}

Page 18: Aula09 traducaosin110

Função printf()Tradução de Algoritmos

algoritmo “Primeiro programa”var

inicio escreva(“Meu primeiro programa em C”)fimalgoritmo

Algoritmo

int main( ){ printf(“Meu primeiro programa em C”); return 0;}

Linguagem C

Page 19: Aula09 traducaosin110

Função printf()

• Outro exemplo:

• O programa imprimirá na tela:

int main( ){ int x; x = 2; printf(“Este e’ o numero dois: %d”,x); return 0;}

Este e’ o número dois: 2

Page 20: Aula09 traducaosin110

Função printf()

• Código para impressão formatada

Page 21: Aula09 traducaosin110

Função printf()• Caracteres de controle

• Caracteres de controle utilizados com a função printf()

Page 22: Aula09 traducaosin110

Função printf()

#include <stdio.h>

int main(){ float nota; nota = 7.5;

printf("\" A nota do aluno é: %f\"", nota);

return 0;}

O programa imprimirá na tela:

"A nota do aluno e': 7.500000 "

• Exemplo usando o caracter de controle \”:

Page 23: Aula09 traducaosin110

Função printf()

int main(){ float nota = 7.5;

printf("\" A nota do aluno é: %f\"",nota); printf("\" A nota do aluno é: %.2f\"",nota);

return 0;}

Saída: "A nota do aluno e': 7.500000" "A nota do aluno e': 7.50"

• Formatando o número de casas decimais do tipo float.

Page 24: Aula09 traducaosin110

Função scanf()• Responsável pela leitura de dados via teclado.

• Sintaxe: scanf(“Expr. de controle”,lista de argumentos);

• Operador de endereço &:

• Saída:

int main( ){ int num; num = 2; printf(“Valor: %d, \nEndereco: %u”, num, &num); return 0;}

Valor: 2,Endereco: 2293572

Page 25: Aula09 traducaosin110

Exemplo - scanf()

#include <stdio.h>

int main(){ int num; printf(“Digite um numero inteiro: ”);

scanf(“%d”, &num);

printf(“O valor digitado foi: %d ”, num);

return 0;}

• Leitura de um valor inteiro

Page 26: Aula09 traducaosin110

Exemplos: printf() – scanf()

int main(){ int nota;

// Texto: “Qual sua nota final em Programação I?”

// Leia o valor digitado

// Imprima a nota

return 0;}

Exemplo 1:

Page 27: Aula09 traducaosin110

Exemplos: printf() – scanf()

int main(){ int nota;

printf(“Qual sua nota final em Programação I?”);

scanf(“%d”, &nota);

printf(“\nNota: %d”, nota);

return 0;}

Exemplo 1:

Page 28: Aula09 traducaosin110

Exemplos: printf() – scanf()

int main(){ float num1, num2;

// Texto: “Digite dois números: ”

// Leia os valores digitados

// Imprima os dois números

return 0;}

Exemplo 2:

Page 29: Aula09 traducaosin110

Exemplos: printf() – scanf()

int main(){ float num1, num2;

printf(“Digite dois números: ”);

scanf(“%f”, &num1); scanf(“%f”, &num2);

printf(“Números: %f, %f”, num1, num2);

return 0;}

Exemplo 2:

Page 30: Aula09 traducaosin110

Exemplos: printf() – scanf()

int main(){ float num1, num2;

printf(“Digite dois números: ”);

scanf(“%f %f”, &num1, &num2);

printf(“Números: %f, %f”, num1, num2);

return 0;}

Exemplo 2:

Page 31: Aula09 traducaosin110

Operadores Aritméticos em C

• Operador de Atribuição = - Representa a atribuição da expressão a direita ao nome

da variável a esquerda- Exemplo: num = 2000;

• Operador + - / *- Representam as operações aritméticas básicas de

soma, subtração, divisão e multiplicação.

• Operador menos unário –- Usado somente para indicar a troca do sinal algébrico

do valor.• Operador módulo %

- Retorna o resto da divisão inteira.

Page 32: Aula09 traducaosin110

Tradução de Algoritmos - Problema 1

Enunciado:“Ler uma temperatura em graus Fahrenheit e apresentá-la convertida em graus Celsius . A fórmula de conversão é: C = (F – 32.0) * (5.0/9.0), sendo F a temperatura em Fahrenheit e C a temperatura em Celsius”

Português estruturado

var F, C : realinicio escreva(“Digite a temperatura em Fahrenheit: ”) leia(F) C ← (F – 32.0) * (5.0/9.0) escreva(“A temperatura em graus celsius é: ”, C)fimlgoritmo

Page 33: Aula09 traducaosin110

Tradução de Algoritmos - Problema 1

#include <stdio.h>int main(){ float F, C; printf("Digite a temperatura em Fahreneit: \n"); scanf("%f", &F); C = (F - 32.0) * (5.0/9.0); printf("A temperatura em graus celsius e': %f.\n", C); return 0;}

Programa em C

Page 34: Aula09 traducaosin110

Enunciado:“Elaborar um programa que efetue a leitura de três valores (A, B e C) e apresente como resultado final o quadrado da soma dos três valores lidos.”

Português Estruturado:

var A, B, C, SOMA, QUADRADO: realinicio escreva(“Digite os valores de A, B, C: ”) leia(A, B, C) SOMA ← A + B + C QUADRADO ← SOMA * SOMA escreva(“O quadrado da soma é: ”, QUADRADO)fim.

Tradução de Algoritmos - Problema 2

Page 35: Aula09 traducaosin110

Tradução de Algoritmos - Problema 2

#include <stdio.h>

int main(){ float A, B, C, SOMA, QUADRADO; printf("Digite os valores de A, B, C: "); scanf("%f %f %f", &A, &B, &C); SOMA = A + B + C; QUADRADO = SOMA * SOMA; printf("O quadrado da soma e': %.2f.", QUADRADO); return 0;}

Programa em C

Page 36: Aula09 traducaosin110

Exercícios

1) Escreva um programa em C que receba três notas e seus respectivos pesos, calcule e mostre a média ponderada entre essas notas.

2) Escreva um programa em C que receba o salário de um funcionário, calcule e mostre o novo salário, sabendo-se que este sofreu um aumento de 25%

Page 37: Aula09 traducaosin110

Exercícios

3) Escreva um programa em C que receba o salário-base de um funcionário, calcule e mostre o salário a receber, sabendo-se que esse funcionário tem gratificação de 5% sobre o salário-base, e paga imposto de 7% sobre o salário-base.

4) Escreva um algoritmo que receba uma hora formada por hora e minutos, e calcule a hora digitada apenas em minutos.

Page 38: Aula09 traducaosin110

Exercícios

5) Escreva um algoritmo que receba o ano de nascimento de uma pessoa e o ano atual, calcule e mostre a idade desta pessoa, e quantos anos essa pessoa terá em 2020

6) Cada degrau de uma escada tem X de altura. Escreva um algoritmo que receba essa altura e a altura que o usuário deseja alcançar subindo a escada. Calcule e mostre quantos degraus o usuário deverá subir para atingir seu objetivo, sem se preocupar com a altura do usuário