CCO 016 / COM 110 Fundamentos de Programação

Documentos relacionados
CCO 016 / COM 110 Fundamentos de Programação

Treinamento Olimpíada Brasileira de Informática

Introdução à Computação

LINGUAGEM E TÉCNICAS DE PROGRAMAÇÃO

Introdução à Linguagem C. Adaptado de Deise Saccol

Métodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

Introdução à Programação. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

Algoritmos RESUMO - LINGUAGEM C

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA AMBIENTE DE PROGRAMAÇÃO. Prof. Dr. Daniel Caetano

Declarações. C diferencia letras maiúsculas de minúsculas! int n, N; n é diferente de N!

PCI- Operadores, Expressões e Funções. Profa. Mercedes Gonzales Márquez

Introdução à Linguagem C

SSC 0301 IC para Engenharia Ambiental

ALGORITMOS E LÓGICA DE PROGRAMAÇÃO

Introdução à Computação

ALGORITMOS E LÓGICA DE PROGRAMAÇÃO PRÉ AULA PRÉ AULA 31/08/2015

CCO 016 / COM 110 Fundamentos de Programação

LP2 Laboratório de Programação 2 Ciência da Computação. Problema proposto

Introdução a Linguagem C

Algoritmos e Técnicas de Programação. Professora: Luciana Faria

Introdução à Linguagem C. Adaptado de slides das Profas. Patrícia Jaques, Mônica Py, Deise Saccol e Vania Bogorny

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA AMBIENTE DE PROGRAMAÇÃO. Prof. Dr. Daniel Caetano

Introdução à Linguagem C

Programação Básica. Estrutura de um algoritmo

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO

As bibliotecas iostream e cstdlib permitem a utilização de diversos comandos de entrada e saída e funções básicas.

Introdução à Programação Estruturada Parte 3. Material da Prof. Ana Eliza

Treinamento Olimpíada Brasileira de Informática

Programação de Computadores III

11 - Estrutura de um programa em C

Aula 04: Fluxogramas e condicionais

Programação de Computadores III

Portugol. Tiago Alves de Oliveira

Programação de Computadores:

Aula 5 ESTRUTURAS DE REPETIÇÃO (WHILE)

Introdução a Programação de Jogos

Variáveis, Tipos de Dados e Operadores

Programação de Computadores. Primeiro contato

Capítulo 1: Introdução à Linguagem C. Pontifícia Universidade Católica Departamento de Informática

Conhecendo a Linguagem de Programação C

Introdução a Computação

Programação I PRG Engenharia de Telecomunicações 2ª Fase Professor: Cleber Jorge Amaral

Computação eletrônica: Operadores, expressões e funções

Segundo programa: media.c

Aula 12- Variáveis e valores reais

Algoritmo e Programação Matemática

Algoritmos. Para encontrar a raiz de uma equação quadrática, são necessários alguns passos detalhados:

PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C

CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS DISCIPLINA : INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO ASSUNTO: C

Programação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação

CCO 016 / COM 110 Fundamentos de Programação

Material Didático Unificado.

Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Programação de Computadores I - BCC701

Algoritmos e Programação

Estrutura do programa

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

EXPRESSÕES ARITMÉTICAS PARTE 1

Olimpíadas de Informática

5 Operações e Funções Matemáticas. Unesp Campus de Guaratinguetá

Faculdade Anglo-Americano Curso de Ciência da Computação Linguagem de Programação. Lista de Exercícios 1

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA AMBIENTE DE PROGRAMAÇÃO. Prof. Dr. Daniel Caetano

Programação: Vetores

Estruturas de repetição. Objetivos: - Compreender diversos tipos de comandos de repetições disponíveis na linguagem C.

Programação 1. Atribuição, operadores aritméticos, entrada de dados. Técnico em Eletrônica Semestre 5 02

Programação de Computadores III

Algoritmos e Programação

Aula 08: Repetição (Parte 3)

Prof. Jorge Cavalcanti

Ocorrem em três tipos:

