Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários

Slides:



Advertisements
Apresentações semelhantes
PRÓ-INFORMÁTICA QUALIFICAÇÃO PROFISSIONAL
Advertisements

Pseudo-código: sintaxe
Introdução à Programação Engenharia da Computação
Estruturas de Controle
Programação de Computadores I Prof. Eduardo 2011
Pearson Education Slide 1. Pearson Education Slide 2 Capítulo 2 Criado por Frederick H. Colclough, Colorado Technical University Fluxo de Controle.
Universidade Federal de São Carlos Introdução à Linguagem C Comandos.
Introdução à Lógica de Programação (cont.)
Linguagem C Estruturas de Controle de Fluxos
Disciplina: AAM Profa. Ana Watanabe vol.3
Curso de PHP O comando // serve para comentário linear no php
Universidade Federal do Espírito Santo Programação II Expressões(operadores) Comandos Básicos Professora: Norminda Luiza.
Lógica de Programação Módulo II
Linguagem C Estruturas de Seleção.
Introdução a Computação e Cálculo Numérico
Aula prática 8 Ponteiros Monitoria de Introdução à Programação
Aula prática 6 Vetores e Matrizes
Aula prática 4 Laços Monitoria de Introdução à Programação
Introdução à Programação Estruturas de Repetição
Aula 5 - Operadores, Expressões e Funções Matemáticas
FTIN Formação Técnica em Informática
Universidade Federal de Alagoas – UFAL Centro de Tecnologia – CTEC
Seminário 1: Revisão de C
Estruturas de Dados Módulo 3 – Controle de Fluxo
Operadores Relacionais, Lógicos e comandos de condição
O Portal do Estudante de Computação
Expressões e Instrução de Atribuição
Operadores e Atribuições Capítulo 3
Aula 6 - Estruturas de Controle
Linguagem de Programação JAVA
Aulas 2 e 3 – Java – Prof. Marcelo Heitor # O método main e argumentos na linha de comando; # Fluxo padrão de entrada e saída; # A classe JOptionPane;
Programação Orientada a Objetos - Java Professor: Jean Carlo Mendes.
Algumas notas sobre a linguagem de programação C
Expressões: operadores aritméticos
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.
Introdução à Programação
Certificação Marco Antonio. Introdução A compreensão desse capítulo é muito importante pois trata de um assunto essencial em qualquer linguagem de programação,
Aula Prática 1 Monitoria IP/CC (~if669) (A partir do slide elaborado por Luís Gabriel)
Aula Prática 2 Monitoria IP/CC (~if669).
Introdução à Programação Aula Prática 2 Operadores e Comandos Condicionais Monitoria
Aula Prática 3 Funções Monitoria Introdução à Programação.
Fundamentos de linguagens de programação
Linguagem C.
CES-10 INTRODUÇÃO À COMPUTAÇÃO
Algoritmos.
ALGORITMIA. ALGORITMO Conjunto de instruções ou acções que ao serem executadas, permitirão realizar uma determinada tarefa.
Introdução à Programação
Curso Técnico em Informática Professor Igor Vale.
PROGRAMAÇÃO II – PARTE 3 Profa. Maria Augusta Constante Puget.
Desenvolvimento WEB Prof. Renato de Oliveira Bastos
Profa. Maria Augusta Constante Puget
Profa. Maria Augusta Constante Puget
Profa. Maria Augusta Constante Puget
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula /08/2011 Professor Leomir J. Borba-
C# - Unity Introdução.
PARADIGMAS DE LINGUAGENS EXPRESSÕES E INSTRUÇÕES DE ATRIBUIÇÃO
11 Revisão da Linguagem C Prof. Kariston Pereira Adaptado de Material gentilmente fornecido pelo Prof. Rui Tramontin (DCC/UDESC)
Linguagem de Programação 11 Estruturas de Decisão e Repetição. Prof. Luiz José Hoffmann Filho
Programação estruturada unidade 2
1 Programação – JAVA Unidade 3 – Loops e Lógica Prof. Aparecido V. de Freitas Curso de Ciência da Computação.
VARIÁVEIS Desenvolvido pelo Mestrando Rodrigo Moreira Barreto – VHLab (Virtual Humans Simulation Laboratory – PUCRS) 1 Desenvolvido por: Rodrigo Moreira.
Aula Prática 1 Monitoria IP/CC (~if669) (A partir do slide elaborado por Luís Gabriel)
Programação Computacional Profa. Madeleine Medrano
Engenharia de Controle e Automação Computação Para Engenharia Semana /08/2011 Professor Leomir J. Borba- –
Java Básico Lab Ruddá Beltrão | Cristian Costa.
Prof. Tertuliano Operadores Variáveis em C++.
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.
IF E ITERAÇÃO WHILE Dilvan Moreira (baseado no livro Big Java e T. Munzner)
 Linguagem do tipo script  Roda do lado do servidor – “server-side”  Suporte à vários BDs (MySQL, Postgres, Oracle, entre outros.)  Ferramentas grátis.
