GENERALIDADES SOBRE O PASCAL 7.0

Documentos relacionados
Exercícios: comandos de repetição

1. Escreva um programa em Pascal que leia três valores inteiros e mostre-os em ordem crescente. Utilize seleção encadeada.

Exercícios: Comandos de Repetição

Estruturas de Repetição

O que é Microsoft Excel? Microsoft Excel. Inicialização do Excel. Ambiente de trabalho

Exercícios (if/ if else/ if elseif else)

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

5. ESTRUTURA DE CONTROLE TOMADA DE DECISÕES

CADERNO DE EXERCÍCIOS ALGORITMOS

AC05 Lista de Exercícios sobre Sequências, Condições e Repetição Em C++

Lista de Exercícios - Programação I (Pascal/ Python)

Lista 4 Introdução à Programação Entregar até 07/05/2012

2) Escreva um algoritmo que leia um conjunto de 10 notas, armazene-as em uma variável composta chamada NOTA e calcule e imprima a sua média.

Algoritmos & Programação

Exercícios: variáveis e expressões

17. Faça um programa que escreve na tela a mesma frase 10vezes. E depois faça com que o programa mostre o número de cada linha no início e no final

Exercícios Repetição

UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática

Microsoft Excel INTRODUÇÃO PARTE 1 SUMÁRIO

69) Acrescentar uma mensagem de VALOR INVÁLIDO no exercício [68], caso o segundo valor informado seja ZERO.

UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática

Ciclo com Contador : instrução for. for de variável := expressão to. expressão do instrução

- no assunto colocar [ALG] PRIMEIRA PARTE

Comandos de Desvio 1

Lista de Exercícios 04 Estruturas de Dados Homogêneas - Vetores

Exercícios: Vetores e Matrizes

EXERCÍCIOS DE ESTRUTURA DE REPETIÇÃO - ALGORITMOS

Linguagem de Programação C. Fluxo de Saída Padrão. Linguagem de Programação C. printf. Fluxo de Saída Padrão. Algoritmos e Lógica de Programação

Usando o painel do operador

Programação de Computadores I Estruturas de Repetição PROFESSORA CINTIA CAETANO

O QUE É O CALC PLANILHAS ELETRÔNICAS O Calc é um programa que trabalha com planilhas.

MICROSOFT OFFICE EXCEL 2007

Passo-a-passo para desenvolver um Programa usando a Linguagem Python

LISTA DE EXERCÍCIOS PARTE 1 (ESTRUTURAS SEQUENCIAIS)

PROVA DE NOÇÕES DE INFORMÁTICA

Exercícios: Recursão

1 Cada linha do triângulo é uma seqüência de fibonacci.

Excel Intermediário. Facilitador: Clóvis Ferraro. Prefeitura de Diadema Secretaria de Gestão de Pessoas Escola Diadema de Administração Pública

Série de Exercícios - Comandos Repetitivos 1. Codificar o algoritmo para imprimir os N primeiros números naturais pares.

FUNÇÕES MATEMÁTICAS NÚMERO : PI() SENO E COSSENO: SEN() E COS()

LISTA DE EXERCÍCIOS - ro. 02

LISTA 14 Gabarito. 1) Preparar um algoritmo para calcular a soma de 100 termos da seguinte série:

Planilha Eletrônica - Microsoft Excel -

UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática

Fundamentos de Informática. Tiago Alves de Oliveira

INFORMÁTICA BÁSICA. Excel. Professor: Enir da Silva Fonseca

Apostila de EXERCÍCIOS e Respostas Algoritmos e Programação

1 Cálculo do valor à vista

Estrutura de decisão

Linguagem Computacional. Estruturas de Controle: Estruturas de Repetição. Prof. Dr. Adriano Cansian Prof. Dr. Leandro Alves Neves

I Lista de Exercícios

2ª Lista de Exercícios

3ª Lista de Exercícios de Programação I

MANUAL DE UTILIZAÇÃO DO AUTO ATENDIMENTO SETOR PÚBLICO DO BANCO DO BRASIL