Introdução à Pseudo-código PROGRAMAÇÃO I (COM06842) LÓGICA E TÉCNICA DE PROGRAMAÇÃO (COM06039)

ENGENHARIA DE PRODUÇÃO PROGRAMAÇÃO Algoritmos Conceitos Iniciais. Prof. Luiz Fernando Laguardia Campos FMS

Capítulo 2 Operadores. A função scanf()

Linguagem C: Introdução

Introdução à Programação I

Linguagem C. Prof.ª Márcia Jani Cícero

Aula 5 Oficina de Programação Introdução ao C. Profa. Elaine Faria UFU

Lógica e Linguagem de Programação Convertendo um algoritmo em pseudocódigo para a linguagem C Professor: Danilo Giacobo

Variáveis, Expressões Aritméticas e Entrada e Saída de Dados

Aula 02 - Introdução ao Scilab (p1)

Computadores Digitais 2. Prof. Rodrigo de Souza Couto

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM C/C++ Prof. Dr. Daniel Caetano

Material Didático Unificado. Variáveis correspondem a nomes para endereços de memória que são gerenciados pelo Scilab.

Nomes de variáveis Todo nome de variável deve iniciar com uma letra ou sublinha _.

CCO 016 Fundamentos de Programação

Material Didático Unificado.

CCO 016 / COM 110 Fundamentos de Programação

Fundamentos de Programação. Turma CI-240-EST. Josiney de Souza.

Aula 03: Introdução a C

Aula 02 -Introdução àlinguagc Programação: Estrutura-Seleção. OPL e IC1 Prof: Anilton Joaquim da Silva

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas. Aula Tópico 2

Capítulo 3 Estrutura Sequencial

Algoritmos e Programação

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO

Sistemas Operacionais e Introdução à Programação. Programação com linguagem C

Universidade Federal de Uberlândia Faculdade de Computação. Expressões aritméticas, relacionais e lógicas Estruturas condicionais

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE II. Prof. Dr. Daniel Caetano

Aula 4 ESTRUTURAS DE REPETIÇÃO (FOR)

Transcrição:

CCO 016 / COM 110 Fundamentos de Programação Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá

AULA 06 Operações matemáticas Comandos Sequenciais Comandos Sequenciais na Linguagem de Programação C

Operações Aritméticas Aritméticas mais comuns Adição + Subtração - Divisão / Multiplicação * Resto da divisão resto(x,y) Raiz quadrada raiz(x) Exponenciação pot(x,n) Seno sen(x) Cosseno cos(x) Tangente tan(x) Logaritmo log(x) Logaritmo Neperiano ln(x)

Estrutura Sequenciais Definimos Estruturas Sequenciais como sendo a sequência de passos feito da forma Top-Down, isto é, de cima para baixo. Por exemplo: A 10 B 20 imprima(a,b) B 5 imprima(a, B) Qual o valor de B e de A e B?

Estrutura Sequenciais Uma estrutura sequencial realiza um conjunto predeterminado de comandos de forma sequencial, na ordem em que foram declarados no código fonte. A cada instrução, o contador de programa é incrementada (PORTUGOL). Uma estrutura sequencial é delimitada pelas palavrasreservadas Início e Fim e contém basicamente comandos de atribuição, comandos de entrada e comandos de saída. Os algoritmos do capítulo anterior são algoritmos que utilizam uma única estrutura sequêncial.

Estrutura Sequenciais Um algoritmo puramente seqüencial é aquele cuja execução é efetuada em ordem ascendente dos números que identificam cada passo. A passagem de um passo ao seguinte é natural e automática, e cada passo é executado uma única vez. 1. início 2. A 10 3. B 20 4. imprima(a,b) 5. B 5 6. imprima(a,b) 7. fim

Estrutura Sequenciais Esquema Genérico de Algoritmos em Portugol Esquema Genérico de Algoritmos em Fluxograma Declaração de Variáveis/Constantes INICIO inicialização de variáveis/constantes {comentários} bloco de comandos de entrada de dados {comentários} bloco de comandos de atribuição Atribuição {comentários} bloco de comandos de saída de dados FIM INICIO FIM Leia Imprima