Transcrição da apresentação:

Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários Monitoria de Introdução à Programação

Roteiro Expressões Operadores Precedência Comandos de Decisão If – else if – else Switch Condição Ternária Comentários Dúvidas Exercícios

Combinação de Operadores e operandos, que representa um cálculo. Expressões Combinação de Operadores e operandos, que representa um cálculo. É avaliada seguindo regras de Precedência. Exemplo: “a = b + c” “i = i + 3” “Anos = Dias / 365.25”

Operadores Aritméticos Representam cálculos matemáticos, operando sobre os tipos integrais¹ e de ponto flutuante²: int, short, long, long long, char, etc. float, double long double, etc. Operador Ação Inteiros Ação Float + Adição - Subtração ++ Incremento por 1 -- Decremento por 1 * Multiplicação / Divisão com resto Divisão real % Resto de Divisão Erro de compilação = Atribuição

Operadores Aritméticos Adição e Subtração Operações binárias. São avaliadas como a soma/subtração dos dois operandos. Exemplo: “a + b” “1 + 1” “5 – 4” “50 – 8” Binário, no sentido desse slide, é sobre a aridade do operador.

Operadores Aritméticos Incremento e Decremento Operações unárias. São avaliadas como o valor do operador e modificam esse operador. Deve ser tomado cuidado com a ordem em que são usados: Se usado prefixado, o operador é modificado ANTES da operação ser avaliada. Se usado pós-fixado, o operador é modificado DEPOIS. “++x” será avaliado como “x + 1”, e x será igual a “x + 1” “x++” será avaliado como “x”, e x será igual a “x + 1”

Operadores Aritméticos Multiplicação e Divisão Operações binárias. São avaliadas como a multiplicação/divisão dos operandos. Com tipos integrais, a divisão tem resto. Com tipos de ponto flutuante, não. Exemplo: “6/4” (avaliado como “1”) “3.2/2” (avaliado como “1.6”)

Operadores Aritméticos Módulo Operação binária É avaliado como o resto da divisão integral dos operandos. Com tipos integrais, tem valor integral. Não existe para tipos de ponto flutuante. Exemplo: “6 % 2” (avaliado como “0”) “19 % 3” (avaliado como “1”)

Operadores Aritméticos Atribuição Operação binária O operando da esquerda é modificado para o valor do operando da direita. Exemplo: “var = 2” “i = 0” “tentativas = 40” “a = b + c”

Operadores Aritméticos Atribuição Podem ser abreviadas as atribuições que tem à direita uma expressão que contém o operando da esquerda. A abreviação fica na forma “variavel operador= expressão” Exemplo: “A += B” (idêntica a “A = A + B”) “i += 1” (“i = i + 1”) “cota /= 2” (“cota = cota / 2”)

Operadores Relacionais Representam Relações binárias sobre números, avaliadas como Verdadeiro ou Falso* *: Em C, Falso é representado pelo valor numérico “0”, e Verdadeiro por um outro valor qualquer. Existem as constantes TRUE e FALSE para esses valores. Operador Relação > Maior-que >= Maior-ou-igual-a < Menor-que <= Menor-ou-igual-a == Igual-a != Diferente de De novo, binário nesse slide significa aridade = 2.

Operadores Aritméticos Operações binárias Serão avaliados como Verdade, se os valores concordarem com a expressão. Caso contrário, serão avaliados como Falso. Exemplo: “3 > 4” (Falso) “5 >= -1” (Verdade) “i < 100” (Depende de i)

Operadores Aritméticos Operações binárias Avaliam se os operandos são iguais ou diferentes. Exemplo: “A == B” (Depende das variáveis) “i != 0” (Depende de i) “5 != 7” (Verdade) “200 == 3” (Falso) Explicar o problema de se avaliar “var == TRUE”. Ou perguntar pra um aluno, pra dinamizar a aula.

“A && B” (Depende de A e B) Operadores Lógicos Operam sobre valores Verdadeiro ou Falso, e são avaliados também como Verdadeiro ou Falso. E (AND) será Verdade se os dois operandos forem Verdade. OU (OR), se algum dos dois forem Verdade. NÃO (NOT), se o operando for Falso. Exemplo: “A && B” (Depende de A e B) “!FALSE” (Verdade) Operador Relação && E (AND) || OU (OR) ! NÃO (NOT)