ENGENHARIA DE PRODUÇÃO ICC 1 TÉCNICAS DE PROGRAMAÇÃO

Exercícios sobre repetição. 1. Escreva um método que lê via teclado 8 números e retorna a quantidade de negativos.

Oficina de Introdução de Programação usando Linguagem Python Prof. Ms. Perini

INTRODUÇÃO À CALCULADORA HP 12c. OBJETIVO: Este material tem como objetivo estabelecer um primeiro contato com a calculadora financeira HP 12c.

Grupo B Estruturas de Repetição

Lista de exercícios estrutura de repetição FOR e While. 3. Criar um algoritmo que imprima a soma dos nu meros pares de 230 a 520..

Aula Extra. Depurador Code::Blocks. Monitoria de Introdução à Programação

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95

MC Teste de Mesa e Comandos Repetitivos

Prof.ª: Dr. Maria Lúcia Pozzatti Flôres Organização: Gilberto Raitz Junior

FESP FACULDADE DE ENGENHARIA SÃO PAULO DISCIPLINA BP1: PROCESSAMENTO DE DADOS

BC-0505 Processamento da Informação

Orientação a Objetos

Capítulo I. Conceitos Iniciais

Excel. Profª Leticia Lopes Leite

CRIANDO MAPAS TEMÁTICOS COM SETORES CENSITÁRIOS DE SÃO PAULO

Parte I - Expressões lógicas e operadores

Algoritmia e Programação

Ficheiros binários 1. Ficheiros binários

LISTA DE EXERCÍCIOS: 1ª Unidade

SSC Introdução à Programação para Engenharias. Lista 01 Entrega em 06/04/ h10

Ambiente de Programação, rastreamento e entrada de dados. MCG114 Programação de Computadores I. Interpretador de Comandos. Interpretador de Comandos

Controle de Fluxo Comandos de repetição: while e do-while

MREditor Editor de Impressos

TUTORIAL DO SISTEMA CE MERCANTE

Com uma melhoria no visual o sistema conta com novidades e alguns aprimoramentos nos recursos já existentes.

Lista de Exercícios 3

POTENCIAÇÂO. A potenciação é uma forma de representar uma multiplicação de fatores iguais.

Conhecimentos Básicos de Computação e Microinformática

Linguagem Pascal. Prof. Antonio Almeida de Barros Junior

Estrutura de repetição para número indefinido de repetições com teste no inicio (Enquanto - while)

1ª LISTA DE EXERCÍCIOS

ANEXO EXCEL 2007 AVAÇADO

Linguagens de Programação:

Atualização de Software Guia do Usuário

PROGRAMAÇÃO DE COMPUTADORES I - BCC Lista de Exercícios do Módulo 1 - Preparação para a Prova 1

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO MARANHÃO - CAMPUS CAXIAS. Aluno (s): 01 ATIVIDADE. Revisão de Conteúdo

MANUAL DO USUÁRIO PROGRAMA OSCILOS. Osciloscópio digital. Versão 2.3

Exercícios de Fixação Aulas 05 e 06

Lógica de Programação Módulo I Prof.: Ricardo Lokchin. Fazer os exercícios abaixo na Linguagem C ou em ALGORITMOS.

Como criar uma palavra cruzada no Hot Potatoes

Transcrição:

GENERALIDADES SOBRE O PASCAL 7.0 Operações principais FILE Criar nova janela de trabalho (NEW) Abrir um programa existente (OPEN) Salvar um programa em disco (SAVE) Salvar um programa com outro nome (SAVE AS) Mudar diretório de trabalho (CHANGE DIR) Imprimir Arquivo (PRINT) EDIT Cortar e Colar texto (CUT / PASTE) RUN Executar todo programa (RUN) Executar passo a passo (STEP OVER) COMPILE Compilar programa da janela ativa (COMPILE) DEBUG Selecionar tela de usuário (USER SCREEN) WINDOW Ordenar janelas lado a lado (TILE) Ordenar janelas em Cascate (CASCADE) Apresentar listagem das janelas abertas (LIST) B. PRIMEIRO PROGRAMA Digite o programa abaixo exatamente como mostrado aqui. program sem2_1; uses crt; { Variaveis } var nome: string; numero: integer; { Aqui comeca o programa propriamente dito } begin clrscr; { Limpa a tela } write('entre com um nome: '); readln(nome); write( 'Entre com um numero: '); readln(numero); writeln('o nome digitado foi ', nome ); writeln('o numero digitado foi ', numero ); readln; end. 1