Exemplo 1 Dados 4 números, calcule a média aritmética deles. Algoritmo: real n1, n2, n3, n4, soma, media imprima ( entre com o valor de n1 ) leia ( n1 ) imprima ( entre com o valor de n2 ) leia ( n2 ) imprima ( entre com o valor de n3 ) leia ( n3 ) imprima ( entre com o valor de n4 ) leia ( n4 )

Exemplo 1 Algoritmo: soma n1 + n2 + n3 + n4 media soma / 4 imprima ( A média dos 4 números é:, media )

Exemplo 1 Dados 4 números, calcule a média aritmética deles. Portugol: Início real n1, n2, n3, n4, soma, media imprima ( entre com o valor de n1: ) leia ( n1 ) imprima ( entre com o valor de n2: ) leia ( n2 ) imprima ( entre com o valor de n3: ) leia ( n3 ) imprima ( entre com o valor de n4: ) leia ( n4 )

Exemplo 1 Portugol: soma n1 + n2 + n3 + n4 media soma / 4 imprima ( A média dos 4 números é:, media ) Fim

Exemplo 1 Dados 4 números, calcule a média aritmética deles. Fluxograma: INICIO n1, n2, n3, n4 Soma n1 + n2 + n3 + n4 Media soma / 4 Media =, Media FIM

Exemplo 1 Testando o Algoritmo anterior n1 = 10.0 n2 = 5.0 n3 = 7.0 n4 = 8.0 soma 10.0 + 5.0 + 7.0 + 8.0 media 30 / 4 media = 7.5

Exemplo 2 Elabore um programa que leia um valor de temperatura em graus Celsius, calcule e exiba a temperatura equivalente em graus Kelvin, sabendo que K = C + 273. Algoritmo: real K, C imprima ( entre com a temperatura em Celsius: ) leia ( C ) K C + 273 imprima ( A temperatura em Kelvin é:, K)

Exemplo 2 Portugol Início real K, C imprima ( entre com a temperatura em Celsius: ) leia ( C ) K C + 273 imprima ( A temperatura em Kelvin é:, K) Fim

Exemplo 2 Fluxograma: INICIO C K C + 273 Kelvin =, K FIM

Exemplo 2 Testando o Algoritmo anterior C = 10.0 k 10.0 * 25.4 Kelvin = 254.0

Exemplo 3 Ler o nome de um cliente de fast food e a quantidade de cada item do menu que ele vai pedir. Exiba o nome do cliente e o total da compra. MENU Hot dog R$ 2,50 Hambúrguer R$ 4,00 Cheeseburguer R$ 4,50 Refrigerante R$ 2,00 Batatas fritas R$ 3,50

Exemplo 3 Algoritmo: cadeia nome inteiro qhd, qha, qch, qre, qbf real pthd, ptha, ptch, ptre, ptbf, ptf imprima ( entre com o nome do cliente: ) leia ( nome ) imprima ( entre com a quantidade de hot dog: ) leia ( qhd ) imprima ( entre com a quantidade de hambúrguer: ) leia ( qha ) imprima ( entre com a quantidade de cheeseburguer: ) leia ( qch )

Exemplo 3 Algoritmo: imprima ( entre com a quantidade de refrigerante: ) leia ( qre ) imprima ( entre com a quantidade de batatas fritas: ) leia ( qbf ) pthd qhd * 2.5 ptha qha * 4.0 ptch qch * 4.5 ptre qre * 2.0 ptbf qbf * 3.5 ptf qhd + qha + qch + qre + qbf imprima ( Cliente:, nome) imprima ( O valor devido é: R$, ptf)

Exemplo 3 Portugol: Início cadeia nome inteiro qhd, qha, qch, qre, qbf real pthd, ptha, ptch, ptre, ptbf, ptf imprima ( entre com o nome do cliente: ) leia ( nome ) imprima ( entre com a quantidade de hot dog: ) leia ( qhd ) imprima ( entre com a quantidade de hambúrguer: ) leia ( qha ) imprima ( entre com a quantidade de cheeseburguer: ) leia ( qch )

