Algoritmos e Programação MC102

Slides:



Advertisements
Apresentações semelhantes
INTRODUÇÃO A COMPUTAÇÃO ENG. CIVIL
Advertisements

CES-10 INTRODUÇÃO À COMPUTAÇÃO
Programação em Java Prof. Maurício Braga
Estrutura Condicional
Universidade Federal de São Carlos Introdução à Linguagem C Comandos.
Introdução à Computação - Jorge Macêdo
Introdução à Programação
Linguagem C Estruturas de Controle de Fluxos
LINGUAGEM ESTRUTURADA TURBO C
Linguagem C.
Linguagem C Estruturas de Seleção.
Estruturas de Decisão Permitir testes para decidir acções alternativas: if if - else switch (?:) Operador Condicional MF.
Revisão da Linguagem C.
Aula 03 Revisão de Expressões Comando de Seleção
Semana 03: Comandos de desvio de fluxo. Expressões lógicas.
Introdução a Computação e Cálculo Numérico
Introdução a Computação e Cálculo Numérico
Linguagem de Programação I Parte II
LINGUAGENS DE PROGRAMAÇÃO PROF. DANIELA PIRES
Seminário 1: Revisão de C
Estruturas de Dados Módulo 3 – Controle de Fluxo
Semana 03 Comandos de desvio de fluxo. Expressões lógicas.
ALGORITMOS.
BC-0505 Processamento da Informação
Algoritmos e Estruturas de Dados I – Estrutura Condicional
Introdução à Linguagem C
Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da.
Aula prática 3 Aprofundando em Funções Parâmetros de uma função Uso do return Execução Variáveis Global, local e estática Monitoria de Introdução à.
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013
Algoritmos e Estruturas de Dados I – Estrutura Condicional
PCI- Estrutura Condicional Profa. Mercedes Gonzales Márquez.
Introdução à Programação
Aula 5 - Exercícios Prof. Leandro M. Almeida.
Revisão Luis Antonio Tavares
Comando de Seleção switch
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo III Comandos de Controle.
Aula Prática 1 Monitoria IP/CC (~if669) (A partir do slide elaborado por Luís Gabriel)
Laboratório I Mateus Raeder. Mateus Raeder – abril de 2010 Expressões booleanas  Tipo boolean -Tipo de dado primitivo -Possui os valores: true e false.
CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA ENGENHARIA DE AUTOMAÇÃO INDUSTRIAL  Operadores São meios pelo qual incrementamos, comparamos e avaliamos dados.
Algoritmos.
DSC/CCT/UFCG Carga Horária: 60 h Profs.: José Eustáquio Rangel de Queiroz Roberto Medeiros de Faria Ulrich Schiel José Eustáquio Rangel.
Algoritmos e Programação MC102
Algoritmos e Programação MC102 Prof. Paulo Miranda IC-UNICAMP Aula 15 Ponteiros.
DSC/CCT/UFCG Carga Horária: 60 h Profs.: José Eustáquio Rangel de Queiroz Roberto Medeiros de Faria Ulrich Schiel José Eustáquio Rangel.
Introdução a Programação
Algoritmo e Programação
Algoritmos e Estruturas de Dados I – Estrutura Condicional Profa. Mercedes Gonzales Márquez.
5. Instruções de Controle AL Lapolli – 5. Instruções de Controle  Introdução  Operadores  Relacionais  Lógicos  Comando If  Comando.
Programação Computacional Aula 9: Meu primeiro programa em C
Profº Antonio Carlos Marcelino de Paula
Profa. Maria Augusta Constante Puget
JAVASCRIPT Programação Web. O que é  E uma linguagem interpretada que e executada na maquina do cliente  Não esta associada ao framework java  Não.
PARADIGMAS DE LINGUAGENS EXPRESSÕES E INSTRUÇÕES DE ATRIBUIÇÃO
Linguagem de Programação 11 Estruturas de Decisão e Repetição. Prof. Luiz José Hoffmann Filho
Programação estruturada unidade 2
Algoritmos e Programação MC102 Prof. Paulo Miranda IC-UNICAMP Aula 15 Funções.
Aula Prática 1 Monitoria IP/CC (~if669) (A partir do slide elaborado por Luís Gabriel)
Programação Computacional Profa. Madeleine Medrano
Visual C# (parte 2) Prof. Igor Conrado Alves de Lima – Operadores, estruturas de decisão, vetores (arrays), e estruturas de.
ALGORITMOS Profº Antonio Carlos Marcelino de Paula 1.
Algoritmo e Estrutura de Dados I Linguagem C – Comandos if-else-if e Switch Márcia Marra.
Aula 3 Comandos Condicionais Prof. Filipe Mutz.. Revisão Computadores e seus Componentes – Processador, Memórias Primárias e Secundárias – Sistema Operacional.
Prof. Tertuliano Operadores Variáveis em C++.
1 Estruturas Condicionais Aula – Tópico 3 Algoritmos e Estruturas de Dados I (DCC/003)
Prof. Tertuliano Estrutura Condicional em C++. Sumário „ Estrutura Condicional Simples „ Estrutura Condicional Composta „ Estrutura Condicional Simples.
Ambientação com a Sintaxe de Java: parte 2 Prof. Gustavo Wagner Slides Originais: Prof. Tiago Massoni Desenvolvimento de Sistemas FATEC-PB  Centro de.
Introdução à Computação para Engenharia MAC2166
Algoritmo e Estrutura de Dados I
Introdução à Computação para Engenharia MAC2166
PROGRAMAÇÃO I UNIDADE 3.
Transcrição da apresentação:

Algoritmos e Programação MC102 Prof. Paulo Miranda IC-UNICAMP Aula 3 Comandos Condicionais

Mais Operadores C tem vários operadores que permitem comprimir comandos. variável op= expressão; variável = (variável) op (expressão); Operador Exemplos ++ i++; equivale a i = i +1; - - i--; i = i – 1; += i += 2; i = i + 2; - = d -= 3; d = d – 3; *= x *= y+1; x = x*(y+1); /= t /= 2.5; t = t / 2.5; %= p %= 5; p = p%5;

Operadores Relacionais São usados para fazer comparações. Retornam zero (0) ou um (1) dependendo da expressão ser falsa ou verdadeira respectivamente. Possuem menor precedência que a dos operadores aritméticos. Operador Função > maior >= maior ou igual < menor <= menor ou igual == igualdade != diferente

Operadores Relacionais Exemplo: int main(){ int teste1,teste2; teste1 = (10 < 30); teste2 = (20==25); printf(“Teste1= %d, teste2= %d\n”,teste1,teste2); return 0; } Saída: Teste1= 1, teste2= 0

Operadores Lógicos && C possui 3 operadores chamados lógicos: || ! Função && lógico E || lógico OU ! lógico de negação Exemplos exp1 && exp2 É verdadeira se as duas exp1 e exp2 forem verdadeiras. exp1 || exp2 É verdadeira se uma das duas exp1 ou exp2 for verdadeira ou se as duas forem verdadeiras. ! exp1 É verdadeira se exp1 for falsa.

Operadores Lógicos Exemplo: int main(){ int teste; float x,y; scanf(“%f %f”,&x,&y); teste = ((x>y && x<5.0)|| y<2.0) ; printf(“Teste: %d\n”,teste); return 0; }

Comando condicional Queremos que o computador execute instruções diferentes, dependendo de alguma condição lógica. Ex: Cálculo das raízes de uma equação de segundo grau, precisa tratar em especial o caso de raízes imaginárias. Estrutura condicional simples Estrutura condicional composta

