Programação de Computadores



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

Sumário. Ciência da Computação. Prof. Dr. Leandro Alves Neves. Aula 10. Algoritmos e Programação. Enquanto (Teste no início) Repeat (Teste no final)

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

Introdução à Programação 2006/07. Algoritmos

tipoveiculo = (bicicleta, motociclo, motorizada, automovel, autocomreb, camioneta, autocarro, camiao, reboque); veiculo : tipoveiculo;

PROF. Menezes. program ex17; uses wincrt; var i, a, cont: integer;

Teste de P1 12 de Dezembro 2001

Linguagem Pascal. Prof. Jonatas Bastos Site:

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

Linguagem Pascal. Prof. Antonio Almeida de Barros Junior

Aulas Anteriores. Detalhes da linguagem de programação

3. 1. Teste no Início do Ciclo (Repetição enquanto ):

Universidade Estadual Vale do Acaraú Curso: Ciências da Matemática Disciplina: Introdução à Computação Prof. Hudson Costa

5. ESTRUTURA DE CONTROLE TOMADA DE DECISÕES

Exercícios sobre o Capítulo III

Aula Anterior. Decomposição algorítmica (continuação)

Notas de Aula de Algoritmos e Programação de Computadores

Procedimento. Função. Selecção Condicional - a instrução if-then-else. expressão if lógica then instrução else instrução

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

Teste de Introdução à Computação 11 de Junho 2003, 17:00-19:00 (Duração: 2 horas) Universidade do Algarve

Programando o Computador com PascaL: um ambiente para Auto-Aprendizagem.

6) ESTRUTURA DE UM PROGRAMA

Estruturas de Repetição

Teoria da Computação e Algoritmos. Introdução à Linguagem Pascal. ALGORITMO <Nome do algoritmo>; <definições>; INÍCIO <Comandos>; FIM.

Ficha de Trabalho N.º5 Soluções Propostas

Sequencial Estrutura de controlo mais simples. As instruções são executadas sequencialmente.

Estruturas de Repe,ção e Manipulação de Texto

Variáveis Compostas Heterogêneas. Variável Composta Heterogênea. Variável Composta Heterogênea

PASCAL Adriano Mauro Cansian André Proto

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

Apontamentos de matemática 5.º ano - Múltiplos e divisores

Estrutura de decisão

Sintaxe do Pascal Simplificado Estendido de 12 novas construções em Notação EBNF (BNF estendida)

Linguagem de programação: Pascal

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

Ciência da Computação

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

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

Capítulo V : A Linguagem Pascal Um Tipo Estruturado de Dados: o array 18. Para limite de n até 2 (* passagens de 1 até (n-1) *)

Estruturas de Controle

Programação. Folha Prática 4. Lab. 4. Departamento de Informática Universidade da Beira Interior Portugal Copyright 2010 All rights reserved.

UNIVERSIDADE ESTADUAL PAULISTA. Apostila Pascal Ed Prof. Dr. Galeno José de Sena DMA/FEG CAPÍTULO 8

Representação de Algoritmos - Linguagens de Programação

PHP Estruturas de repetição

LINGUAGEM PASCAL Elementos básicos e estrutura

VARIÁVEIS NUMÉRICAS : integer - Números inteiros entre e real - Números reais de 11 algarismos significativos.

Disciplina Programação Prof. Esp. Armando Hage. Programação em Turbo Pascal

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

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

Programação para Computação

Linguagens de Programação:

Computação Eletrônica

Departamento de Engenharia Rural Centro de Ciências Agrárias. Programação I

I1, I2 e In são instruções simples ou estruturadas da linguagem Pascal.

Capítulo VI : Subprogramas

Estruturas de Controle. Estrutura de Seleção. Estrutura de Seleção

Capítulo IV : A Linguagem Pascal Ficheiros de Texto

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

Resumo 2 - Mapeamento Portugol-Pascal

Linguagem Pascal. Definição e Tipos de Dados. Professora Lara Popov Zambiasi Bazzi Oberderder. Linguagem PASCAL 1