Exemplo 3 Portugol: imprima ( entre com a quantidade de refrigerante: ) leia ( qre ) imprima ( entre com a quantidade de batatas fritas: ) leia ( qbf ) pthd qhd * 2.5 ptha qha * 4.0 ptch qch * 4.5 ptre qre * 2.0 ptbf qbf * 3.5 ptf qhd + qha + qch + qre + qbf imprima ( Cliente:, nome) imprima ( O valor devido é: R$, ptf) FIM

Exemplo 3 Portugol: imprima ( entre com a quantidade de refrigerante: ) leia ( qre ) imprima ( entre com a quantidade de batatas fritas: ) leia ( qbf ) pthd qhd * 2.5 ptha qha * 4.0 ptch qch * 4.5 ptre qre * 2.0 ptbf qbf * 3.5 ptf qhd + qha + qch + qre + qbf imprima ( Cliente:, nome) imprima ( O valor devido é: R$, ptf) FIM

Exemplo 3 Fluxograma: INICIO nome, qhd, qha, qch, qre, qbf pthd qhd * 2.5 ptha qha * 4.0 ptch qch * 4.5 ptre qre * 2.0 ptbf qbf * 3.5 ptf pthd + ptha + ptch + ptre + ptbf 1

Exemplo 3 Fluxograma: 1 Cliente:, nome O valor devido é: R$, ptf FIM

Exemplo 3 Testando o Algoritmo anterior nome = Roberto Costa qhd = 0 qha = 0 qch = 1 qre = 2 qbf = 1 pthd = 0 * 2.5 ptha = 0 * 4.0 ptch = 1 * 4.5 ptre = 2 * 2.0 ptbf = 1 * 3.5

Exemplo 3 Testando o Algoritmo anterior ptf = 0.0 + 0.0 + 4.5 + 4.0 + 3.5 Cliente : Roberto Costa O valor devido é: R$ 12.00

Operações Aritméticas em C Adição + Subtração - Multiplicação * Divisão / Resto da divisão % Modulo inteiro x abs(x) tem que usar a stdlib.h

Operações Aritméticas em C Usando a math.h Seno sin(x) Cosseno cos(x) Tangente tan(x) x em radiano Logaritmo log10(x) Logaritmo Neperiano log(x) Raiz quadrada sqrt(x) Potenciação pow(b,e) Exponenciação exp(x) Módulo de número real fabs(x)

Exemplos de expressões aritméticas int x, y; float a, b, c; x = 3 * 2 + 5; y = x % 2; a = 45.67; b = 3.45 + a; c = b / a 10.567;

Hierarquia dos operadores Qual é o resultado da seguinte operação: X = 5 + 2 * 3 ; 21 ou 11?

Hierarquia dos operadores A hierarquia dos operadores define a ordem em que uma expressão é calculada; Define-se a seguinte tabela de prioridade para os operadores: Parênteses ( mais alta ) Multiplicação e divisão Adição e subtração Operadores com mesma prioridade, a ordem de resolução é da esquerda para a direita.

No exemplo anterior: X = 5 + 2 * 3 ; tem-se uma adição e uma multiplicação; teste caso a multiplicação é realizada em primeiro lugar e em seguida, o resultado é adicionado ao valor 5 portanto, o resultado da expressão será: 2 * 3 = 6 6 + 5 = 11

Se for desejado trocar a prioridade de um operador, utiliza-se parênteses. Exemplo: X = ( 5 + 2 ) * 3 ; Neste caso, como o parênteses tem a maior prioridade, ele é resolvido na frente; Desta forma, tem-se: 5 + 2 = 7 7 * 3 = 21

Exemplo 4 A expressão algébrica: a b [ a *3] a b a * b [3 a] [3 b] a b

É representada em linguagem C como: ( (a b) / (a + b) - (a * 3) ) / ( (3 a) + a * b / (a b) (3 + b) )

