Estruturas de dados homogêneas

Documentos relacionados
Prof. Jorge Cavalcanti

algoritmo "exercício 28" var opcao, n1, n2: inteiro funcao seleciona_opcao():inteiro var o:caractere inicio repita escreva ("Efetue uma multiplicação

algoritmo "exercício vetor" var vet:vetor [1..12] de inteiro i:inteiro inicio para i de 1 ate 12 faca escreva ("Entre com vetor[",i,"]: ") leia

Introdução a Algoritmos Parte 06

ALGORITMOS I. Procedimentos e Funções

Conceitos básicos de algoritmos

Método para Construção de Algoritmos

Vetores e Matrizes. Vetores

Algoritmo e Programação. Capítulo 2 Tópicos Preliminares

Recursividade Alguns problemas são definidos com base nos mesmos, ou seja, podem ser descritos por instâncias do próprio problema.

MATRIZES - PARTE Definição e Manipulação de Matrizes AULA 21

algoritmo "exercício 5" var x, y, aux: inteiro inicio escreva ("Entre com um valor inteiro p/ variável x: ") leia (x) escreva ("Entre com um valor

Aula 11: Modularização

Algoritmos - 1. Alexandre Diehl. Departamento de Física - UFPel

Conceitos Básicos de Algoritmos

Algoritmos - 2. Alexandre Diehl. Departamento de Física - UFPel

Pseudocódigo Exercício 6

Algoritmos e Programação

Fluxograma. Símbolo Nome Descrição

Pseudocódigo Exercício 6

Algoritmos e Estrutura de Dados I Conceitos de Algoritmos. Prof. Elyssandro Piffer

Funções e procedimentos. Lógica de programação Professor Leo Larback

Prof. Jorge Cavalcanti

Fluxograma. Símbolo Nome Descrição

LÓGICA DE PROGRAMAÇÃO. Algoritmos Computacionais. Sérgio Carlos Portari Júnior

Comandos de controle de fluxo: if / for / while / do while.

Algoritmos Estrutura Condicional

Noções de algoritmos - Aula 1

Algoritmos e Programação

Estruturas de Controle de Fluxo Pseudocódigo/Exercício Construa o pseudocódigo de um algoritmo para obter o resultado da divisão de dois números

Introdução ao VisuALG

INFORMÁTICA APLICADA AULA 02 ALGORITMOS

algoritmo "exercício 22 resposta incorreta" var A, i: inteiro eh_primo: logico inicio repita escreva ("Entre com um valor inteiro positivo: ") leia

Aula 06 Introdução à Programação Matrizes

ESTRUTURAS DE CONTROLE - LAÇOS OU MALHAS DE REPETIÇÃO

Computação Eletrônica. Vetores e Matrizes. Prof: Luciano Barbosa. CIn.ufpe.br

AULA 13 PROCEDIMENTOS. Disciplina: Algoritmos e POO Professora: Alba Lopes.

UNIVERSIDADE FEDERAL DO PAMPA CAMPUS BAGÉ ALGORITMOS E PROGRAMAÇÃO. Matrizes. Prof. Alex Camargo

Questão 1. Nome para o arquivo fonte questao1.c

Algoritmos - 6. Alexandre Diehl. Departamento de Física - UFPel

E X E R C Í C I O S 01. Sobre o comando CASO, marque as alternativas como verdadeira (V) ou falsa (F):

Algoritmos e Programação

Portugol. Tiago Alves de Oliveira

ALGORITMOS AULA 1. Profª Amanda Gondim

Estruturas de Controle de Fluxo

Capítulo 7 Matriz. Roteiro

ESTRUTURAS DE REPETIÇÃO

INFORMÁTICA APLICADA AULA 06 ALGORITMOS

Fundamentos de Programação 1

Modularidade - Funções e Procedimentos

Estruturas de Controle de Fluxo

Capítulo 1 Conceitos Básicos

Pseudocódigo e visualg

Processamento de Dados aplicado à Geociências. AULA 4:Comando de Entrada Comando de Saída Comando de Atribuição

PORTUGUÊS ESTRUTURADO: INTRODUÇÃO INTRODUÇÃO À PROGRAMAÇÃO PROF. ALEXANDRO DOS SANTOS SILVA

Instituto Federal de Educação, Ciência e Tecnologia do RN Câmpus Currais Novos. LINGUAGEM C++ VARIÁVEIS COMPOSTAS Arrays Aula I

CI208 - Programação de Computadores. Aula 24: Arrays. Prof. MSc. Diego Roberto Antunes

Matrizes (Vetores Bidimensionais)

Conceitos Básicos. Professor: Juliano Lucas Gonçalves.

Estruturas de Controle de Fluxo

Algoritmos e Programação

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi

VETORES Motivação AULA 19

Algoritmos e Técnicas de Programação

AULA 07. HABILIDADES TRABALHADAS: Desenvolver algoritmos utilizando laços a partir da leitura de fluxogramas ou algoritmos em portugol.

Aula 9 Oficina de Programação Matrizes. Profa. Elaine Faria UFU

Estruturas de Dados Estáticas Cont.

Noções de algoritmos - Aula 1

AULA 12: Variáveis Compostas Homogêneas Vetores

6 a Lista Complementar de Exercícios de CI208 Programação de Computadores 13/02/2014

Programação Estruturada Aula VisualG

Aula 10: Introdução a Vetores e Matrizes

ALGORITMOS + PASCAL MODULO 4

Questão 1 Exemplo de execução 1 (com N=6): Exemplo de execução 2 (com N=4):

ALGORITMOS E LÓGICA DE PROGRAMAÇÃO PRÉ AULA PRÉ AULA 02/11/2015

Fluxograma. Conjunto de símbolos utilizados em fluxogramas

Fig. 1: Ilustração de um exemplo de Modularização de um guindaste em suas partes Fonte: Internet

Pseudocódigo Exercício 2

1. Escreva um algoritmo em fluxograma que descreva a sequência 1, 5, 13, 17, 21, 25,?,?,?,?. Ou seja, até o seu 10º termo.

Transcrição:

Estruturas de dados homogêneas Vetores Multidimensionais (continuação) Exercício 30: Com base no exercício anterior, faça um algoritmo que declare duas matrizes 2x3 de reais, as inicialize e efetue a soma das duas matrizes retornando a matriz resultante na saída padrão com o layout retro aludido. 226

Estruturas de dados homogêneas Vetores Multidimensionais (continuação) Exercício 31: Com base no exercício 38, faça as alterações necessárias para que o algoritmo efetue a multiplicação de duas matrizes (2x3 e 3x2, respectivamente) inicializadas, através da entrada padrão, e retorne a matriz resultante da multiplicação, com layout apropriado, na saída padrão. 230

234 Com o avanço do estudo sobre algoritmos os problemas a serem solucionado aumentam em complexidade. Um método de resolução de problemas complexos é visualizá-los como compostos por problemas menores e tratar um a um os sub-problemas identificados. Podemos, desta forma, construir um algoritmo composto por subalgoritmos denominados módulos. Esta metodologia é denominada top-down (de cima para baixo), ou melhor, do genérico para o específico.

235 Desta forma ao nos depararmos com um problema complexo devemos buscar visualizá-lo como um conjunto de problemas mais simples. Trataremos agora de como construir um algoritmo composto por módulos. Assim como um algoritmo, em geral, possui um conjunto de entradas, efetua um processamento e gera um conjunto de saídas. Um módulo também funciona da mesma forma.

236 Assim como foi definida uma estrutura para representação de algoritmos em pseudocódigo, também é especificada uma estrutura para construção de módulos. Trabalharemos com dois tipos de módulos: a função; e o procedimento. Iniciaremos nossas análise pelo conceito de função. Uma função é um módulo que possui ou não um conjunto de entradas, efetua a execução de um conjunto de instruções e sempre gera um valor como saída, também denominado retorno.

A estrutura de uma função é a seguinte: funcao <nome_da_função> ([<sequência-dedeclarações-de-parâmetros>]) : <tipo_de_dado> // Seção de Declarações Internas inicio // Seção de Comandos fimfuncao Obs.: A declaração de uma função deve estar entre o final da declaração de variáveis e a linha contendo inicio no algoritmo principal. 237

O tipo_de_dado é o tipo do valor que a função vai retornar. A sequência-de-declarações-de-parâmetros é uma lista com a seguinte forma geral: identificador1: tipo_de_dado; identificador2: tipo_de_dado;...; identificadorn: tipo_de_dado 238 Repare que o tipo_de_dado deve ser especificado para cada uma das N variáveis definidas como parâmetros independente de mais de uma variáveis ser do mesmo tipo_de_dado. É na declaração de parâmetros que informamos quais serão as entradas da função (assim como informamos a saída no tipo_de_dado associado à função).

Em um módulo, assim como em um algoritmo, podemos declarar variáveis que serão utilizadas nas manipulações efetuadas. Para esta finalidade existe a Seção de Declarações Internas. As regras para construção do nome_da_função são as mesmas aplicadas na definição dos identificadores de variáveis. Por fim, é na Seção de Comandos também denominado corpo da função que as entradas são processadas, saídas são geradas e/ou outras operações são feitas. 239

- Comando retorne Forma geral: retorne valor_de_retorno Quando se executa um comando retorne a função é encerrada imediatamente e o valor de retorno é retornado pela função. É importante lembrar que o valor de retorno fornecido tem que ser compatível com o tipo de retorno declarado para a função. 240

241 Exemplo de função: algoritmo "exemplo1 função" var num:inteiro funcao quadrado (a: inteiro): inteiro inicio retorne (a*a) fimfuncao inicio escreva ("Entre com um número inteiro: ") leia (num) num <- quadrado(num) escreva ("O seu quadrado vale: ",num) fimalgoritmo

242 Exemplo de função: algoritmo "exemplo2 função" var num:inteiro funcao quadrado (a: inteiro): inteiro inicio retorne (a*a) fimfuncao inicio escreva ("Entre com um número: ") leia (num) escreva ("O quadrado de ",num) escreva (" é ", quadrado(num)) fimalgoritmo