LISTA DE EXERCÍCIOS O que será escrito quando os algoritmos/trechos de algoritmos abaixo forem executados (fazer no papel)?

Lista 13. Program Pzim ; var dez : array [ ] of real; i:integer; Begin //lê 10 valores for i:= 1 to 10 do readln(dez[i]); //calcula

1) Digitar o código-fonte no editor do compilador Turbo Pascal para windows, exatamente como apresentado a seguir:

Unidade VI. Técnicas de Teste de Software Teste Estrutural. Profa. Dra. Sandra Fabbri

Métodos de Programação I Ana Maria de Almeida

LISTA DE EXERCÍCIOS 15 ( Matrizes (7Cs))

Análise e Desenvolvimento de Algoritmos (2006/2007)

APÊNDICE A - FUNDAMENTOS DA LINGUAGEM DE PROGRAMAÇÃO PASCAL.

Refinamentos sucessivos

Programação I. Departamento de Engenharia Rural Centro de Ciências Agrárias

Considere uma máquina que utiliza uma palavra de 10 bits. Suponha o seguinte padrão de bits:

Introdução à Computação

VARIÁVEIS INDEXADAS VETORES E MATRIZES

Modularidade. Objetivos: Introduzir noções básicas de modularidade. Funções e procedimentos

syntax highlighted by Code2HTML, v

Capítulo VII : A Recorrência

Capítulo V : Um Tipo Estruturado de Dados: o array

2.2.5 EXPRESSÕES - Regras para o cálculo de valores

Programação em FORTRAN V. João Manuel R. S. Tavares

Instituto Superior de Engenharia do Porto Programação (SEE)

EXEMPLOS DE PROGRAMAS PASCAL

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

Programação. Folha Prática 5. Lab. 5. Departamento de Informática Universidade da Beira Interior Portugal. Copyright 2010 All rights reserved.

Linguagem Pascal. Prof. Sérgio Rodrigues. É a descrição, de forma lógica, dos passos a serem executados no cumprimento de determinada tarefa;

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

Exercícios: comandos de repetição

Linguagem de Programação Pascal - Introdução

Repetição com contador. DO varcontrole = valorinicial, valorfinal, [passo] instruções END DO

Estruturas de Repetição Embutidas. APROG (Civil) Aula 11

Capítulo III : A Linguagem Pascal Estruturas de Controlo

Introdução à Computação II Unesp Rio Claro 2012Prof. Rafael Oliveira

2. Construa um algoritmo para determinar os números primos menores ou iguais a 1000.

Elementos básicos das linguagens de programação

Introdução à Ciência da Computação

FACCAT Sistemas de Informação. Estruturas de Dados

Estruturas de controlo condicional

Introdução à Engenharia ENG1000

Ficha 1 Noções de sequência e decisão em algoritmia

Introdução à Programação 2006/2007. Resolução da Ficha de Problemas nº 1

VARIÁVEIS INDEXADAS VETORES E MATRIZES

Transcrição:

Programação de Computadores Engenharia Electrotécnica 1º Ano - 1º Semestre Instituto Politécnico de Viseu Escola Superior de Tecnologia Ficha de Trabalho nº 4 - Soluções Propostas 1 - Escreva um programa em Pascal que leia um número inteiro positivo N e calcule o maior número par P tal que a soma de todos os números pares inferiores a P seja inferior a N. Por exemplo, se o valor dado N for 57 então o resultado será P=14 porque 2 + 4 + 6 + 8 + 10 + 12 + 14 = 56. program somapares(input, output); { objectivo: utilização do while; inicialização de variáveis} var numero, par, soma: integer; soma := 0; par := 0; write('introduza um número inteiro positivo: '); while soma < numero do par := par + 2; soma := soma + par; writeln('o Valor de P é ', par - 2); 2 - Modifique o programa anterior por forma a verificar se N é positivo. N deve ser pedido ao utilizador até que o utilizador escreva um número superior a zero. program somapares2(input, output); {objectivo: utilização do while; inicialização de variáveis.} var numero, par, soma: integer; soma := 0; par := 0; write('introduza um número inteiro positivo: '); until numero > 0; while soma < numero do par := par + 2; soma := soma + par; writeln('o Valor de P é ', par - 2);

