Exercícios. Resposta: a) var valor: real; i: integer. b)

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

Linguagem Pascal. Prof. Antonio Almeida de Barros Junior

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

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

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

Agregado Homogêneo e Heterogêneo

Resumo 2 - Mapeamento Portugol-Pascal

Introdução ao Pascal. Computação I. Níveis de Linguagens de Programação. Níveis de Linguagens de Programação. Como um Programa é Executado?

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

Linguagem de programação: Pascal

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

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

Pascal. -Cabeçalho do programa. - label - const - type - var - procedure - function. - integer - real - byte - boolean - char - string

ALGORITMOS VARIÁVEIS E OPERADORES. Prof. Angelo Augusto Frozza, M.Sc.

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)

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

Refinamentos sucessivos

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

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

O AMBIENTE DE PROGRAMAÇÃO VISUAL -PLANO DE ENSINO. Prof. Angelo Augusto Frozza, M.Sc.

FERRAMENTAS BÁSICAS DA PROGRAMAÇÃO

Elementos básicos das linguagens de programação

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

Tutorial de Turbo Pascal

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

CIT Aula 02 Variáveis e Estruturas de desvio condicional. Autor: Max Rodrigues Marques Carga Horária: 2 h 22/07/15 1

Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador;

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

Organização de programas em Pascal

ALGORITMOS + PASCAL. Estruturas de dados Heterogêneas

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

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

LISTA DE EXERCÍCIOS: 1ª Unidade

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

Estruturas de Controle em c#

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

IFTO TÉCNICO EM INFORMÁTICA DESENVOLVIMENTO DE SISTEMAS AULA 01

Capítulo IV : A Linguagem Pascal Ficheiros de Texto

Estrutura de Decisão - Case

1. [VETOR][SALA] Cálculo da média aritmética de 10 valores armazenados em um vetor.

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

Computação Eletrônica

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

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

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

Olá pessoal, Hoje vamos entender os conceitos sobre linguagem de programação. Definição, tipos de linguagens e as linguagens mais utilizadas

Estruturas de Repetição

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

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

Algoritmos II prof. Daniel Oliveira

Estrutura de decisão

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

Lista de exercícios Matrizes

Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica.

Introdução a Linguagem C. Prof. Me. Hélio Esperidião

Introdução aos. Computadores e Programação. Material de Apoio à Disciplina de Introdução aos Computadores e Programação Fascículo 1

Universidade Federal de Goiás Instituto de Informática Introdução à Computação Professor: Julliano Rosa Nascimento

ARQUIVOS. Os arquivos criados em meios magnéticos poderão ser acessados para leitura e escrita na forma seqüencial, direta ou indexada.

Programação Introdução

Introdução à Programação

Estrutura Condicional em Pascal

Lista de exercícios Matrizes

PROG. DE COMPUTADORES II SI Arquivos

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

Laboratório de Programação II

Linguagem e Técnicas em Programação. Gilson de Souza Carvalho

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

Vetores Unimensionais

Vetores Unimensionais

Transcrição:

Exercícios 1.Sabendo que a função frac retorna a parte fracionária de um número. Ex: frac(10.7) 0.7 Faça: a) Declare as iáveis do código abaixo. b) Escreva como seria a saída desse código na tela do computador. valor := 14.6; for i:=3 downto 1 do writeln( frac(valor):0:2 ); valor := valor 0.6; a) valor: real; i: integer b) 0.60 0.00 0.40 2. Crie um programa capaz de ler o nome e a nota de três alunos e de exibir sua média. Para gra esses dados, você deve usar um registro e um vetor. Program prova02; type tipoaluno = record nota: real; alunos: array[1..3] of tipoaluno; soma, media: real; i: integer; for i:=1 to 3 do writeln( 'Aluno ', i ); write( 'Informe o nome: ' ); readln( alunos[i].nome ); write('informe a nota dele: '); readln( alunos[i].nota ); soma := soma + alunos[i].nota; media := soma / 3; writeln('média das notas: ', media:0:2 );