Após digitar o programa, salve-o na sua Home, crie uma pasta chamada MP no drive H: com o nome sem2_ex.pas. Tente executá-lo e veja se você não cometeu nenhum erro de digitação. Exercícios - Programas Seqüenciais 1. Faça um programa que leia um número inteiro e imprima o número e seu valor ao cubo (o número multiplicado por ele mesmo 3 vezes). O programa somente termina quando o usuário pressionar uma tecla (qualquer tecla). Dê ao programa o nome de SEQ_1.PAS 2. Faça um programa que leia o nome de um aluno numa linha, e mais três notas em uma linha separada da linha anterior (em formato real) e calcule a média ponderada das notas da seguinte forma: a primeira nota vale 20% do valor da média, a segunda nota vale 30% e a terceira nota vale 50% da média final ponderada. Imprima na tela o nome do aluno, as 3 notas e a média. Imprima o nome, as notas e a média em linhas individuais na tela, começando na coluna 10. O programa só termina com o usuário pressionando alguma tecla. Salve o programa com o nome SEQ_2.PAS DICA: Para apresentar informações na tela em posições específicas, utilize o comando gotoxy(coluna,linha), onde linha indica a linha da tela e coluna indica a coluna da tela onde o resultado será impresso. Para limpar as informações na tela você pode usar o comando clrscr. Ambos comandos exigem a utilização de uma biblioteca de funções especiais que permitem a manipulação de atributos da tela. Esta biblioteca chama-se CRT e a declaração de uso é uses crt, que deve aparecer normalmente após o nome do programa. Exemplo: program EXEMPLO; uses crt; var numero:integer; begin writeln('entre com um numero:'); readln(numero); clrscr; gotoxy(10,1); writeln('o numero pressionado foi: ', numero); end. 3. Faça um programa em PASCAL para ler um número real e imprimir o número lido, a parte inteira e a parte fracionária. Salve o programa com o nome SEQ_3.PAS. (Dica: Você precisará usar as seguintes funções pré-definidas em PASCAL: int e frac). 4. Faça um programa para ler um número inteiro, calcular o valor da divisão inteira deste número por 7, e o respectivo resto desta divisão (resto da divisão inteira por 7). Exibir o resultado na tela conforme o exemplo abaixo. (Obs.: os valores sublinhados são 2

aqueles valores lidos pelo programa! Não são valores fixos, podendo variar). Salve o programa com o nome SEQ_4.PAS. Digite um número: 23 23 dividido por 7 = 3 23 dividido por 7 resta 2 5. Ler os seguintes dados: Nome: Nome do funcionário HT: Número de horas trabalhadas no mês VH: Valor pago por hora de trabalho PD: Percentual de descontos sobre o salário bruto total Exibir na tela as seguintes informações, calculadas à partir dos dados lidos: SB: Salário Bruto - Valor total das horas trabalhadas em função do valor por hora TD: Total de descontos sobre o salário bruto SL: Salário líquido final - Valor obtido a partir do salário bruto onde são aplicados os descontos Salve o programa com o nome SEQ_5.PAS 6. Faça um programa que calcula a área de um círculo a partir do valor do raio do círculo informado pelo usuário. Salve o programa com o nome SEQ_6.PAS. (Dica: A área de um círculo é dada pela fórmula area = PI * Raio * Raio, onde PI = 3,14159) Programas com seleção. Exercícios com comando IF 1. Ler um número inteiro e imprimir se ele é par ou ímpar. Usar a função odd do PASCAL. A função odd retorna o valor TRUE se o argumento de entrada for um número ímpar. Salve o programa com o nome IF_1.PAS. Entre com um numero inteiro: 36 O numero 36 e par. 2. Escreva um programa em PASCAL que leia um número inteiro e decida se ele é par ou ímpar SEM UTILIZAR a função odd. Tela de saída igual ao exercício anterior. Você precisará usar o operador mod do PASCAL que calcula o resto da divisão entre os 2 números fornecidos como operandos. Salve o programa com o nome IF_2.PAS. Dica: Você precisará se lembrar de como sabemos se um número é par ou ímpar. 3. Ler três números inteiros e exibir o maior deles. Se forem iguais exibir qualquer um dos três. Salve o programa com o nome IF_3.PAS. Entre com 3 numeros inteiros: 54 4-2 O maior numero e o 54. 3