3 - Escreva um programa em Pascal que leia um número inteiro positivo (integer) e inverta a ordem dos seus dígitos. Por exemplo, se o número dado pelo utilizador for 3454 o resultado deve ser 4543 (Sugestão: retire o dígito da direita do número através de sucessivas divisões por 10. Tenha em atenção os casos em que o número acabe em 0, isto é, se o número dado for 4300 o resultado deve ser 34). program reverse(input, output); var numero, digito: integer; { objectivo: e while;} write('introduza um número inteiro positivo: '); {atenção: valor máximo=maxint=32767 } until (numero > 0); inverso := 0; while numero <> 0 do digito := numero mod 10; numero := numero div 10; inverso := inverso * 10 + digito; write( O número invertido é, inverso); 4 - Escreva um programa em Pascal que escreva os N primeiros termos da série de Fibonacci. O valor N é pedido ao utilizador e deve ser positivo. A séries de Fibonacci é definida do seguinte modo: F(1) = 1 F(2) = 1 F(i+2) = F(i+1) + F(i) para i = 1, 2, 3, program fibonacci(input, output); {objectivo: while; ; variáveis temporárias;} var n, termo, i: integer; termo_ant, { termo_ant -> F(i-1) } termo_ant_ant: integer; { termo_ant_ant -> F(i-2) } writeln('escreva um número inteiro positivo.'); write('-> '); readln(n); if n <= 0 then writeln('o número deve ser positivo.') until n > 0; writeln(1); { n >= 1 sempre } termo_ant_ant := 1; { termo_ant_ant = F(1) } if n >= 2 then writeln(1); { F(2) = 1 } termo_ant := 1; { termo_ant = F(2) } i := 2; { inicialização do iterador } while i < n do termo := termo_ant + termo_ant_ant; writeln(termo); termo_ant_ant := termo_ant; termo_ant := termo; i := i + 1; 2/7

5 - Escreva um programa em Pascal que escreva a tabela de multiplicações 10x10. program tabuada(input, output); { objectivo: while ou aninhados; } var i, j: integer; j:=1; i := 1; write(i*j:5); i := i + 1; until i > 10; writeln; j := j + 1; until j > 10; 6 - Escreva um programa em Pascal que implemente o jogo do palpite. Um utilizador introduz um número inteiro entre 0 e 100 (o programa deve obrigar a que seja um número dentro destes limites) e um segundo utilizador tenta adivinhar esse número. O programa deve indicar se o número dado no palpite é superior ou inferior ao número a adivinhar. program jogopalpite(input, output); { objectivo: while; ; condições múltiplas para terminação de ciclo; variável de guarda (certo).} uses crt; var numero, palpite: integer; certo: boolean; write('jogador 1: introduza um valor entre 0 e 100: '); until (numero >= 0) and (numero <= 100); clrscr; certo := false; { inicialização da variável de guarda } writeln('jogador 2: '); write('qual o seu palpite? '); readln(palpite); if palpite > numero then writeln('tente um palpite inferior!') else if palpite < numero then writeln('tente um palpite superior!') else writeln('bingo! Acertou.'); certo := true; until certo; 3/7

7 - Acrescente ao programa anterior um contador de tentativas. program jogopalpite2(input, output); { objectivo: ciclos; condições múltiplas para terminação de ciclo; variável de guarda (certo); utilização de contador. } uses crt; var numero, palpite, tentativas: integer; certo: boolean; write('jogador 1: introduza um valor entre 0 e 100: '); until (numero >= 0) and (numero <= 100); clrscr; certo := false; { inicialização da variável de guarda } tentativas := 0; { inicialização do contador } writeln('jogador 2: '); write('qual o seu palpite? '); readln(palpite); tentativas := tentativas + 1; if palpite > numero then writeln('tente um palpite inferior!') else if palpite < numero then writeln('tente um palpite superior!') else writeln('acertou em ', tentativas, ' tentativas.'); certo := true; until certo; 8 - Escreva um programa que calcule a soma dos N primeiro números inteiros, escrevendo em cada iteração o total acumulado. program somannumeros(input, output); { objectivo: ciclo for. Determina a soma dos N primeiros nº inteiros} var n,soma,i:integer; write('n : ');readln(n); soma:=0; for i:=1 to N do soma:=soma+i; writeln(soma); writeln('soma: ',soma); 9 - Escreva um programa que calcule a soma da seguinte série de N termos: 1 1 1 1 1 1 + + + 2 4 6 8 10 program serie(input, output); { objectivo: utilizar o ciclo for. Determina a soma dos N termos 1-1/2 +1/4-1/6...} var n,i,sinal:integer; soma:real; 4/7