Estrutura condicional simples Permite a escolha de um grupo de instruções (bloco de comandos) quando uma determinada condição lógica é satisfeita. comando1; comando2; comando3; comandoN; expressão 1 comando1; if (expressão){ // bloco de comandos. comando2; comando3; : } comandoN;

Estrutura condicional composta Permite a escolha de um bloco de comandos, quando uma condição é satisfeita, e de um outro bloco quando a condição não é satisfeita. comandoX; if (expressão){ // bloco de comandos. comando1; : } else{ comandoA; comandoB; } comandoY; comandoX; 1 expressão comando1; comandoA; comando2; comandoB; comandoY;

Comando condicional Exemplos: int a,b; scanf(“%d %d”,&a,&b); if(a%2==0) printf(“Número par!\n”); else printf(“Número ímpar!\n”); if(a%b==0) printf(“a é divisível por b!\n”);

Comandos if-else ANINHADOS Comando condicional Exemplo: Maior entre três valores. int a,b,c; scanf(“%d %d %d”,&a,&b,&c); if(a>b && a>c) printf(“a é o maior\n”); else{ if(b>a && b>c) printf(“b é o maior\n”); else printf(“c é o maior\n”); } Comandos if-else ANINHADOS

Comando condicional Exemplo: Maior entre três valores. int a,b,c; scanf(“%d %d %d”,&a,&b,&c); if(a>b && a>c) printf(“a é o maior\n”); else if(b>a && b>c) printf(“b é o maior\n”); else printf(“c é o maior\n”);

Comando condicional Equivalências: if (exp1){ comando1; } else if (exp2){ if (exp1 || exp2){ comando1; }

Comando condicional Equivalências: if (exp1){ if (exp2){ } if (exp1 && exp2){ comando1; }

Comando condicional Problema: Comparação entre datas Escreva um programa que determina a data cronologicamente maior de duas datas fornecidas pelo usuário. Cada data deve ser fornecida por três valores inteiros onde o primeiro representa um dia, o segundo um mês e o terceiro um ano.

Comando condicional Problema: Comparação entre datas int d1,m1,a1; //Primeira data. int d2,m2,a2; //Segunda data. scanf("%d/%d/%d",&d1,&m1,&a1); scanf("%d/%d/%d",&d2,&m2,&a2); if(a1>a2 || (a1==a2 && m1>m2) || (a1==a2 && m1==m2 && d1>d2)) printf("Data1 é maior!\n"); else if(a1==a2 && m1==m2 && d1==d2) printf("Datas são iguais!\n"); else printf("Data2 é maior!\n");

Comando condicional Problema: Comparação entre datas int d1,m1,a1; //Primeira data. int d2,m2,a2; //Segunda data. scanf("%d/%d/%d",&d1,&m1,&a1); scanf("%d/%d/%d",&d2,&m2,&a2); if(a1>a2 || (a1==a2 && (m1>m2 || (m1==m2 && d1>d2)))) printf("Data1 é maior!\n"); else if(a1==a2 && m1==m2 && d1==d2) printf("Datas são iguais!\n"); else printf("Data2 é maior!\n");

Funções matemáticas Várias funções matemáticas estão disponíveis em C. Função Descrição sqrt raiz quadrada pow potência log10 logarítmo na base 10 sin seno cos cosseno tan tangente asin arco-seno round arredonda o valor Para utilizar essas funções precisamos incluir suas definições, usando #include <math.h>. Para compilar o programa temos que linkar com a biblioteca matemática acrescentando o parâmetro –lm: Ex: gcc teste.c –o teste –lm

Funções matemáticas Exemplo: #include <math.h> #define PI 3.14159265 int main(){ double a,b; a = 1.0; b = exp(a); // atribui 2.718282 para b. a = 4.0; a = pow(a, 3.0); // atribui 64.0 para a. b = log10(100); // atribui 2.0 para b. a = sin(PI/4.0); // atribui 0.707107 para a. return 0; }

Funções matemáticas a.x² + b.x + c = 0 Δ = b² - 4.a.c (discriminante) Problema: Raízes da equação do segundo grau a.x² + b.x + c = 0 Escreva um programa que, dados os coeficientes a, b e c da equação acima, calcula suas raízes e exiba o resultado na tela. O programa deve tratar raízes reais e imaginárias. Δ = b² - 4.a.c (discriminante) -b ± (Δ) 2.a x = ½

Problema: Raízes da equação do segundo grau #include <math.h> int main(){ float a,b,c,Delta,x1,x2,real,img; scanf("%f %f %f",&a,&b,&c); Delta = b*b - 4*a*c; if(Delta>=0.0){ // raízes reais. x1 = (-b + sqrt(Delta))/(2*a); x2 = (-b - sqrt(Delta))/(2*a); printf("raizes x1= %f, x2= %f\n",x1,x2); } else{ // raízes imaginárias. real = -b/(2*a); img = sqrt(-Delta)/(2*a); printf("raizes x= %f +- %fi\n",real,img); return 0;

Comando condicional Problema: Diferença entre horas Leia dois conjuntos de hora, minuto e segundo e calcule a diferença entre os dois. Por exemplo: Entre com o primeiro horário: 02h 10m 01s Entre com o segundo horário: 01h 20m 03s A diferença é: 0h 49m 58s

Operadores Lógicos Problema: Região e expressões lógicas Determine qual a expressão lógica que produz verdadeiro para qualquer ponto x e y na regiao hachurada e falso caso contrário. 10 5 10