4. Fazer um programa em PASCAL que leia 3 notas de um aluno (tipo REAL) e imprima a mensagem de aluno aprovado ou reprovado conforme o seguinte critério. Se a média final do aluno (média simples) for maior ou igual a 7.0, o aluno foi aprovado, caso contrário o aluno foi reprovado, as notas igual ou superior a 5 o aluno ficou de prova final e média abaixo de 5 o aluno foi reprovado. Salve o programa com o nome IF_4.PAS. Use operadores lógicos (OR, AND, etc...) para diminuir o número de IFs utilizados. Exemplo de telas de saída para as 3 situações possíveis: Entre com as 3 notas: 8.0 6.0 8.0 O aluno foi aprovado com media 7.33 Entre com as 3 notas: 4.5 6.0 7.0 O aluno está de prova final. Média igual a 5.0 Entre com as 3 notas: 3.0 5.0 4.0 O aluno foi reprovado com media 4.0 5. Ler uma data no formato: dia (um inteiro entre 1-31), dia da semana (um inteiro entre 1-7), mês (um inteiro entre 1-12) e um ano (inteiro entre 0-65535) e converter para o formato especificado abaixo. Para os dias da semana, 1 corresponde a segunda-feira, 2 para terça-feira e assim por diante. Salve o programa com o nome IF_5.PAS. Entre com o dia do mes (1-31): 23 Entre com o dia da semana (1-7): 4 Entre com o mes (1-12): 8 Entre com o ano: 1997 Quinta-feira, dia 23 de Agosto de 1997 6. Altere o programa anterior para ler a data do próprio computador. Para ler a data utilize a função getdate(ano, mes, dia, diasemana) do PASCAL. Declare as variáveis com tipo WORD (inteiro positivo de 0 até 65535). Para poder usar a função getdate você precisa incluir a biblioteca DOS no início do programa com o comando uses windos; Salve este programa com o nome IF_6.PAS Programas com seleção. Exercícios com comando CASE 1. Modificar o exercício número 5 da lista de exercícios anterior de maneira a não usar nenhum comando IF. Em seu lugar use o comando CASE. Para facilitar repetimos aqui o enunciado do exercício. Ler uma data no formato: dia (um inteiro entre 1-31), dia da semana (um inteiro entre 1-7), mês (um inteiro entre 1-12) e um ano (inteiro entre 0-65535) e converter para o formato especificado abaixo. Para os dias da semana, 1 corresponde a segunda-feira, 2 para terça-feira e assim por diante. Salve o programa com o nome CASE_1.PAS 4

