18.04.2013 Views

Fundamentos de Programação 1 - Alcides Maya Tecnologia

Fundamentos de Programação 1 - Alcides Maya Tecnologia

Fundamentos de Programação 1 - Alcides Maya Tecnologia

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!