Fundamentos de Programação 1 - Alcides Maya Tecnologia
Fundamentos de Programação 1 - Alcides Maya Tecnologia
Fundamentos de Programação 1 - Alcides Maya Tecnologia
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Escola Alci<strong>de</strong>s <strong>Maya</strong> - Primeiro Módulo<br />
ao final a matriz B.<br />
9. Faça um programa para ler uma matriz A <strong>de</strong> duas dimensões com 7 linhas e 7 colunas. Construir uma<br />
matriz B <strong>de</strong> mesma dimensão, sendo que cada elemento da matriz B <strong>de</strong>verá ser o somatório <strong>de</strong> cada elemento<br />
correspon<strong>de</strong>nte da matriz A, com exceção para os valores situados na diagonal principal (posições B[1,1], B[3,3],<br />
B[5.5] e B[7,7] ) os quais <strong>de</strong>verão ser o fatorial <strong>de</strong> cada elemento correspon<strong>de</strong>nte da matriz A . Apresentar ao final<br />
a matriz B.<br />
10. Faça um programa para ler uma matriz A <strong>de</strong> duas dimensões com 6 linhas e 5 colunas. Construir uma<br />
matriz B <strong>de</strong> mesma dimensão, que <strong>de</strong>verá ser formada do seguinte modo: para cada elemento par da matriz A<br />
<strong>de</strong>verá ser somado 5 e para cada elemento ímpar da matriz A <strong>de</strong>verá ser subtraído 4. Apresentar ao final a matriz<br />
A e B.<br />
11. Faça um programa para ler uma matriz A <strong>de</strong> duas dimensões com 4 linhas e 4 colunas. Apresentar o<br />
somatório dos elementos situados na diagonal principal (posições A[1,1], A[2,2], A[3,3], A[4.4] ) da referida<br />
matriz.<br />
12. Faça um programa que leia uma matriz A <strong>de</strong> duas dimensões com 15 linhas e 15 colunas. Apresentar o<br />
somatório dos elementos pares situados na diagonal principal da referida matriz.<br />
13. Faça um programa que leia uma matriz A <strong>de</strong> duas dimensões com 7 linhas e 7 colunas. Ao final apresentar<br />
o total <strong>de</strong> elementos pares existentes <strong>de</strong>ntro da matriz.<br />
14. Faça um programa que leia uma matriz <strong>de</strong> duas dimensões com 7 linhas e 7 colunas. Ao final apresentar<br />
o total <strong>de</strong> elementos positivos, o total <strong>de</strong> elementos negativos e o total <strong>de</strong> elementos cujo valor é zero.<br />
15. Faça um programa que leia uma matriz numérica <strong>de</strong> duas dimensões <strong>de</strong> 5 linhas e 8 colunas. No final<br />
encontrar e apresentar <strong>de</strong>sta matriz o maior valor lido e o menor valor lido.<br />
16. Faça um programa que leia uma matriz <strong>de</strong> duas dimensões com 5 linhas e 5 colunas. Apresentar o<br />
somatório dos elementos positivos situados na diagonal principal da referida matriz.<br />
8. PRogRAMAção ESTRuTuRADA<br />
Funções I<br />
A partir <strong>de</strong>sta aula serão estudados a aplicação e o uso <strong>de</strong> Funções.<br />
Quando apren<strong>de</strong>mos conceitos <strong>de</strong> sub-rotinas em algoritmos, também falávamos sobre Funções.<br />
Estas sub-rotinas também são conhecidas pela <strong>de</strong>nominação <strong>de</strong> módulos, sub-programas, ou subalgoritmos.<br />
Na linguagem C as sub-rotinas são tratadas como FUNÇÕES.<br />
Na realida<strong>de</strong>, não importa como são chamadas, o que importa é a forma como funcionam e como <strong>de</strong>vem ser<br />
aplicadas em um programa, e é isto que iremos apren<strong>de</strong>r a partir <strong>de</strong>ste momento.<br />
Iremos rever o conceito <strong>de</strong> criação estruturada <strong>de</strong> programas, pois para escrever um programa <strong>de</strong> computador<br />
necessita-se <strong>de</strong> estudo (levantamento <strong>de</strong> todas as necessida<strong>de</strong>s e <strong>de</strong>talhes do que <strong>de</strong>verá ser feito) e metodologia<br />
(regras básicas que <strong>de</strong>verão ser seguidas).<br />
Sem a aplicação <strong>de</strong> métodos não será possível resolver gran<strong>de</strong>s problemas; quando muito, pequenos<br />
problemas.<br />
as sub-rotinas<br />
No geral, problemas complexos exigem algoritmos complexos. Mas sempre é possível dividir um problema<br />
gran<strong>de</strong> em problemas menores. Desta forma, cada parte menor tem um algoritmo mais simples, e é esse trecho<br />
menor que é chamado <strong>de</strong> sub-rotina. Uma sub-rotina é na verda<strong>de</strong> um programa, e sendo um programa po<strong>de</strong>rá<br />
efetuar diversas operações computacionais (entrada, processamento e saída) e <strong>de</strong>verá ser tratada como foram<br />
os programas projetados até este momento. As sub-rotinas são utilizadas na divisão <strong>de</strong> algoritmos complexos,<br />
permitindo assim possuir a modularização <strong>de</strong> um <strong>de</strong>terminado problema, consi<strong>de</strong>rado gran<strong>de</strong> e <strong>de</strong> difícil<br />
solução.<br />
Quando trabalhamos com esta técnica, po<strong>de</strong>-se <strong>de</strong>parar com a necessida<strong>de</strong> <strong>de</strong> dividir uma sub-rotina em<br />
outras tantas quantas forem necessárias, buscando uma solução mais simples <strong>de</strong> uma parte do problema maior.<br />
O processo <strong>de</strong> dividir sub-rotinas em outras é <strong>de</strong>nominado Método <strong>de</strong> Refinamento Sucessivo.<br />
64