Entre com o dia do mes (1-31): 23 Entre com o dia da semana (1-7): 4 Entre com o mes (1-12): 8 Entre com o ano: 1997 Quinta-feira, dia 23 de Agosto de 1997 2. Use o comando CASE para selecionar uma opção do usuário (um menu de opções). As opções possíveis são: A para atualização de cadastro R para remoção do cadastro S para substituição do cadastro (Observe que somente as letras maiúsculas devem ser aceitas!) Exemplo da tela de saída: **** Opcoes de Operacao do Cadastro **** Digite A para Atualizacao Digite R para Remocao Digite S parasubstituicao Entre com sua opcao: A Seu cadastro foi atualizado! Para a opção R a mensagem será 'Seu cadastro foi removido!' e para a opção S a mensagem será 'Seu cadastro foi substituido!'. Salve o programa com o nome CASE_2.PAS Em caso de opção inválida, apresentar a seguinte mensagem ao usuário: Opcao <imprima aqui a opcao> nao reconhecida! 3. Modifique o programa anterior para aceitar também as letras minúsculas como opção de entrada (as letras a para atualização, r para remoção e s para substituição). Salve o programa com o nome CASE_3.PAS 4. Modifique o exercício número 7 da lista de exercícios da semana 4. Ao invés do programa ler uma letra do usuário, apresente um menu de opções ao usuário com 3 opções para cálculo de área: círculo (letra C), quadrado (letra Q) e triângulo (letra T). Conforme a opção calcule a área correspondente. Salve o programa com o nome CASE_4.PAS 5. Faça um programa que simula uma calculadora simples. O usuário entra com 2 valores reais e um caracter que identifica a operação aritmética desejada, + para adição, - para subtração, * para multiplicação e / para divisão. Utilize o comando CASE para selecionar e efetuar a operação desejada. Salve o programa com o nome CASE_5.PAS 5

Exercícios com comando REPEAT, FOR/TO, FOR/DOWN TO 1. Fazer um programa usando comando FOR para apresentar o total da soma obtida dos cem primeiros números inteiros (1+2+3+...+99+100). Salve o programa com o nome REP_1.PAS 2. Altere o programa anterior para ler como informação de entrada o número final para encerrar a soma. Por exemplo, se o usuário entrar com o número 50, o programa deverá somar todos os inteiros de 1 até 50. Salve o programa com o nome de REP_2.PAS. 3. Faça um programa para o cálculo do fatorial. Use comandos do tipo REPEAT/UNTIL. Salve o programa com o nome REP_3.PAS. Entre com um número: 4 O fatorial de 4 e 24 Outro número (sim/nao)? sim Entre com um número: 5 O fatorial de 5 e 120 Outro número (sim/nao)? nao 4. Fazer um programa que calcule e imprima o fatorial de um número fornecido pelo usuário, usando o comando FOR/TO/DO. Perguntar ao usuário se ele deseja calcular o fatorial de outro número e repetir a execução do programa tantas vezes quantas o usuário indicar. Salve o programa com o nome REP_6.PAS. Entre com um número: 5 O fatorial de 5 e 120 Outro número (sim/não)? nao 5. Faça o programa do fatorial, usando os comandos do tipo FOR/DOWNTO/DO e os comandos FOR/TO/DO. Salve o programa com o nome REP_51.PAS E REP_52.PAS. 6. Escrever um programa que calcule todos os números divisíveis por um certo valor indicado pelo usuário (o resto da divisão por este número deve ser igual a zero), compreendidos em um intervalo também especificado pelo usuário. O usuário deve entrar com um primeiro valor correspondente ao divisor e após ele vai fornecer o valor inicial do intervalo, seguido do valor final deste intervalo. Usar o comando FOR/TO/DO. Salve o programa com o nome REP_6.PAS. Entre com o valor do divisor: 3 Início do intervalo: 17 Final do intervalo: 29 Números divisíveis por 3 no intervalo de 17 à 29: 18 21 24 27 6