3. Escreva a saída do seguinte trecho de código: Nota: a função succ fornece o próximo caractere da sequência. Ex.: succ('a') 'b';succ('j') 'K' i: integer; nome := 'OQNUA'; for i:=1 to 4 do nome[i] := succ( nome[i] ); writeln( nome ); Análise do programa: nome := 'OQNUA'; // definimos o valor do vetor: ['O','Q','N','U','A'] // assim,em nome[1], temos 'O'; em nome[2], temos 'Q' // em nome[3], temos 'N', em nome[4], temos 'U' // em nome[4], temos 'A' for i:=1 to 4 do // a iável i vai assumir valores de 1 até 4 // o código até o vai executar 4 vezes nome[i] := succ( nome[i] ); //na 1ª vez, i 1 // então, nome[1] := succ( nome[1] ), que é: // nome[1] := succ( 'O' ), que é: // nome[1] := 'P' // assim, os valores do vetor agora são: ['P','Q','N','U','A'] //na 2ª vez, i 2 // então, nome[2] := succ( nome[2] ), que é: // nome[2] := succ( 'Q' ), que é: // nome[2] := 'R' // assim, os valores do vetor agora são: ['P','R','N','U','A'] // e isso vai até a 4ª vez // então, escrevemos a string (o vetor de caracteres que trabalhamos) // na tela: writeln( nome ); PROVA

4. Faça um programa para que ele permita encontrar um dos itens desse vetor: ['x','z','k','f','t','p','t','a'] Program provabusca; todasletras: array[1..8] of char = ('x','z','k','f','t','p','t','a'); letra: char; i, posicao: integer; achou: boolean; writeln('qual letra deseja encontrar?'); readln(letra); achou := False; for i:=1 to 8 do if ( todasletras[i] = letra) then achou := True; posicao := i; if achou then writeln('achei sua letra na posição ', posicao) writeln('não achei essa letra no vetor'); 5. Temos a iável matriz na memória do computador: 1 3 4 9 10 4 7 3 8 33 Responda: a) Como a iável foi declarada no programa? b) Escreva o trecho de código necessário para trocar os números em negrito por: 11, 12, 13, 14. c) Escreva um código capaz de imprimir todos os números da matriz na tela. Reposta: a) // bom, a matriz junto aos índices é assim: índices 1 2 3 4 5 1 1 3 4 9 10 2 4 7 3 8 33 // matriz: array[linhas, colunas] do tipo inteiro; matriz: array[1..2, 1..5] of integer; b) // então, vamos trocar: 3 por 11, 9 por 12, 4 por 13 e 33 por 14 //assim: matriz[linha_desejada, coluna_desejada] := novo valor; matriz[1,2] :=11; matriz[1,4] :=12; matriz[2,1] :=13; matriz[2,5] :=14; c) for i:=1 to 2 do for j:=1 to 5 do write( matriz[i,j]:5 ); writeln();

6. Em um programa de computador, uma pessoa implementou vários cálculos utilizando iáveis inteiras. Porém, os resultados foram diferentes dos resultados que ele obteve no teste de mesa. Assim, responda: qual foi o erro do programador? Dê um exemplo. Ele utilizou uma iável com limite de armazenamento errado. Por exemplo: Program prova06; numero: shortint; numero := 127; numero := numero + 1; writeln('número:', numero); // vai imprimir na tela o número 1 e não o número 256, pois em um // byte só pode-se armazenar valores de 0 até 255 7. Crie um código correspondente ao abaixo utilizando while: repeat writeln('digite um número:'); readln(num); until (num = 3) or ( (num >= 5) and (num < 8) ); Análise: o while recebe o contrário da condição do repeat, pois eles fazem: while: Enquanto a condição for verdadeira, executa seu escopo. repeat: Repita o seu escopo até que a condição do until seja verdadeira, ou seja, repita o seu escopo enquanto a condição do until for falsa. Quando verdadeira, saia do laço Então, temos que transformar a condição no seu valor contrário. Assim, temos: (num = 3) or ( (num >= 5) and (num < 8) ) então: Condição Contrário da Condição num = 3 num <> 3 num >= 5 num < 5 num < 8 num >= 8 or and and while (num <> 3) and ( (num < 5) or (num >= 8) ) do writeln('digite um número:'); readln(num); or

8. Faça um programa para: a) pedir o nome do usuário; b) informar se a primeira letra do nome é uma vogal ou consoante (nota: utilize o case); c) contar quantas vogais tem o nome da pessoa (nota: utilize o for/while/repeat e o case); c) contar quantas consoantes tem o nome da pessoa (nota: utilize o for/while/repeat e o case); Program prova08; i, contadorvogal, contadorconsoante: integer; // letra a writeln('digite seu nome:'); readln(nome); // letra b case nome[1] of 'a','e','i','o','u': writeln('seu nome começa com uma vogal.'); writeln('seu nome começa com consoante.'); // letra c e letra d contadorvogal := 0; contadorconsoante := 0; for i:=1 to length(nome) do case nome[i] of 'a','e','i','o','u': inc(contadorvogal); inc(contadorconsoante); writeln('seu nome tem ', contadorvogal, ' vogais.'); writeln('seu nome tem ', contadorconsoante, ' consoantes.');