ordem da execução dos operadores ( (a b) / (a + b) - (a * 3) ) / 1 2 3 4 5 A ( (3 a) + a * b / (a b) (3 + b) ) 6 9 7 8 10 11 12 B

Operação final A / B 13

Expressões inteiras Constituídas de variáveis e constantes inteiras Resultado é sempre inteiro Exemplo: a expressão: 5 * 2 / 3 Resulta no valor 3

Já a expressão: 2 / 3 * 5 Resulta no valor 0 E a expressão: 3 / 2 * 5 Resulta no valor 5

Expressões flutuantes Constituídas de variáveis e constantes flutuantes Resultado é sempre flutuante Exemplo: a expressão: 5.0 * 2.0 / 3.0 Resulta no valor 3.33

Expressões mistas Constituídas de variáveis e constantes flutuantes e inteiras Resultado é sempre flutuante Exemplo: a expressão: 5.0 * 2 / 3.0 Resulta no valor 3.33

Já a expressão: 2.0 / 5 * 3 Resulta no valor 1.20 E a expressão: 5 / 2 * 3.0 CUIDADO!!! Resulta no valor 6.0

Casting tipos Pode-se forçar temporariamente, a mudança do tipo de uma variável, através do casting do tipo, que consiste em se anteceder o nome da variável com o novo tipo, entre parênteses.

Exemplo 5 int a, b; float c; c = 2.5; a = 3; b = (int)c * a; Que resulta em 6 o valor armazenado em b

Exemplo 6 int a, b; float c; c = 2.5; a = 3; b = (int)(c * a); Que resulta em 7 o valor armazenado em b

Atribuições inteiras int a, b; a = 34; b = a * 2; Em b estará armazenado o valor 68

Atribuição Flutuante float a, b; a = 34.56; b = a * 2; Em b estará armazenado o valor : 69.12

Atribuição mista int a, b; float c, d; a = 10; c = 20.20; b = 2 * c; // inteiro recebendo flutuante d = a * 2; // flutuante recebendo inteiro b tem valor 40 d tem valor 20.0

Operadores Especiais Adição ++ Subtração -- Atribuição com operação += -= /= *=

Adição Sejam as operações: x = 35; x = x + 10; Como mostrado anteriormente, na variável x é armazenado o valor atual dela ( 35 ) adicionado à constante 10, o que resulta no valor 45.

Uma outra forma de se escrever as mesmas instruções é utilizando-se o operador especial +=, da seguinte forma: x = 35; x += 10; Ou seja, a expressão do lado direito ao sinal de igual é operada com a variável do lado esquerdo e o resultado é armazenado nesta mesma variável.

Isto é também válido para os outros operadores, como mostrado no exemplo: a = 23; a *= 2; significa que na variável a vai estar armazenado o valor 46, pois corresponde à operação: a = a * 2

Exemplo 7 int a, b; a = 10; b = 2; a += b + 3; printf ( a = %d\n, a );

Neste caso, a saída seria: resultado a = 15

Exemplo 8 int a, b; a = 10; b = 2; a += a* (b + 3); printf ( a = %d\n, a );

Neste caso, a saída seria: resultado a = 60

Para as operações de adição e subtração, existem mais dois operadores especiais. São eles: ++ e -- respectivamente.

Sejam por exemplo, as seguintes operações: x = 30; x = x + 1; como mostrado anteriormente, a ultima operação pode ser também escrita como: ou ainda: x += 1; x++; o que resulta no valor 31 armazenado na variável x, em todos os exemplos.

O operador ++ é utilizado quando o conteúdo de uma variável é adicionado de uma unidade, e da mesma forma, o operador -- é utilizado quando o conteúdo de uma variável é subtraído de uma unidade.

Sejam por exemplo, as seguintes operações: x = 30; x = x - 1; como mostrado anteriormente, a ultima operação pode ser também escrita como: ou ainda: x -= 1; x--; o que resulta no valor 29 armazenado na variável x, em todos os exemplos.