7. Fazer um programa de criptografia (codificação de dados visando a privacidade de acesso as informações), onde dada uma string este programa codifique os dados através de um processo de substituição de letras (você pode definir o seu próprio método). Fazer um outro programa complementar a este que deve ser capaz de descriptografar a string, ou seja, deve pegar uma string codificada e retornar ao texto original. Salve o programa de codificação com o nome REP _71.PAS e o programa de decodificação com o nome REP _72.PAS. DICAS: Para fazer este programa você precisará acessar os diferentes caracteres dentro de um string. Um string nada mais é do que uma coleção de caracteres que podem ser individualmente acessados. Por exemplo considere o seguinte programa exemplo, que lê uma palavra do usuário e imprime as letras uma a uma: program ExemploString; uses crt; var palavra: string; tamanho: integer; i: integer; begin { Le palavra do usuario } write('entre com uma palavra: '); readln(palavra); { Encontra tamanho da palavra } tamanho := length(palavra); { Imprime palavra letra a letra } for i:= 1 to tamanho do begin write('letra ', i, ' vale ', palavra[i]); writeln; end; end. Exercícios complementares (IF, CASE, WHILE, REPEAT, FOR/TO, FOR/DOWN TO) 1. Supondo que a população de um país A seja da ordem de 90.000.000 habitantes com uma taxa anual de crescimento de 3% e que a população de um país B seja aproximadamente de 200.000.000 habitantes com uma taxa anual de crescimento de 1.5%, fazer um programa que calcule e escreva o número de anos necessários para que a população do país A ultrapasse ou iguale a população do país B, mantidas estas taxas de crescimento. Salve o programa com o nome EC_1.PAS 2. Foi feita uma pesquisa para determinar o índice de mortalidade infantil em um certo período. Fazer um programa que: leia inicialmente o número de crianças nascidas no período leia, em seguida, um número indeterminado de linhas contendo, cada uma, o sexo de uma criança morta ('m' para masculino e 'f' para feminino) e o número de meses de vida da criança. A última linha, que não entrará nos cálculos contém no lugar do sexo a palavra "vazio". Este é o "sinal" para parar de ler dados. determine e imprima o a porcentagem de crianças mortas no período o a porcentagem de crianças do sexo masculino mortas no período 7

o a porcentagem de crianças que viveram 24 meses ou menos no período Salve o programa com o nome EC_2.PAS 3. Numa fábrica trabalham homens e mulheres divididos em três classes: A - os que fazem até 30 peças por mês B - os que fazem de 31 a 35 peças por mês C - os que fazem mais de 35 peças por mês A classe A recebe salário mínimo (vamos supor R$130). A classe B recebe salário mínimo e mais 3% do salário mínimo por peça, acima das 30 iniciais. A classe C recebe salário mínimo e mais 5% do salário mínimo por peça acima das 30 iniciais. Fazer um programa que: 3.1) Leia várias linhas, contendo cada uma: o número do operário o número de peças fabricadas no mês o sexo do operário 3.2) Calcule e escreva: o salário de cada operário o total da folha mensal de pagamento da fábrica o número total de peças fabricadas no mês a média de peças fabricadas pelos homens em cada classe a média de peças fabricadas pelas mulheres em cada classe o número do operário ou operária de maior salário A última linha lida, que servirá de flag, terá o número de operário igual a zero. Salve o programa com o nome EC_3.PAS. 4. Fazer um program que calcule e escreva o valor de S: S = 1/1 + 3/2 + 5/3 + 7/4 +...+ 99/50 Salve o programa com o nome EC_4.PAS 5. Número primo é aquele que só é divisível por ele mesmo e pela unidade. Fazer um programa que determine e escreva os números primos compreendidos entre os números A e B fornecidos como entrada pelo usuário. Salve o programa com o nome EC_5.PAS 8

Exercícios PROCEDIMENTOS e FUNÇÕES 1. Faça um programa Pascal composto de uma função Max e o programa principal, como segue: a) a função Max recebe, como parâmetros, dois números inteiros e retorna o maior. Se forem iguais, retorna qualquer um deles. b) o programa principal lê 5 séries de 4 números a, b, c e d. Para cada série lida, imprime o maior dos quatro números, usando a função Max. Salve o programa com o nome PF_1.PAS 2. Acrescente ao programa do ex. anterior uma procedure de nome ExibeTitulo, sem parâmetros, que imprime o texto seguinte no topo da tela: Salve o programa com o nome PF_2.PAS 1 80 1 UNEMAT Métodos de Programação Exercício 2 2 --------------------------------------------------------------------------------------------- 3. A Seqüência de Fibbonacci é a seguinte seqüência infinita de inteiros 1 1 2 3 5 8 13 21... onde o primeiro e o segundo valem 1 e, a partir do terceiro, cada termo é obtido pela soma dos dois antecessores. Escreva uma função Pascal que determine o n-ésimo termo dessa seqüência. O valor de N é passado como parâmetro do tipo word. Para testar a função, faça um pequeno programa principal que leia um valor N e imprima a frase O No. termo da Seqüência de Fibbonacci vale XXX. Salve o programa com o nome PF_3.PAS 4. Cálculo do fatorial de um número. Escreva uma função em Pascal para fazer isso. A seguir, escreva uma procedure para a mesma finalidade. Faça um programa principal que leia um número inteiro de 0 a 12 e imprima duas vezes o seu fatorial: a primeira vez chamando a função, a segunda, utilizando a procedure. Faça a validação (consistência) do número lido. Se estiver fora dos limites estabelecidos, imprima a mensagem Número inválido - redigite e solicite novo número. Salve o programa com o nome PF_4.PAS 5. Faça um programa que exiba, na tela, um menu de opções como segue (não esqueça de aproveitar a procedure Exibe Título): 1 80 1 UNEMAT - Métodos de Programação Exercício 6 2 --------------------------------------------------------------------------------------------- 1 - Calcula fatorial 2 - Fibbonacci 3 - Cálculo do maior 4 - Encerra o programa Digite sua opção: X 24 Opção inválida - redigite Se for digitada opção diferente das listadas, emitir a mensagem da linha 24 e voltar o cursor para nova opção. Conforme a opção digitada pelo usuário, uma procedure será chamada para executar uma tarefa, conforme segue: 9

