PROGRAMAÇÃO FUNÇÕES NA LINGUAGEM C



Documentos relacionados
PROGRAMAÇÃO FUNÇÕES NA LINGUAGEM C

UNIVERSIDADE DA BEIRA INTERIOR

PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C

PROGRAMAÇÃO FUNÇÕES NA LINGUAGEM C

PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C

Departamento de Informática - PUC-Rio INF 1005 Programação I P1 22/09/2010 Nota

1. Programação - Linguagem C /20

Ficheiros binários 1. Ficheiros binários

Programação: Vetores

Introdução à Programação. Armazenamento de Grande Quantidade de Informação Usando Vetores

Isomorfismos de Grafos, Grafos Planares e Árvores

UNIVERSIDADE DA BEIRA INTERIOR

ponteiros INF Programação I Prof. Roberto Azevedo

PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C

Escreva a função e_caracter que verifica se um determinado caracter é um numero ou não. Escreva um Programa de teste da função.

AULA 3 Alocação dinâmica de memória: Ponteiros

Análise de programas imperativos

Q1 Q2 Q3 Nota. Departamento de Informática - PUC-Rio INF 1005 Programação I P2 20/10/2010. Aluno: Exemplo (apenas um exemplo!):

Estruturas de repetição. Objetivos: - Compreender diversos tipos de comandos de repetições disponíveis na linguagem C.

float vantagem(float candidato[], float concorrente[], int n);

Conversão Visualg à C++ Prof. Paulo Cesar F. de Oliveira, BSc, PhD

PROGRAMAÇÃO DE MICROPROCESSADORES 2009 / 2010

Programação. MEAer. Bertinho Andrade da Costa. Instituto Superior Técnico. Introdução ao Pré-Processador. 2011/2012 1º Semestre

Analise o código abaixo:

Fundamentos de Programação 1

Aula 07 Introdução à Programação Subprogramas

MC Teste de Mesa e Comandos Repetitivos

3. COMPILAÇÃO E ESTRUTURA BÁSICA DE UM PROGRAMA EM C

Introdução à Programação em C Input / Output

Introdução à Programação. Strings

Estruturas de Repetição na Linguagem C. Slides da Prof. Deise Saccol

PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012

Linguagem C (estruturas condicionais)

Linguagem C: variáveis, operadores, entrada/saída. Prof. Críston Algoritmos e Programação

LP II Estrutura de Dados

Aula 5 ESTRUTURAS DE REPETIÇÃO (WHILE)

Computação 2. Aula 2. Profª. Fabiany Vetores e Matrizes

struct Nodo { int struct Nodo struct Nodo typedef struct Nodo *PNodo; int ConstruirLista (PNodo *H, PNodo *T) { int Criar

Funções de Entrada e Saída Formatada Constantes de barra invertida

LÓGICA DE PROGRAMAÇÃO (C) VETORES E MATRIZES. Professor Carlos Muniz

1 Cálculo do valor à vista

1/34 GESTÃO DINÂMICA DE MEMÓRIA

Treinamento Olimpíada Brasileira de Informática

Introdução a Programação. Ponteiros e Strings, Alocação Dinâmica

Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C. Exercícios: Structs

Estruturas de controlo condicional

INF 1010 Estruturas de Dados Avançadas

Convertendo Algoritmos para a Linguagem C

Introdução à Programação em C (I)

Capítulo 5: Repetições

Referências. Programação de Computadores II. Cap. 7 Cadeias de Caracteres. Caracteres. Tópicos

Linguagem de Programação I

Universidade Federal de Rondônia Técnicas de Desenvolvimento de Programas Lista 4

Algoritmos e Programação

Introdução à Programação em C (I)

Faculdade de Computação

Linguagem C: funções e ponteiros. Prof. Críston Algoritmos e Programação

ALGORITMOS E LÓGICA DE PROGRAMAÇÃO PRÉ AULA PRÉ AULA 31/08/2015

1.a) Qual a diferença entre uma linguagem de programação de alto nível e uma linguagem de programação de baixo nível?

Introdução a Funções

Linguagem C. Introdução à Programação C. Variáveis. Identificadores. Identificadores 12/03/2011 VARIÁVEIS E TIPOS DE DADOS

1. Estrutura de Dados

Linguagem C. Programação Estruturada. Fundamentos da Linguagem. Prof. Luis Nícolas de Amorim Trigo

Transcrição:

PROGRAMAÇÃO FUNÇÕES NA LINGUAGEM C 1

Implementações básicas : a) Implementar a função LerValorValido que verifica se um valor introduzido pelo utilizador pertence ao conjunto limitado por dois dados valores inteiros, devolvendo o primeiro valor que pertença àquele intervalo; b) Implementar o procedimento LerVector que preenche um vector com Dim valores reais (Dim 1); a) Implementar o procedimento MostrarVector que mostra um vector com Dim valores reais (Dim 1); 2

Função: LerValorValido Parâmetros: Dois valores inteiros, inf e sup, correspondentes aos limites inferior e superior do intervalo válido Retorno: Um número inteiro pertencente ao conjunto {inf,..., sup} 3