Precedência Ao ser avaliadas, as Expressões seguem uma sequência estabelecida para avaliar cada sub-expressão. Essa sequência serve para eliminar ambiguidades na avaliação de expressões. Exemplo: “A + B * C” (“B * C” Será avaliado primeiro) “rodas = carros * 4 + bicicletas * 4” (as multiplicações serão avaliadas, depois a soma, e por ultimo a atribuição)

Precedência Sequência Avaliados Antes Desempate var++ var-- () [] . -> Esquerda para Direita ++var --var + - ! ~ (cast) * & Direita para Esquerda * / % + - < <= > >= == != && || Condição Ternária ( c?t:f) Atribuições ( =, +=, etc.) Avaliados Depois

Cada um é melhor para um tipo de tarefa. Comandos de Decisão Usados para definir o que deve ser feito, levando em conta condições definidas pelo programador. Existem 3 tipos: If – Else if – Else. Switches. Condição ternária. Cada um é melhor para um tipo de tarefa.

If – Else if - Else Funciona na forma: Em C: aquilo; faça aquilo; if (isto) aquilo; else if (isso) aquela outra coisa; else if (isso aqui) essa coisa aqui; else essa última coisa; Funciona na forma: Se (isto) é verdade faça aquilo; Se não é, e (isso) é verdade, faça aquela outra coisa; Se não é, e (isso aqui) é verdade, faça essa coisa aqui; Se nenhum, faça essa última coisa;

If – Else if - Else Se for necessário executar mais de um comando, podem ser usadas chaves “{ }”: if(a > b) { isso(); aquilo(); } else outra_coisa(); a++;

As condições “else if” e “else” são opcionais. If – Else if - Else As condições “else if” e “else” são opcionais. Apenas um dos blocos de comandos será executado. Se uma das condições for verdade, as seguintes serão ignoradas. Exemplo: if(TRUE) isso(); else aquilo(); “isso()” sempre será executada, pois “TRUE” sempre é avaliado como verdade, fazendo com que “aquilo()” nunca seja executado.

Switch Em C: switch (isto) { case isso: aquilo; break; case isso aqui: aquilo alí; default: essa última coisa; break } Usado quando a decisão depende que uma única variável tenha valores arbitrários: Caso (isto) seja isso: faça aquilo; pare; seja isso aqui: faça aquilo alí; se nenhum desses: faça essa última coisa;

O comando “default” é opcional. Switch O comando “default” é opcional. O comando “break” é usado para sair do bloco de código. Se não for usado, o programa continua a executar a sequência, “invadindo” outro “case” do switch*. Exemplo: switch (colocação) { case 1: comemorar(); case 15: chorar(); break; } *: Isso pode ser usado a seu favor, mas atinge a legibilidade do código. Se “colocação” for “1”, “comemorar()” será executado, e o programa continuará e executará “chorar()”. Se “colocação” não for nenhum dos dois, como não há condição “default”, nada é feito.

isto ? Isso() : aquilo(); Comando Ternário Serve para decisões pequenas, do tipo: isto é verdade? Faça isso. Se não, faça aquilo. Em C: isto ? Isso() : aquilo(); Pode ser usado para escolher o lado direito de uma atribuição. Usar somente com decisões pequenas, pois pode dificultar a leitura do código. Exemplo: “A = b > a ? b : a;” “i > j ? i /= j : j /= i;”

Comentários Servem para anotar coisas relevantes ao código, de forma a explicar certos trechos de código ou deixar informação relevante. São ignorados pelo compilador, não afetando de forma alguma no programa compilado. São extremamente importantes em projetos maiores, onde colegas, supervisores ou até você mesmo podem esquecer os detalhes daquela implementação específica.

Em C existem dois tipos: Comentários Em C existem dois tipos: Em linha: Assinalado por “//”. Tudo na linha após “//” é ignorado. Exemplo: If (a > b) //se isso for verdade, isso(); // faz isso, Else // se não, algo deu errado, avisa(); //um aviso será dado Em bloco: Assinalado por “/*” e “*/” Tudo entre “/*” e “*/” é ignorado. /* essa função faz isso e aquilo, E deve ser tomado cuidado para não fazer aquela outra coisa. */ Int faz_isso(int a, int b); Falar dos comentários de documentação brevemente.

Dúvidas?

Exercício 1 Escreva um programa que recebe um inteiro positivo e imprime "sim" se o inteiro for um múltiplo de 3 e "não" caso contrário. MUDAR OS EXERCICIOS!!!!

Exercício 2 Faça um programa que receba 3 números do usuário e imprima qual é o maior e qual é o menor número.

Exercício 2 Fazer um programa que mostre num menu as opções: 1.SOMA 2.SUBTRAÇÃO 3.MULTIPLICAÇÃO 4.DIVISÃO e em seguida, receba 2 números e realize a operação de acordo com a opção do usuário. Imprima o resultado na tela.