opção 1: ler um número qualquer e imprimi-lo; se for inteiro no intervalo entre 0 e 15 (inclusive), calcular e imprimir seu fatorial; caso contrário, imprimir a mensagem Numero fora da faixa ou não é inteiro; (usar um dos subprogramas de cálculo de fatorial feito em exercício anterior); opção 2: ler um número inteiro e positivo K e imprimir os primeiros K termos da Seqüência de Fibbonacci, usando, para isso, a função que você criou em um exercício anterior desta lista; se o usuário digitar um número negativo ou nulo, dar uma mensagem de erro e pedir para digitar outro; opção 3: ler nome e idade de diversas pessoas, usando o nome Fim como flag para indicar o fim dos dados e imprimir a idade da pessoa mais velha; empregar a função Max, do exercício 1. Após a execução de qualquer opção, com exceção da 4, o menu deve ser exibido novamente. Salve o programa com o nome PF_5.PAS 6. Escreva a função QuerLerPessoa que pergunta ao usuário Quer ler dados de outra pessoa [S, N]?, lê a resposta e devolve TRUE ao programa chamador, se a resposta for S ou s, e FALSE, em caso contrário. Se a resposta for diferente de S, s, N, n, voltar a repetir a pergunta, sem dar nenhuma mensagem. Substituir o controle com flag pelo uso repetido da pergunta Quer ler dados de outra pessoa [S/N]?, na procedure que implementa a opção 3 do ex. anterior, introduzindo a chamada à função QuerLerPessoa. Salve o programa com o nome PF_6.PAS 7. Escreva um programa que lê um valor inteiro (maior do que 1 e menor ou igual a 10) e exibe a tabuada (até 10) de multiplicação do número lido. Salve o programa com o nome PF_7.PAS. Você deverá escrever as seguintes funções e procedimentos: Function LeNumero(n1,n2:integer):integer; Lê um número inteiro no intervalo especificado (n1,n2) e o devolve. Cada vez que for digitado um número inválido (fora do intervalo especificado) a função deve exibir a mensagem "Número inválido. Digite novamente!" Procedure Tabuada( n:integer ); Recebe como parâmetro um número inteiro e exibe na tela a tabuada de multiplicação até 10 do número lido. Exemplo: número lido 5 5 x 1 = 5 5 x 2 = 10... 5 x 10 = 50 8. Criar um procedimento que desenhe uma moldura na tela do micro. Faça no programa principal uma chamada a este procedimento, desenhando a moldura e após escrevendo "Alo Mundo" no meio da tela (X=35, Y=12). Para desenhar a moldura use os caracteres especiais da tabela ASCII estendida do Turbo Pascal. Para utilizar estes caracteres especiais pressione a tecla ALT e ao mesmo tempo um dos seguintes números no teclado numérico: ALT 200, ALT 201, ALT 205, ALT 186, ALT 187, ALT 188. Salve o programa com o nome PF_8.PAS 10