Engenharia Química e Engenharia de Alimentos
--------------------------------------------------------------------------------------------
AULA 2 (05-03-2018)
Mostrando as estruturas de raciocínio lógico
(SE-ENTÃO, SE-ENTÃO-SENÃO, REPITA-ATÉ)
TAREFA PRÁTICA 1 -
Algoritmo TROCA
Entrega 19/03/2018
algoritmo "TROCA"
var A, B: inteiro
inicio
leia (A, B)
T <- A
A <- B
B <- T
escreva (A, B)
fimalgoritmo
EXEMPLO
Aplicando Estruturas Lógicas)
Considere 5 pessoas, sendo fornecido sua ALTURA e sua IDADE. Fazer um
algoritmo que calcule o numero de pessoas acima de 60 anos, e MEDIA das
alturas das pessoas. Escreva o numero de pessoas acima de 60 e a média das
alturas.
algoritmo "IDADES-ALTURAS"
var IDADE, CON60 : inteiro
ALTURA, SOMA_ALTURAS, MED_ALTURAS : real
inicio
CON60 <- 0
SOMA_ALTURAS <- 0,00
CONT <- 0
enquanto CONT < 5 faca
leia
(IDADE, ALTURA)
se
IDADE > 60 entao
escreval ("PESSOA IDOSA = ", IDADE)
CON60 <- CON60 + 1
senao
SOMA_ALTURAS <- SOMA_ALTURAS + ALTURA
CON_ALTURAS <- CON_ALTURAS + 1
fimse
CONT <-
CONT + 1
fimenquanto
escraval ("A soma das alturas =
", SOMA_ALTURAS)
escreval ("O número de pessoas idosas
= ", CON60)
MED_ALTURAS <-
SOMA_ALTURAS/CON_ALTURAS
escreval("A média das alturas é = ",
MED_ALTURAS)
fimalgoritmo
AULA 3 (12-03-2018)
Conhecendo o VISUALG 3.0 (Exemplos no arquivo Modelo Didático
de Computador)
VISUALG
3.0 Web Site (Windows)
Manual do VISUALG
Exemplos de declaração de tipos: inteiro,
real,
caractere (para
variáveis ou constantes que assumem valores constituidos de caracteres
alfanuméricos, com letras e números) e
lógico (para variáveis ou
constantes que assumem valores lógicos VERDADE/FALSO)
Exemplos: var a : inteiro
valor1, valor2 : real
vet : vetor [1..10] de real
matriz : vetor [0..4,8..10] de inteiro
nome_do_aluno : caractere
sinalizador : logico
FLAG : inteiro ou FLAG :
caractere ou FLAG :
real ou FLAG : logico
Qualquer dúvida sobre o Visualg podeser tirada no manual disponibilizado
nest página, no início dadisciplina.
Lista 1_Visualg (Aplicando
Estruturas Lógicas
I - Algoritmos simples)
Entrega dia 23-04-2018, juntamente com a PROVA 1.
Pode ser entregue manuscrita ou como documento impresso, contendo um arquivo
cujo conteúdo são os algoritmos simples das questões.
EXEMPLO VISUALG 3.0: Você pode visualizar o ambiente VISUALG 3.0
no seu Windows, executando este exemplo de algoritmo. Tire suas conclusões.
algoritmo "exemplo1"
// Um algoritmo de nome "exemplo1"
// declarar as variáveis do programa
var dinheiro : Real
sobrou : Real
custo_balas : Real
// aqui começa o programa
Inicio
// Atribuindo variáveis
dinheiro <- 3,00
sobrou <- dinheiro
custo_balas <- 2,00
// Escrevendo o conteudo entre ".."
escreval ("Ir ao mercado... ")
// Exemplo uma estrutura lógica se-entao-senao
se dinheiro > 0 entao
escreval ("comprar balas" )
sobrou <- dinheiro - custo_balas
senao
escreval ("Nao comprar balas")
fimse
// Escreve o que está entre os parênteses o que contém a frase entre ".."
// e mais o valor da variável sobrou. O cursor muda de linha.
escreval("Sobrou em dinheiro : ",sobrou)
escreval("Ir para casa")
fimalgoritmo
TAREFA PRÁTICA 2
(Variáveis Simples, Estrutras Lógicas de seleção e repetição)
Entrega 19/03/2018
Considere a sua turma da disciplina de Introdução à
Ciência da Computação que você faz parte. Use para os dados de
entrada, para cada
aluno: a sua matricula M (inteiro) e as notas das provas P1
(real) e P2 (real). Suponha que existam 5 tarefas práticas TP1, ...., TP5. Entre com as notas
das tarefas práticas TP1, ... TP5.
Para confirmar o que digitou, escreva as mensagens e as notas de entrada.
Faça algoritmo que:
a) Leia o número N de
alunos da turma. N deve ser fornecido via teclado. Suponha um valor de N
inteiro. O algoritmo deve verificar se o aluno foi aprovado ou reprovado.
b) Considere
a média aritmética
ponderada das provas de cada aluno: MP = (
P1 +
P2 )/2.
Considere que a média das tarefas práticas é MT = (0.20*TP1 + ... +
0.20*TP5), supondo 5 tarefas práticas.
A média final MF = (0.4*MP + 0.6*MT)/2.0.
Se 9.0 <= MF <= 10.0, então, o algoritmo deve escrever uma mensagem
"ALUNO APROVADO". Escreva MF.
Se 7.5 <= MF < 9.0, então, o algoritmo deve escrever uma mensagem
"ALUNO APROVADO". Escreva MF.
Se 6.0 <= MF < 7.5, o algoritmo deve escrever uma mensagem
"ALUNO APROVADO". Escrva MF.
Se 3.0 <= MF < 6.0 então o algoritmo deve escrever uma mensagem "ALUNO
EM RECUPERAÇÂO".
O aluno deverá fazer outra prova para recuperação, Obtendo uma nota NR.
Entre com esta nota NR, e a
nota final será calculada como
MF = (MP + NR)/2. Se
0.0 <= MF < 6.0, então, o algoritmo deve escrever uma mensagem
"ALUNO REPROVADO".
Se
0.0 <= MF < 3.0, então, o algoritmo deve escrever uma mensagem
"ALUNO REPROVADO".
c) O algoritmo deve
fornecer ao final, a média aritmética MEDFINAL das notas MF dos
alunos da turma. Deve escrever a mensagem identificando a média da turma, "A
MEDIA DA TURMA É = " .
Submeta, individualmente, no Moodle.
AULA 4 (19-03-2018)
Estruturas Lógicas - Utilizando repetição com
enquanto-faça
e FLAG
(a) Estrutura enquanto-faça.
(b) Programar usando variável FLAG.
Submeta, individualmente, seu programa no Moodle.
TAREFA PRÁTICA
3
(Variáveis Simples, Estrutras Lógicas de seleção e repetição)
Continuação da TAREFA 2.
(a) Inserir a programação dos
conceitos e da média das notas MF da turma.
(b) Considerar e programar para 3 turmas existentes, usando FLAG para turma
e um FLAG para alunos processados.
Submeta, individualmente, seu programa no Moodle.
Entrega 27/03/2018
AULA 5 (26-03-2018)
(a) Dimensionando vetores, matrizes
(a) Sequência de Fibonacci (operações
aritméticas com índices).
(b) Encontrando o maior elemento de um conjunto.
(c) Encontrando o menor elemento de um conjunto.
TAREFA PRÁTICA T4a
Faça um algoritmo para ler e armazenar em um vetor a temperatura média de
todos os dias do ano.
Calcular e escrever:
a) Menor temperatura do ano
b) Maior temperatura do ano
c) Temperatura média anual
d) O número de dias no ano em que a temperatura foi inferior a média anual
Postar, individualmente, no Moodle até 27/03/2018
Exemplo: ORDEM CRESCENTE
Ordem Crescente
Exemplo: ORDEN DECRESCENTE
Ordem Decrescente
TAREFA PRÁTICA 5a
(Variáveis Indexadas)
Exemplo: ORDEM ALFABETICA
Ordem Alfabetica
Submeter individualmente no Moodle
AULA 6 (02-04-2018)
(a) Dimensionando matrizes
(b) Leitura de matrizes
(c) Escrita de matrizes
(d) Operando sobre linhas e colunas
(e) Soma de Matrizes (explicação)
(f) Multiplicação Matrix x Vetor (explicação)
(g) Multiplicação Matriz x Matriz (explicação)
Leitura e Escrita de Matriz Formatada
#include <stdio.h>
#define DIM 3
// Teste a escrita de uma matriz[3][3]
int main()
{
int matriz[DIM][DIM];
int linha, coluna;
// lendo na Matriz
for (linha = 0 ; linha < DIM ; linha++)
for (coluna = 0 ; coluna < DIM
; coluna++)
{
printf("Elemento [%d][%d]: ", linha+1, coluna+1);
scanf("%d", &matriz[linha][coluna]);
}
// imprimindo a matriz na tela
for(linha = 0 ; linha < DIM ; linha++)
{
for(coluna = 0 ; coluna < DIM ;
coluna++)
printf("%5d", matriz[linha][coluna]);
printf("\n"); //após cada linha ser
impressa, um salto de linha
}
system("pause");
return 0;
}
=================================================================================================
UTILIZANDO AMBIENTE DEV-C++ Dev-C++
Web Site Download
DEV-C++
Introdução ao Dev-C++ (com nossa ferramenta de aula)
Curso Básico de Linguagem C ( Blog por Ricardo
Lüders )
Curso Básico de Linguagem C (página da disciplina)
Livro - C
Completo e Total ( Herbert Schildt )
Programar em C (Wikibooks)
A
Linguagem C (apostila da
UTFPR - página da disciplina)
Deitel - C Como Programar (Você pode utilizar o livro do
Deitel para consultar e programar exemplos na linguagem C.)
O que são as Diretivas de Pré-Processamento:
#include <stdio.h>
#include <stdlib.h>
Explicação return 0
em C
Isso serve para que o programa diga a quem (uma rotina do sistema) o chamou
(chamou o main() ) que ele retornou sem erro. Na linguagem C o zero
significa false e o um significa true. Assim, supondo que eu tenha um
programa que chame uma rotina em C. Essa rotina executa e no final ela me
retorna um número. Para o meu programa que chamou, com essa rotina, eu posso
fazer uma lógica baseada nesse retorno. Se retornou zero, eu sei que foi
tudo bem e, marco como sucesso. Se retornar 1, eu sei que deu erro. Então
posso notificar ao sistema ou chamar alguma outra rotina. Na teoria,
qualquer número retornado diferente de zero é um retorno não esperado, ou
seja, um erro e poderá ser tratado, se for o caso.
#include <stdio.h>
#include <stdlib.h>
... ...
<tipo> main() {
.... ....
// Evita que a janela do prompt do Windows se
feche.
system("pause");
return 0
}
10 Exemplos Básicos de
Programas em C
Exemplo1 - Atribuição e Saída de Dados
#include<stdio.h>
#include <stdlib.h>
int main(void)
{ int N=2;
char Letra ='a';
float X = 2.5;
double Z=3.5e-10;
printf("O primeiro valor impresso eh uma constante decimal %d \n",15);
printf("O valor da primeira variavel declarada e inicializada eh %d \n",N);
printf("O valor da segunda variavel declarada e inicializada eh %c
\n",Letra);
printf("O valor da primeira variavel de ponto flutuante (prec. Simples) eh
%f \n",X);
printf("O valor da segunda variavel de ponto flutuante (prec. Dupla) eh %f
\n",Z);
printf("O valor da segunda variavel de ponto flutuante (prec. Dupla) eh
%.11f \n",Z);
printf("O valor da expressão que soma 4 ao valor de N eh %d\n", N+4);
printf("As variaveis utilizadas (declaradas e inicializadas) foram N=%d,
Letra=%c, X=%f, Z=%.11f \n", N,Letra,X,Z);
system("pause");
return 0;
}
Exemplo2 - Declaração, Entrada por teclado, Saida de Dados
#include <stdio.h>
#include <stdlib.h>
int main (void)
{
//declaração de variáveis do tipo inteiro
int a, b, soma;
printf("Digite um numero inteiro: ");
scanf("%d", &a); //recebe um inteiro e armazena na variável a
printf("Digite um numero inteiro: ");
scanf("%d", &b); //recebe um inteiro e armazena na variável b
soma = a + b;
//Efetua adição de a com b e armazena na variável soma
printf("O valor da soma = %d\n", soma); //Mostra mensagem com o resultado
system ("pause");
return(0);
}
Exemplo3 - Função e Recursão
#include <stdio.h>
#include <stdlib.h>
int fat (int n)
{
int res = 1;
while (n > 1) {
res = res * n;
n--;
}
return res;
}
int main ()
{
int n, res;
printf("Entre com o valor de n: ");
scanf("%d", &n);
res = fat(n+1) / (n+1);
printf("Fatorial de %d = %d\n", n, res );
system("pause");
return 0;
}
Exemplo1 - Atribuição e Saída de Dados
#include<stdio.h>
#include <stdlib.h>
int main(void)
{ int N=2;
char Letra ='a';
float X = 2.5;
double Z=3.5e-10;
printf("O primeiro valor impresso eh uma constante decimal %d \n",15);
printf("O valor da primeira variavel declarada e inicializada eh %d \n",N);
printf("O valor da segunda variavel declarada e inicializada eh %c
\n",Letra);
printf("O valor da primeira variavel de ponto flutuante (prec. Simples) eh
%f \n",X);
printf("O valor da segunda variavel de ponto flutuante (prec. Dupla) eh %f
\n",Z);
printf("O valor da segunda variavel de ponto flutuante (prec. Dupla) eh
%.11f \n",Z);
printf("O valor da expressão que soma 4 ao valor de N eh %d\n", N+4);
printf("As variaveis utilizadas (declaradas e inicializadas) foram N=%d,
Letra=%c, X=%f, Z=%.11f \n", N,Letra,X,Z);
system("pause");
return 0;
}
Exemplo2 - Declaração, Entrada por teclado, Saida de Dados
#include <stdio.h>
#include <stdlib.h>
int main (void)
{
//declaração de variáveis do tipo inteiro
int a, b, soma;
printf("Digite um numero inteiro: ");
scanf("%d", &a); //recebe um inteiro e armazena na variável a
printf("Digite um numero inteiro: ");
scanf("%d", &b); //recebe um inteiro e armazena na variável b
soma = a + b;
//Efetua adição de a com b e armazena na variável soma
printf("O valor da soma = %d\n", soma); //Mostra mensagem com o resultado
system ("pause");
return(0);
}
Exemplo3 - Função e Recursão
#include <stdio.h>
#include <stdlib.h>
int fat (int n)
{
int res = 1;
while (n > 1) {
res = res * n;
n--;
}
return res;
}
int main ()
{
int n, res;
printf("Entre com o valor de n: ");
scanf("%d", &n);
res = fat(n+1) / (n+1);
printf("Fatorial de %d = %d\n", n, res );
system("pause");
return 0;
}
Tarefa Prática T5b -
Matrícula de aluno
Suponha que uma escola utilize, como código de matrícula, um número inteiro
no formato AASDDD, onde:
• Os dois primeiros dígitos, representados pela letra A, são
os dois últimos
algarismos do ano da matrícula;
• O terceiro dígito, representado pela letra S, vale 1 ou 2,
conforme o aluno
tenha se matriculado no 1º ou 2º semestre;
• Os quatro últimos dígitos, representados pela letra D,
correspondem à ordem
da matrícula do aluno, no semestre e no ano
em questão.
Crie um algoritmo que leia o número de matrícula de um aluno e imprima o ano
e o semestre em que ele foi matriculado.
TAREFA
6a - Algoritmo para multiplicação de matrizes
- Programar em C
TAREFA 6b - Ler matrizes A e B. Gera Matriz (+ - * /) (PROVA 2)
TAREFA 6c - Integração de função com método dos retângulos (PROVA 2)
Antes, esboce no papel a multiplicação de matrizes genéricas
programa multiplica_matrizes;
matriz mat1, mat2,
mat3;
inteiro linha,
coluna, i, acumula;
"leia mat1";
"leia mat2";
"verifique se mat1
é compativel com mat2";
para linha de 1 até
"numero de linhas de mat1" faça
para
coluna de 1 até "numero de colunas de mat2" faça
acumula=0;
para i de 1 até "numero de colunas de mat1" faça
acumula=acumula+mat1[linha][i]*mat2[i][coluna];
fimpara;
mat3[linha][coluna]=acumula;
fimpara;
fimpara;
imprima mat3;
fim programa;
Mais
Vetores e Matrizes
PROVA 1 (ENTREGAR SEGUNDA-FEIRA, 07/05/2018)
Funções Definidas pelo Programador
===============================================================================
A linguagem de programação C permite
que os parâmetros sejam
passados para as funções de
duas maneiras, por valor e por referência. Na passagem por
valor, como o próprio nome diz, uma expressão pode ser utilizada na
chamada. O valor da expressão é calculada, e o valor resultante é passado
para a execução da função.
https://www.ime.usp.br/~elo/IntroducaoComputacao/Funcoes%20passagem%20de%20parametros.htm
Passagem por Valor
É a forma mais comum utilizada para passagem de parâmetros.
Por exemplo, considere a família de funções trigonométricas, como seno,
cosseno, etc. A função seno, por exemplo, recebe o valor de um ângulo (um
número real) e devolve o seno desse ângulo. Se tivermos as funções seno e
cosseno, podemos facilmente definir uma função tangente.
Por exemplo, considere que nós temos disponíveis os seguintes protótipos
para as funções seno e cosseno:
float seno (float angulo);
float cosseno (float angulo);
Conhecendo esses protótipos, podemos escrever a função tangente da
seguinte forma:
float tangente (float angulo)
{
float s, c;
s = seno(angulo);
c = cosseno(angulo);
return s/c;
}
=================== Exemplo pg. 48
====================================
#include <stdio.h> /* este arquivo contém o protótipo
da função printf*/
void test_num(int); /* protótipo
da função test_num*/
void main(void) {
char L='A';
float x=2.5f;
int A=2, B=3;
printf( "imprimindo %d, %c, %f e %i",
10, L, x, A+B );
test_num(A);
test_num(B);
}
void test_num(int X)
{
if (X%2==0) printf("%i é par", X);
else printf("%i é impar", X);
}
======================= Exemplo pg.49
==================================
#include <stdio.h> /* este
arquivo contém o protótipo da função printf*/
int MDC(int,int); /*
protótipo da função MDC*/
void main(void) {
int v1, v2,
MaxDivCom;
scanf("%i
%i",&v1,&v2);
MaxDivCom =
MDC(v1,v2);
printf("O maximo
divisor comum entre %i e %i e´ %i", v1,v2,MaxDivCom);
}
int MDC(int u, int v)
/*início da definição da função MDC*/ {
int temp;
while(v!=0) {
temp = u%v;
u =v;
v = temp;
}
return(u); /* Este comando return(u)
equivale a fazer MCD = u */
}
====================Exemplo4 - Função e Passagem de vetor como
parâmetro============
#include <stdio.h>
#define TAM_MAX 10
void ImprimeVet (int Tam, int Vet[TAM_MAX])
{
int i;
for (i=0; i< Tam; i++)
{
printf("%d\n", Vet[i]);
}
}
int main()
{
int Notas[TAM_MAX];
ImprimeVet(TAM_MAX, Notas); // Passa o vetor 'Notas' como
// parâmetro
system("pause");
return 0;
}
=========================================================================
Escopo de Variáveis (Globais e
Locais) ver pag. 50
Escopo de variáveis
O escopo de uma variável é definido pelas regiões (blocos) onde a variável
pode ser utilizada. Por exemplo, as variáveis declaradas no início do corpo
da função main podem
ser utilizadas em qualquer lugar dentro da função main,
porém apenas DENTRO da main,
ou seja, não podem ser utilizadas em outra função. Variáveis declaradas no
mesmo escopo precisam ter nomes diferentes, mas nomes podem ser
"reaproveitados" em outros escopos. Vejamos o exemplo abaixo:
#include <stdio.h>
#include <stdlib.h>
int fat (int n)
{
int res = 1;
while (n > 1) {
res = res * n;
n--;
}
return res;
}
int main ()
{
int n, res;
printf("Entre com o valor de n: ");
scanf("%d", &n);
res = fat(n+1) / (n+1);
printf("Fatorial de %d = %d\n", n, res );
system("pause");
return 0;
}
Observe que a função main e fat possuem
ambas variáveis com o nome res,
e que main possui
uma variável chamada n,
que é o nome do parâmetro da função fat.
Procure não se confundir, pois apesar do mesmo nome, elas são variáveis
diferentes. Para a função fat,
o parâmetro n funciona
como uma variável local (ou seja, válida dentro da função apenas),
juntamente com a variável res.
A diferença é que o parâmetro n recebe
seu valor no instante da chamada. Vamos simular esse programa para a entrada
2.
O programa sempre inicia sua execução pela função main,
que solicita a entrada de um valor para n.
A linha res = fat(n+1)/(n+1); chama
a função fat. Como n=2
(entrada do programa), então o valor 3 é
passado para a função, ou seja, esse valor é atribuido ao parâmetro n e
a função fat começa
a executar seu corpo. O fatorial de 3 é calculado e o valor 6 é atribuido à
variável res. Observe
que o parâmetro n é
utilizado como variável, o que é permitido pela linguagem C. Esse parâmetro
é decrementado até 1, porém, como são variáveis diferentes, o valor de n dentro
de main continua
sendo 2. Ao terminar o chamado, a função fat devolve
o valor 6 ao lugar onde foi chamado dentro da função main,
e o programa continua para calcular o valor da expressão fat(n+1)/(n+1).
Como o valor de n continua
2, o resultado da divisão é ..... .
Esse valor é atribuído à variável res.
O último printf imprime
o valor de n e res,
que correspondem aos valores 2 e 2, respectivamente.
AULA 7 (09-04-2018)
EQA-023
AULA 8 (16-04-2018)
EQA023
AULA 9 (23-04-/2018)
Prova 1
AULA 10 (30-04-2018)
Sala EQA023
Entrega da Prova de Recuperação
LIICTC sala 8
AULA 11 (07-05-2018)
LIICTC sala 8
AULA 12 (14-05-2018)
LIICTC sala 8
AULA 13 (21-05-2018)
Não houve. Paralisação do Caminhoneiros
TAREFA 7 -
Entregar até 24/06/2018
Fazer um programa MatLab ou na linguagem C , para calcular as raízes de uma
equação do segundo grau
A.X**2 + B.X + C = 0, onde DELTA = B**2-4.A.C. Veja o caso DELTA > 0, com
duas raízes reais iguais; veja o caso DELTA < 0, com duas raízes reais
iguais; veja o caso DELTA < 0, duas raízes complexas. Executar para três
equações.
AULA 14 (28-05-2018)
TAREFA 8a e 8b
Lista Mais Funções
- A entrega desta lista até
25/06,
executada e mostrada funcionando. Vale até
0,50 caso apenas 1 programa seja efeito, e vale até 1,0 na media final no
Moodle para aqueles que fizerem os dois programas. Trata-se de
exercícios sobre funções, mostrando como se calcula raízes de equações
algébricas ou transcendentes. A matéria será vista na próxima disciplina de
Cálculo Numérico. O programa já está feito em MatLab, bastando entender e
executar. Pode ser feita em C ou qualquer linguagem que desejem.
Para a obtenção dos pontos acima, usar o
Laboratório Virtual de Programação do Moodle.
AULA 15 (04-06-2018)
Aula 1 - Alunos da Eng. Quimica, Alimentos e
Sanitária. (14:00-15:00) MatLab
(4 capítulos podem ser obtidos na fotocópia do Hall do CTC, em nome
do Prof. Bosco (INE 5201)
Aula 2 - Alunos da Eng. Mecânica, Elétrica e Eletrônica. (15:00-16:00)
Linguagem C (Ponteiros)
AULA 16 (11-06-2018)
Atendimento - Das 14:00 às 16:00, Sala de Aula EQA-023
Atendimento - Após 16:00 até 19:00
Sala 515-INE
TAREFA 9a - Definição de funções e
Matrizes -
Entregar 24/06/2018 (Eng. Quimica, Eng.
Alimentos, Eng. Sanitária)
(a) Escreva uma função que lê, linha a linha, uma matriz real Amxn
(b)
Escreva uma função que calcula a soma dos elementos da linha i de
uma matriz real Amxn.
(c)
Escreva uma função que calcula o produto dos elementos da coluna j de
uma matriz real Amxn.
TAREFA 9b -
Ponteiros em C
-
Eng. Mecânica, Elétrica e Eletrônica
Estudar e executar todos os exemplos sobre
Apontadores / Ponteiros / Pointers da
turma 02202A
Bibliografia: http://www.inf.pucrs.br/~pinho/PRGSWB/Ponteiros/ponteiros.html (Prof.
Márcio Sarroglia Pinho)
Na página da turma 02202A, todos os exemplos estão corrigidos.
AULA 17 (18-06-2018)
TAREFA 10a -
Entregar até 02/07/2018
(Eng. Quimica, Eng. Alimentos, Eng. Sanitária)
Faça uma função MAX que recebe como entrada
um inteiro n, uma matriz inteira Anxn e
devolve três inteiros: k, Lin e Col.
O inteiro k é um maior elemento de A e
é igual a A[Lin,Col].
Exemplo:
TAREFA 10b - Passagem de parâmetros
por referência -
Entregar até 02/07/2018
(Eng. Elétrica, Eng. Eletrônica, Eng. Mecânica)
Sempre que possível é recomendável utilizar a forma de passagem por valor,
para evitar "efeitos colaterais", mas há situações onde esses efeitos são
desejáveis, por exemplo, quando desejamos criar uma função que retorne mais
de um valor. As funções que vimos até agora (incluindo as predefinidas,
seno, cosseno, potencia, exponencial, ...) só devolvem um valor. Mas outras
funções, que trabalhem com, por exemplo, números complexos da forma (a +
bi), precisam retornar 2 valores (a e b). Por exemplo, tente escrever uma
função que retorne o quadrado de um número complexo. Fazer uma função para
retornar a parte real, e a parte imaginária. C permite criar uma função que
retorne os dois valores simultaneamente. Use ponteiros.
Representação de Números (Inteiros, Reais de Ponto Flutuante, Em forma de
potência) (todos os alunos)
Outros Paradigmas de Programação (Eng. Mecânica, Eng. Elétrica
e Eng. Eletrônica)
AULA 18 (25-06-2018)
Prova 2
Questões sobre as tarefas práticas propostas.
Para Eng. Sanitária (Funções e MatLab)
Para Eng. Mecânica, Elétrica e Eletrônica (Funções e Ponteiros)
AULA 19
(02-07-2018)
Prova de Recuperação
AULA 20 (09-07-2018) Resultados Finais
=================================================================================================
|