write('n : ');readln(n); soma:=1; sinal:=-1; for i:=1 to N-1 do soma:=soma+(sinal/(2*i)); sinal:=sinal*-1 writeln('soma: ',soma:2:6); 10 - Escreva um programa em Pascal que calcule a tabuada de um número inteiro i dado pelo utilizador no formato i x 1 = i i x 2 = 2i... program tabuada(input, output); { objectivo: ciclo for. Calcular a tabuada de um número dado pelo utilizador.} var i, n: integer; for i:= 1 to 3 do writeln('eu sei a tabuada...'); writeln; write('vou-lhe dizer a tabuada. De que número quer saber? '); readln(n); for i := 1 to 10 do writeln(n:2, ' x ', i:2, ' = ', n*i:2); 11 - Modifique o programa da alínea anterior por forma a calcular a tabuada toda de 0 a 10, parando o output entre cada tabuada. program tabuadatoda(input, output); { objectivo: ciclos for aninhados. Calcular a tabuada toda de um a dez. } var i, j: integer; write('vou dizer a tabuada toda. Tecle para continuar...'); for i := 1 to 10 do for j := 1 to 10 do writeln(i:2, ' x ', j:2, ' = ', i*j:2); end 12 - Escreva um programa que desenhe o seguinte triângulo: * *** ***** ******* ********* program triangulo(input, output); { objectivo: ciclo for. } var i, j: integer; for i := 1 to 5 do write(' ':30-i); for j := 1 to 2*i-1 do write('*'); writeln; 5/7

13 - Modifique o programa da alínea anterior, para que forneça uma pirâmide direita ou uma pirâmide invertida ou um losango, com um número de linhas dado pelo utilizador e de acordo com uma opção por ele indicada. 14 - Sendo dado o valor de N, compreendido entre 0 e 9, produza uma pirâmide de números de acordo com o exemplo seguinte para N=5. 1 121 12321 1234321 123454321 program piramidenumeros(input, output); { objectivo: outra forma de escrever uma piramide com vários ciclos for. ciclos for decrescentes (downto). } var n,i,j:integer; write('n: ');readln(n); for i:=1 to n do for j:=i+1 to n do write(' '); for j:=1 to i do write(j); for j:=i-1 downto 1 do write(j); writeln 17- Escreva um programa que calcule o capital acumulado com base num capital inicial, uma taxa de juro e um número de anos (pedidos ao utilizador). Exemplo: Capital inicial: 1000Є % Juros: 10 Nº de anos: 9 Ao fim de 9 anos, com capital inicial de 1000Є o capital final obtido é igual a 2357.948Є. program capitalacumulado(input, output); { objectivo: ciclos for. inicialização de variáveis.} var anos, i: integer; capital, capitaltotal, juro, taxa: real; write(' Capital inicial: '); readln(capital); write(' % Juros: '); readln(juro); write('nº de anos: '); readln(anos); taxa := juro*0.01; capitaltotal := capital; for i := 1 to anos do capitaltotal := capitaltotal * (1 + taxa); write('ao fim de ', anos, ' anos, com capital inicial de '); write(capital, ' Euros, o capital final obtido é'); writeln(' igual a ', capitaltotal, ' Euros.'); 6/7

15 - Escreva um programa que calcule a média das N notas do utilizador. 7/7