Algoritmo: Fazer Mostrar a mensagem Inserir um inteiro entre inf e sup Introduzir um valor inteiro para Dim Enquanto 'Dim < inf ou Dim > sup' é verdadeira Devolver (Dim) 4

int LerValorValido (int inf, int sup) { } int Dim; do { printf ( Insira um inteiro entre %d e %d:, inf, sup); scanf ( %d, &Dim); } while (Dim < inf Dim > sup); return (Dim); 5

Procedimento: LerVector Parâmetros: Um vector X vazio (sem valores) Um número inteiro Dim ( 1), que é o tamanho de X Saída: O vector X preenchido (com valores) 6

Algoritmo: Para k com valores desde 0 até Dim-1 Fazer Mostrar a mensagem Inserir um valor real: Introduzir um valor real para X[k] 7

void LerVector (float X[], int Dim) { int k; for (k = 0; k <= Dim-1; k++) { printf ( Inserir um valor real: ); scanf ( %f, &X[k]); } } 8

Procedimento: MostrarVector Parâmetros: O vector X preenchido (com valores) Um número inteiro Dim ( 1), que é o tamanho de X Saída: Apresenta no écran os valores do vector X 9

Algoritmo: Para k com valores desde 0 até Dim-1 Fazer Mostrar o valor de X[k] 10

void MostrarVector (float X[], int Dim) { int k; for (k = 0; k <= Dim-1; k++) } printf ( %7.2f, X[k]); // com 2 casas décimais 11

Enunciado: a) Implementar a função PosicaoMaior que determina (e devolve) a posição/índice do maior valor de um vector X com Dim valores reais; b) Construir um programa em C que leia um vector V com N valores reais (N 1), determine a posição/índice do maior dos seus valores, calcule o maior elemento e escreva no écran os resultados obtidos, usando as funções construídas anteriormente. 12

Função: PosicaoMaior Parâmetros: Um vector X preenchido com valores reais Um número inteiro Dim ( 1), que é o tamanho de X Retorno: Um valor inteiro correspondente à posição/índice do maior valor do vector X 13

Algoritmo: Atribuir a pos_maior o valor inteiro 0 Para k com valores desde 1 até Dim-1 Fazer Se 'X[k] > X[pos_maior]' é verdadeira Então Atribuir a pos_maior o valor inteiro k Devolver (pos_maior) 14

int PosicaoMaior (float X[], int Dim) { } int k, pos_maior; pos_maior = 0; // assumir que o maior está na 1ª posição for (k = 1; k <= Dim-1; k++) if (X[k] > X[pos_maior]) pos_maior = k; return (pos_maior); 15

Algoritmo (principal): Atribuir a N o valor inteiro LerValorValido(1, 50) LerVector (V, N) Atribuir a pos_maior o valor inteiro PosicaoMaior (V, N) Mostrar a mensagem O maior valor está na posição : Mostrar o valor de pos_maior Atribuir a maior o valor real V[pos_maior] Mostrar a mensagem O maior valor é : Mostrar o valor de maior 16

#include <stdio.h> int LerValorValido (int inf, int sup); void LerVector (float X[], int Dim); int PosicaoMaior (float X[], int Dim); main ( ) { float V[50], maior; int N, pos_maior; N = LerValorValido(1, 50); LerVector (V, N); pos_maior = PosicaoMaior (V, N); printf ( O maior valor está na posição : %d.\n, pos_maior); maior = V[pos_maior]; printf ( O maior valor é : %f.\n, maior); } 17

Enunciado: a) Implementar um procedimento para inverter um vector X com Dim valores reais (trocar o 1º com o último, o 2º com o penúltimo,...); b) Construir um programa em C que leia um vector V com N valores reais (N 1), inverta este vector e escreva no écran o novo vector, usando as funções implementadas anteriormente. 18

Procedimento: InverterVector Parâmetros: Um vector X preenchido com valores reais Um número inteiro Dim ( 1), que é o tamanho de X Saída: O vector X invertido 19

Algoritmo: Para k com valores desde 0 até (Dim/2)-1 Fazer Atribuir a aux o valor real X[k] Atribuir a X[k] o valor real X[(Dim-1)-k] Atribuir a X[(Dim-1)-k] o valor real aux 20

void InverterVector (float X[], int Dim) { int k; } float aux; for (k = 0; k <= (Dim/2)-1; k++) { aux = X[k]; X[k] = X[Dim-1-k]; X[Dim-1-k] = aux; } 21

Algoritmo (principal): Atribuir a N o valor inteiro LerValorValido(1, 50) LerVector (V, N) InverterVector (V, N) Mostrar a mensagem Vector invertido MostrarVector (V, N) 22

#include <stdio.h> int LerValorValido (int inf, int sup); void LerVector (float X[], int Dim); void MostrarVector (float X[], int Dim); void InverterVector (float X[], int Dim); main ( ) { } float V[50]; int N; N = LerValorValido(1, 50); LerVector (V, N); InverterVector (V, N); printf( Vector invertido:\n ); MostrarVector (V, N); 23