Aula 14 ------- Slides: ci1055_c8_p3.pdf ci1055_c8_p4.pdf ci1055_c8_p5.pdf ci1055_c8_p6.pdf 1. Introduzir passagem de parâmetro por referência: - como fazer uma FUNÇÃO que transforma segundos em horas, minutos e segundos? - função retorna ERRO se quantidade de segundos for negativa. 2. Introduzir a idéia de procedimentos: - problema anterior, mas sabendo que a quantidade de segundos é >= 0. Ex: troca(a, b) Diferença de função e procedimentos: 1) sobre a chamada: - função: retorna um valor (DEVE ser colocado em uma expressão do while, if, write, etc.) - procedimento: NÃO retorna valor. NÃO pode ser colocado em uma expressão. 2) utilização: - se há somente um valor a ser calculado ==> função - se há mais de um resultado a ser calculado ==> procedimento Exceção: exemplo acima, quando é preciso retornar se o cálculo foi feito com sucesso ou se houve um erro. 3) Passagem de parâmetro: valor: parâmetro de ENTRADA para a função/procedimento referência: parâmetro de SAÍDA ou de ENTRADA/SAÍDA da função/procedimento Exercícios 1) (converteSeg) Escrever um procedimento que converte segundos em horas, minutos e segundos. 2) (tempoJogo) Escreva uma funcão chamada tempoJogo() que recebe 4 parâmetros inteiros, cada par de inteiros representando dois horários (horas e minutos). A funcão deve devolver o período em horas e minutos decorrido entre os dois horários. 3) (menorMaiorPrimo) Escrever um procedimento que, dado um inteiro N, obtenha o menor e maior primo que divide N. Se N for primo os valores retornados devem ser zero. Caso exista apenas um divisor primo o menor e maior devem conter o mesmo valor. 4) (ordena3) Escreva um procedimento que receba três numeros N1, N2, N3 e coloque-os em ordem crescente. 5) (somaFracao.cpp) Escreva um programa que leia 2 frações e escreve a sua soma simplificada na forma fracionária. Exemplo: 14 / 5 + 12 / 10 = (14*10 + 12*5)/(5*10) = 200/50 = 4/1 6) (eq2grau) Função que calcula as raizes de uma equação de segundo grau. Função retorna a quantidade de raizes.