Exemplo 1 Dados 4 números, calcule a média aritmética deles. Programa em C: #include <stdio.h> int main() { // declaração das variáveis float n1, n2, n3, n4, soma, media; // entrada de dados printf ( entre com o valor de n1 = ); scanf ( %f,&n1 ); printf ( entre com o valor de n2 = ); scanf ( %f,&n2 );

Exemplo 1 Programa em C: // entrada de dados printf ( entre com o valor de n3 = ); scanf ( %f,&n3 ); printf ( entre com o valor de n4 = ); scanf ( %f,&n4 ); // Somando todos os valores soma = n1 + n2 + n3 + n4; // Calculando a média media = soma / 4; // saída de dados printf ( A média dos 4 números é: %.2f, media ); }

Exemplo 2 Elabore um programa que leia um valor de temperatura em graus Celsius, calcule e exiba a temperatura equivalente em graus Kelvin, sabendo que K = C + 273. Programa em C: #include <stdio.h> int main() { // declaração das variáveis float K, C; // entrada de dados printf ( entre com a temperatura em Celsius = ); scanf ( %f,&c );

Exemplo 2 Programa em C: // Calculando a temperatura em Kelvin K = C + 273; // saída de dados printf ( A temperatura em Kelvin é: %.2f, K ); }

Exemplo 3 Ler o nome de um cliente de fast food e a quantidade de cada item do menu que ele vai pedir. Exiba o nome do cliente e o total da compra. MENU Hot dog R$ 2,50 Hambúrguer R$ 4,00 Cheeseburguer R$ 4,50 Refrigerante R$ 2,00 Batatas fritas R$ 3,50

Exemplo 3 Programa em C: #include <stdio.h> int main() { // declaração das variáveis char nome[30]; int qhd, qha, qch, qre, qbf; float pthd, ptha, ptch, ptre, ptbf, ptf; // entrada de dados printf ( entre com o nome do cliente: ) scanf ( %[^\n], nome)

Exemplo 3 printf ( entre com a quantidade de hot dog: ) scanf ( %d,&qhd ); printf ( entre com a quantidade de hambúrguer: ) scanf ( %d,&qha ); printf ( entre com a quantidade de cheeseburguer: ) scanf ( %d,&qch ); printf ( entre com a quantidade de refrigerante: ) scanf ( %d,&qre ); printf ( entre com a quantidade de batatas fritas: ) scanf ( %d,&qbf );

Exemplo 3 } // Calculando o total a pagar pthd = qhd * 2.5; ptha = qha * 4.0; ptch = qch * 4.5; ptre = qre * 2.0; ptbf = qbf * 3.5; ptf = qhd + qha + qch + qre + qbf; // saída de dados printf ( Cliente: %s\n, nome); printf ( O valor devido é: R$ %.2f\n, ptf);

Para estudar Vá no site: http://www.urionlinejudge.com.br/ Resolva os problemas 1002 a 1010 na forma de algoritmo.

Treinamento 1) Elabore um programa que leia um comprimento em polegadas, calcule e exiba o comprimento em milímetros, considerando que 1 polegada equivale a 25,4 milímetros. 2) Elabore um programa que leia a massa de uma amostra de carbono, calcule e exiba o número de moles de carbono na amostra. Considere que o mol C é igual a 12 e a fórmula é no de moles = massa da amostra / 12 3) Elabore um programa que leia a força F aplicada sobre um corpo e a velocidade V do corpo, calcule e exiba a potência P. Considere P = F*V.

Treinamento 4) Ler uma determinada hora, seus minutos e segundos. Quantos segundos existem nessa hora, minuto e segundo lidos? 5) O preço de um produto ao consumidor é a soma do preço de custo mais as porcentagens de impostos e a do distribuidor. Ler o nome do produto, seu custo de fabrica e as taxas de impostos e do distribuidor. Exiba o nome do produto e o preço final ao consumidor. 6) Escreva o algoritmo que calcule a razão r de uma progressão aritmética de n termos, cujo primeiro termo é a 1 e o último termo a n, dada a equação: r = (a n - a 1 ) / (n 1)