aula 03: - funções e procedimentos - vetores e...
TRANSCRIPT
![Page 1: Aula 03: - Funções e procedimentos - Vetores e matrizesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/prog2018/aula_03_… · Declara uma matriz M de 100 linhas com 200 colunas](https://reader033.vdocuments.net/reader033/viewer/2022053116/6095be370cf3c975ac5d99b4/html5/thumbnails/1.jpg)
1
Aula 03:
- Funções e procedimentos
- Vetores e matrizes
MCTA028 – Programação Estruturada
Prof. João Henrique Kleinschmidt
Material elaborado pelo Prof. Jesús P. Mena-Chalco
3Q-2018
![Page 2: Aula 03: - Funções e procedimentos - Vetores e matrizesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/prog2018/aula_03_… · Declara uma matriz M de 100 linhas com 200 colunas](https://reader033.vdocuments.net/reader033/viewer/2022053116/6095be370cf3c975ac5d99b4/html5/thumbnails/2.jpg)
2
Funções
![Page 3: Aula 03: - Funções e procedimentos - Vetores e matrizesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/prog2018/aula_03_… · Declara uma matriz M de 100 linhas com 200 colunas](https://reader033.vdocuments.net/reader033/viewer/2022053116/6095be370cf3c975ac5d99b4/html5/thumbnails/3.jpg)
3
Funções (modularidade)
Consiste em dividir uma atividade em componentes, rotulados e endereçáveis
Uma função devolve um valor.
A função invocadora (main) é suspensa quando executar a outra função.
As variáveis locais nãosão conhecidas fora
da função
![Page 4: Aula 03: - Funções e procedimentos - Vetores e matrizesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/prog2018/aula_03_… · Declara uma matriz M de 100 linhas com 200 colunas](https://reader033.vdocuments.net/reader033/viewer/2022053116/6095be370cf3c975ac5d99b4/html5/thumbnails/4.jpg)
4
Exercício 1
Crie uma função que permita
calcular uma aproximação de
PI usando a serie de
Gregory:
A função deve aceitar um
parâmetro que represente o
número de termos a ser
considerado na somatória.
4.000000
3.041840
3.131593
3.141493
![Page 5: Aula 03: - Funções e procedimentos - Vetores e matrizesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/prog2018/aula_03_… · Declara uma matriz M de 100 linhas com 200 colunas](https://reader033.vdocuments.net/reader033/viewer/2022053116/6095be370cf3c975ac5d99b4/html5/thumbnails/5.jpg)
5
Exercício 1
Crie uma função que permita
calcular uma aproximação de
PI usando a série de
Gregory:
A função deve aceitar um
parâmetro que represente o
número de termos a ser
considerado na somatória.
4.000000
3.041840
3.131593
3.141493
![Page 6: Aula 03: - Funções e procedimentos - Vetores e matrizesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/prog2018/aula_03_… · Declara uma matriz M de 100 linhas com 200 colunas](https://reader033.vdocuments.net/reader033/viewer/2022053116/6095be370cf3c975ac5d99b4/html5/thumbnails/6.jpg)
6
Exercício 2
Modifique a função anterior
de tal forma que faça a
somatória dos termos
maiores ou iguais a x.
A função deve aceitar um
parâmetro que represente o
valor x (precisão).
3.1215946526
3.1415924536
![Page 7: Aula 03: - Funções e procedimentos - Vetores e matrizesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/prog2018/aula_03_… · Declara uma matriz M de 100 linhas com 200 colunas](https://reader033.vdocuments.net/reader033/viewer/2022053116/6095be370cf3c975ac5d99b4/html5/thumbnails/7.jpg)
7
Exercício 2
Modifique a função anterior
de tal forma que faça a
somatória dos termos
maiores ou iguais a x.
A função deve aceitar um
parâmetro que represente o
valor x (precisão).
3.1215946526
3.1415924536Desafio: Quantos termos são necessários?
![Page 8: Aula 03: - Funções e procedimentos - Vetores e matrizesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/prog2018/aula_03_… · Declara uma matriz M de 100 linhas com 200 colunas](https://reader033.vdocuments.net/reader033/viewer/2022053116/6095be370cf3c975ac5d99b4/html5/thumbnails/8.jpg)
8
Procedimentos?
![Page 9: Aula 03: - Funções e procedimentos - Vetores e matrizesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/prog2018/aula_03_… · Declara uma matriz M de 100 linhas com 200 colunas](https://reader033.vdocuments.net/reader033/viewer/2022053116/6095be370cf3c975ac5d99b4/html5/thumbnails/9.jpg)
9
Procedimentos
Na linguagem C existem apenas funções, mas saiba que
existem outras linguagens que aceitam funções e
procedimentos (em pascal: Function e Procedure):
Uma função devolve sempre um valor.
Um procedimento não devolve qualquer valor.
A forma de invocar funções e procedimentos é diferente:
Funções: x = pi(0.001)
Procedimentos: printf(“%f”, x)
![Page 10: Aula 03: - Funções e procedimentos - Vetores e matrizesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/prog2018/aula_03_… · Declara uma matriz M de 100 linhas com 200 colunas](https://reader033.vdocuments.net/reader033/viewer/2022053116/6095be370cf3c975ac5d99b4/html5/thumbnails/10.jpg)
10
Procedimentos
Uma função que devolve “void” é chamada de procedimento.
![Page 11: Aula 03: - Funções e procedimentos - Vetores e matrizesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/prog2018/aula_03_… · Declara uma matriz M de 100 linhas com 200 colunas](https://reader033.vdocuments.net/reader033/viewer/2022053116/6095be370cf3c975ac5d99b4/html5/thumbnails/11.jpg)
11
Procedimento: exemplo
![Page 12: Aula 03: - Funções e procedimentos - Vetores e matrizesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/prog2018/aula_03_… · Declara uma matriz M de 100 linhas com 200 colunas](https://reader033.vdocuments.net/reader033/viewer/2022053116/6095be370cf3c975ac5d99b4/html5/thumbnails/12.jpg)
12
Vetores
![Page 13: Aula 03: - Funções e procedimentos - Vetores e matrizesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/prog2018/aula_03_… · Declara uma matriz M de 100 linhas com 200 colunas](https://reader033.vdocuments.net/reader033/viewer/2022053116/6095be370cf3c975ac5d99b4/html5/thumbnails/13.jpg)
13
Armazenar 10 inteiros em um programa...
Usando variáveis:
Usando um vetor:
Para acessar a um elemento, use um índice.a[0] → 6a[4] → 100
![Page 14: Aula 03: - Funções e procedimentos - Vetores e matrizesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/prog2018/aula_03_… · Declara uma matriz M de 100 linhas com 200 colunas](https://reader033.vdocuments.net/reader033/viewer/2022053116/6095be370cf3c975ac5d99b4/html5/thumbnails/14.jpg)
14
Vetores
Os elementos de um vetor são
armazenados/alocados de forma
consecutiva na memória.
Os elementos são acessados por
seu índice dentro do vetor.
10 4 -95 37 2910X:=
0 1 2 3 4 …
![Page 15: Aula 03: - Funções e procedimentos - Vetores e matrizesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/prog2018/aula_03_… · Declara uma matriz M de 100 linhas com 200 colunas](https://reader033.vdocuments.net/reader033/viewer/2022053116/6095be370cf3c975ac5d99b4/html5/thumbnails/15.jpg)
15
Memória (hardware)
RAM HDD SSD
......
![Page 16: Aula 03: - Funções e procedimentos - Vetores e matrizesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/prog2018/aula_03_… · Declara uma matriz M de 100 linhas com 200 colunas](https://reader033.vdocuments.net/reader033/viewer/2022053116/6095be370cf3c975ac5d99b4/html5/thumbnails/16.jpg)
16
Memória (hardware)
Geralmente o endereço do “objeto“ é o endereço do 1ro byte.
0
N
![Page 17: Aula 03: - Funções e procedimentos - Vetores e matrizesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/prog2018/aula_03_… · Declara uma matriz M de 100 linhas com 200 colunas](https://reader033.vdocuments.net/reader033/viewer/2022053116/6095be370cf3c975ac5d99b4/html5/thumbnails/17.jpg)
17
Terminologia
01010111
11000011
01100100
11100010
0x37FD00
0x37FD01
0x37FD02
0x37FD03
4 bytes
![Page 18: Aula 03: - Funções e procedimentos - Vetores e matrizesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/prog2018/aula_03_… · Declara uma matriz M de 100 linhas com 200 colunas](https://reader033.vdocuments.net/reader033/viewer/2022053116/6095be370cf3c975ac5d99b4/html5/thumbnails/18.jpg)
18
Vetores
Declaração de uma variável que representa um vetor de 13 inteiros
10 4 -95 37 2910 -6vetor :=
0 1 2 3 4 5 6 7 8 9 10 11 12
10 4 -95 37 2910 3 0
Índice / Deslocamento
1 2 3 4 5 6 7 8 9 10 11 12 13
PosiçãoO vetor contém 13 Elementos
![Page 19: Aula 03: - Funções e procedimentos - Vetores e matrizesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/prog2018/aula_03_… · Declara uma matriz M de 100 linhas com 200 colunas](https://reader033.vdocuments.net/reader033/viewer/2022053116/6095be370cf3c975ac5d99b4/html5/thumbnails/19.jpg)
19
Vetores
![Page 20: Aula 03: - Funções e procedimentos - Vetores e matrizesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/prog2018/aula_03_… · Declara uma matriz M de 100 linhas com 200 colunas](https://reader033.vdocuments.net/reader033/viewer/2022053116/6095be370cf3c975ac5d99b4/html5/thumbnails/20.jpg)
20
Vetores
1
0
4195773
0
-1939313376
32764
0
0
4195696
0
4195392
0
-1939313152
0
1
2
3
4
5
6
7
8
9
10
11
12
![Page 21: Aula 03: - Funções e procedimentos - Vetores e matrizesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/prog2018/aula_03_… · Declara uma matriz M de 100 linhas com 200 colunas](https://reader033.vdocuments.net/reader033/viewer/2022053116/6095be370cf3c975ac5d99b4/html5/thumbnails/21.jpg)
21
Vetores
![Page 22: Aula 03: - Funções e procedimentos - Vetores e matrizesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/prog2018/aula_03_… · Declara uma matriz M de 100 linhas com 200 colunas](https://reader033.vdocuments.net/reader033/viewer/2022053116/6095be370cf3c975ac5d99b4/html5/thumbnails/22.jpg)
22
Vetores
32741
771953096
32741
0
-1
1
0
4195773
0
-1699835760
32764
0
0
4195696
0
4195392
0
-1699835536
32764
0
-5
-4
-3
-2
-1
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
![Page 23: Aula 03: - Funções e procedimentos - Vetores e matrizesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/prog2018/aula_03_… · Declara uma matriz M de 100 linhas com 200 colunas](https://reader033.vdocuments.net/reader033/viewer/2022053116/6095be370cf3c975ac5d99b4/html5/thumbnails/23.jpg)
23
Em concreto
Um vetor é uma coleção de valores.
Três importantes características:
Os vetores representam um grupo de dados relacionados.
Todos os dados devem ter o mesmo tipo.
O tamanho do vetor é definido na sua criação/definição.
![Page 24: Aula 03: - Funções e procedimentos - Vetores e matrizesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/prog2018/aula_03_… · Declara uma matriz M de 100 linhas com 200 colunas](https://reader033.vdocuments.net/reader033/viewer/2022053116/6095be370cf3c975ac5d99b4/html5/thumbnails/24.jpg)
24
Vetores
(*) Fonte: http://www.studytonight.com/c/datatype-in-c.php
![Page 25: Aula 03: - Funções e procedimentos - Vetores e matrizesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/prog2018/aula_03_… · Declara uma matriz M de 100 linhas com 200 colunas](https://reader033.vdocuments.net/reader033/viewer/2022053116/6095be370cf3c975ac5d99b4/html5/thumbnails/25.jpg)
25
Vetores
![Page 26: Aula 03: - Funções e procedimentos - Vetores e matrizesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/prog2018/aula_03_… · Declara uma matriz M de 100 linhas com 200 colunas](https://reader033.vdocuments.net/reader033/viewer/2022053116/6095be370cf3c975ac5d99b4/html5/thumbnails/26.jpg)
26
Vetores
40
20
80
10
80
![Page 27: Aula 03: - Funções e procedimentos - Vetores e matrizesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/prog2018/aula_03_… · Declara uma matriz M de 100 linhas com 200 colunas](https://reader033.vdocuments.net/reader033/viewer/2022053116/6095be370cf3c975ac5d99b4/html5/thumbnails/27.jpg)
27
Vetores
10
10
10
10
10
![Page 28: Aula 03: - Funções e procedimentos - Vetores e matrizesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/prog2018/aula_03_… · Declara uma matriz M de 100 linhas com 200 colunas](https://reader033.vdocuments.net/reader033/viewer/2022053116/6095be370cf3c975ac5d99b4/html5/thumbnails/28.jpg)
28
Matrizes
![Page 29: Aula 03: - Funções e procedimentos - Vetores e matrizesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/prog2018/aula_03_… · Declara uma matriz M de 100 linhas com 200 colunas](https://reader033.vdocuments.net/reader033/viewer/2022053116/6095be370cf3c975ac5d99b4/html5/thumbnails/29.jpg)
29
Matriz bidimensional
.
.
.
linhas
colunas
0
1
2
3
0 1 2 3 4 5 ...
![Page 30: Aula 03: - Funções e procedimentos - Vetores e matrizesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/prog2018/aula_03_… · Declara uma matriz M de 100 linhas com 200 colunas](https://reader033.vdocuments.net/reader033/viewer/2022053116/6095be370cf3c975ac5d99b4/html5/thumbnails/30.jpg)
30
Matriz bidimensional
matriz[2][0]
0
1
2
3
0 1 2 3 4 5
matriz[1][4]
![Page 31: Aula 03: - Funções e procedimentos - Vetores e matrizesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/prog2018/aula_03_… · Declara uma matriz M de 100 linhas com 200 colunas](https://reader033.vdocuments.net/reader033/viewer/2022053116/6095be370cf3c975ac5d99b4/html5/thumbnails/31.jpg)
31
Matriz bidimensional
0000000
0000000
0000000
0000000
0000000
![Page 32: Aula 03: - Funções e procedimentos - Vetores e matrizesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/prog2018/aula_03_… · Declara uma matriz M de 100 linhas com 200 colunas](https://reader033.vdocuments.net/reader033/viewer/2022053116/6095be370cf3c975ac5d99b4/html5/thumbnails/32.jpg)
32
Declara uma matriz Mde 100 linhas
com 200 colunas(20mil inteiros)
Material adaptado da aula de Matrizes de Ronaldo F. Hashimoto e Carlos H. Morimoto (IME/USP)
A memória do computador é linear!
![Page 33: Aula 03: - Funções e procedimentos - Vetores e matrizesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/prog2018/aula_03_… · Declara uma matriz M de 100 linhas com 200 colunas](https://reader033.vdocuments.net/reader033/viewer/2022053116/6095be370cf3c975ac5d99b4/html5/thumbnails/33.jpg)
33
Memória (hardware)
RAM HDD SSD
......
![Page 34: Aula 03: - Funções e procedimentos - Vetores e matrizesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/prog2018/aula_03_… · Declara uma matriz M de 100 linhas com 200 colunas](https://reader033.vdocuments.net/reader033/viewer/2022053116/6095be370cf3c975ac5d99b4/html5/thumbnails/34.jpg)
34
Estrutura da matriz na memória do computador
Material adaptado da aula de Matrizes de Ronaldo F. Hashimoto e Carlos H. Morimoto (IME/USP)
![Page 35: Aula 03: - Funções e procedimentos - Vetores e matrizesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/prog2018/aula_03_… · Declara uma matriz M de 100 linhas com 200 colunas](https://reader033.vdocuments.net/reader033/viewer/2022053116/6095be370cf3c975ac5d99b4/html5/thumbnails/35.jpg)
35Material adaptado da aula de Matrizes de Ronaldo F. Hashimoto e Carlos H. Morimoto (IME/USP)
Disposição dos 20mil elementos da matriz M na memória
![Page 36: Aula 03: - Funções e procedimentos - Vetores e matrizesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/prog2018/aula_03_… · Declara uma matriz M de 100 linhas com 200 colunas](https://reader033.vdocuments.net/reader033/viewer/2022053116/6095be370cf3c975ac5d99b4/html5/thumbnails/36.jpg)
36
Matriz bidimensional (imagem em níveis de cinza)
Nível=18
![Page 37: Aula 03: - Funções e procedimentos - Vetores e matrizesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/prog2018/aula_03_… · Declara uma matriz M de 100 linhas com 200 colunas](https://reader033.vdocuments.net/reader033/viewer/2022053116/6095be370cf3c975ac5d99b4/html5/thumbnails/37.jpg)
37
Matriz tridimensional (imagem em RGB)
{Red, Green, Blue}
![Page 38: Aula 03: - Funções e procedimentos - Vetores e matrizesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/prog2018/aula_03_… · Declara uma matriz M de 100 linhas com 200 colunas](https://reader033.vdocuments.net/reader033/viewer/2022053116/6095be370cf3c975ac5d99b4/html5/thumbnails/38.jpg)
38
Matrizes
0
1
2
3
0 1 2 3 4 5
0
1
2
3
0
1
2
3
0 1 2 3 4 5
Matriz unidimensional
(vetor/Array)
Matriz bidimensional
(2D)
Matriz tridimensional
(3D)
![Page 39: Aula 03: - Funções e procedimentos - Vetores e matrizesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/prog2018/aula_03_… · Declara uma matriz M de 100 linhas com 200 colunas](https://reader033.vdocuments.net/reader033/viewer/2022053116/6095be370cf3c975ac5d99b4/html5/thumbnails/39.jpg)
39
Matrizes
0
1
2
3
0 1 2 3 4 5
0
1
2
3
0
1
2
3
0 1 2 3 4 5
Matriz unidimensional
(vetor/Array)
Matriz bidimensional
(2D)
Matriz tridimensional
(3D)
M[2] M[2][4] M[2][5][2]
![Page 40: Aula 03: - Funções e procedimentos - Vetores e matrizesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/prog2018/aula_03_… · Declara uma matriz M de 100 linhas com 200 colunas](https://reader033.vdocuments.net/reader033/viewer/2022053116/6095be370cf3c975ac5d99b4/html5/thumbnails/40.jpg)
40
Dimensões?
100
200
3
![Page 41: Aula 03: - Funções e procedimentos - Vetores e matrizesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/prog2018/aula_03_… · Declara uma matriz M de 100 linhas com 200 colunas](https://reader033.vdocuments.net/reader033/viewer/2022053116/6095be370cf3c975ac5d99b4/html5/thumbnails/41.jpg)
41
![Page 42: Aula 03: - Funções e procedimentos - Vetores e matrizesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/prog2018/aula_03_… · Declara uma matriz M de 100 linhas com 200 colunas](https://reader033.vdocuments.net/reader033/viewer/2022053116/6095be370cf3c975ac5d99b4/html5/thumbnails/42.jpg)
42
Processamento de imagens multiespectrais (imagens do mesmo objeto, mas capturadas com diferentes comprimentos de onda eletromagnéticas)Os aparelhos consideram diferentes comprimentos de onda para cada camada.
http://all-geo.org/volcan01010/2013/01/processing-arsf-remote-sensing-data-with-open-source-gis-tools/
![Page 43: Aula 03: - Funções e procedimentos - Vetores e matrizesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/prog2018/aula_03_… · Declara uma matriz M de 100 linhas com 200 colunas](https://reader033.vdocuments.net/reader033/viewer/2022053116/6095be370cf3c975ac5d99b4/html5/thumbnails/43.jpg)
43
Atividade em aula
![Page 44: Aula 03: - Funções e procedimentos - Vetores e matrizesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/prog2018/aula_03_… · Declara uma matriz M de 100 linhas com 200 colunas](https://reader033.vdocuments.net/reader033/viewer/2022053116/6095be370cf3c975ac5d99b4/html5/thumbnails/44.jpg)
44
Questão 1 - a
printf("%d\n", funcao1(v1, 4));
100
printf("%d\n", funcao1(v2, 5));
80
Devolve o último elemento do vetor.
![Page 45: Aula 03: - Funções e procedimentos - Vetores e matrizesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/prog2018/aula_03_… · Declara uma matriz M de 100 linhas com 200 colunas](https://reader033.vdocuments.net/reader033/viewer/2022053116/6095be370cf3c975ac5d99b4/html5/thumbnails/45.jpg)
45
Questão 1 - b
printf("%d\n", funcao2(v1, 4));
0
printf("%d\n", funcao2(v2, 5));
0
Devolve 0.
![Page 46: Aula 03: - Funções e procedimentos - Vetores e matrizesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/prog2018/aula_03_… · Declara uma matriz M de 100 linhas com 200 colunas](https://reader033.vdocuments.net/reader033/viewer/2022053116/6095be370cf3c975ac5d99b4/html5/thumbnails/46.jpg)
46
Questão 1 - c
printf("%d\n", funcao3(v1, 4));
0
printf("%d\n", funcao3(v2, 5));
3
Devolve a quantidade de elementosiguais no vetor.
![Page 47: Aula 03: - Funções e procedimentos - Vetores e matrizesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/prog2018/aula_03_… · Declara uma matriz M de 100 linhas com 200 colunas](https://reader033.vdocuments.net/reader033/viewer/2022053116/6095be370cf3c975ac5d99b4/html5/thumbnails/47.jpg)
47
Questão 2
printf("%d\n", funcao4(3, 4, M));
1
Verifica se a quantidade de elementosnegativos é igual à quantidade de númerospositivos.
Se houver mais números positivos, retornaverdadeiro (devolve 1), casocontrário, devolve 0.
![Page 48: Aula 03: - Funções e procedimentos - Vetores e matrizesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/prog2018/aula_03_… · Declara uma matriz M de 100 linhas com 200 colunas](https://reader033.vdocuments.net/reader033/viewer/2022053116/6095be370cf3c975ac5d99b4/html5/thumbnails/48.jpg)
48
Questão 3
Indique se são verdadeiras ou faltas as seguintes afirmações(resposta correta +0,5, incorreta -0,5)
(a) [ ] Uma função em C pode devolver simultaneamente mais do que um valor.
(b) [ ] Uma função em C tem que devolver sempre um inteiro.
(c) [ ] Os parâmetros das funções podem ser do tipo void.
(d) [ ] A instrução return, termina a execução de uma função apenas se for a
(e) última instrução da função em que se encontra
(f) [ ] A instrução return, quando executada dentro da função main, termina o
(g) programa.
(h) [ ] O nome de uma função é opcional.
![Page 49: Aula 03: - Funções e procedimentos - Vetores e matrizesprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/prog2018/aula_03_… · Declara uma matriz M de 100 linhas com 200 colunas](https://reader033.vdocuments.net/reader033/viewer/2022053116/6095be370cf3c975ac5d99b4/html5/thumbnails/49.jpg)
49
Questão 3
Indique se são verdadeiras ou faltas as seguintes afirmações(resposta correta +0,5, incorreta -0,5)
(a) [ F ] Uma função em C pode devolver simultaneamente mais do que um valor.
(b) [ F ] Uma função em C tem que devolver sempre um inteiro.
(c) [ F ] Os parâmetros das funções podem ser do tipo void.
(d) [ F ] A instrução return, termina a execução de uma função apenas se for a
última instrução da função em que se encontra
(e) [ V ] A instrução return, quando executada dentro da função main, termina o
programa.
(f) [ F ] O nome de uma função é opcional.
Pode devolver qualquer tipo de dado básico ou ponteiro
Em C, uma função pode devolver apenas 1 valor (tipo básico ou ponteiro)
Não. Cada parâmetro deve ter um tipo de dado associado