Universidade do Estado de Santa Catarina – CCT/UDESC
Comandos de entrada e saída
Aula prática
THOBER CORADI DETOFENO, MSC.
Aula 10
JOINVILLE
2013
Exemplo
Converter de C para Scilab
http://www.ime.usp.br/~macmulti/exercicios/funcoes1/
1. Um número a é dito permutação de um número b se os dígitos de a formam uma permutação
dos dígitos de b.
Exemplo: 5412434 é uma permutação de 4321445, mas não é uma permutação de 4312455.
Obs.: Considere que o dígito 0 (zero) não aparece nos números.
(a) Faça uma função contadígitos que dados um inteiro n e um inteiro d, 0 < d < 9, devolve
quantas vezes o dígito d aparece em n.
(b) Usando a função do item anterior, faça um programa que lê dois inteiros positivos a e b e
responda se a é permutação de b.
Exercício
Converter de Algoritmo para Scilab
Exercício
Converter de Algoritmo para Scilab
Exercício
Converter de Algoritmo para Scilab
A figura apresenta um algoritmo para determinar o maior elemento em cada linha de
uma matriz A de dimensão m × n.
Matéria
Vamos estudar o
Capítulo 7 – Comandos de Entrada e
Saída
Apostila scilab_2010_08.pdf
Comandos de Entrada
input
http://help.scilab.org/docs/5.4.0/pt_BR/input.html
x_mdialog
http://help.scilab.org/docs/5.4.0/pt_BR/x_mdialog.html
x_choices
http://help.scilab.org/docs/5.4.0/pt_BR/x_choices.html
x_choose
http://help.scilab.org/docs/5.4.0/pt_BR/x_choose.html
x_dialog
http://help.scilab.org/docs/5.4.0/pt_BR/x_dialog.html
x_matrix
http://help.scilab.org/docs/5.4.0/pt_BR/x_matrix.html
Comandos de Saída
DISP - disp(x1,[x2,...xn])
http://help.scilab.org/docs/5.4.0/pt_BR/disp.html
PRINT – print('file-name',x1,[x2,...xn])
http://help.scilab.org/docs/5.4.0/pt_BR/print.html
MSPRINTF - str=msprintf(format,a1,...,an);
http://help.scilab.org/docs/5.4.0/pt_BR/msprintf.html
MESSAGEBOX - [btn] = messagebox(msg)
http://help.scilab.org/docs/5.4.0/pt_BR/messagebox.html
WARNING - warning('string')
http://help.scilab.org/docs/5.4.0/pt_BR/warning.html
WAITBAR
http://help.scilab.org/docs/5.4.0/pt_BR/waitbar.html
Aula prática
O IBOP deseja fazer uma pesquisa a nível nacional. Serão entrevistadas várias pessoas.
Cada pessoa deve responder a um questionário formado pelos seguintes itens:
1. Sexo: ( )M ( )F
2. Idade: ____ anos
3. Fumante: ( )S ( )N
Assim, faça um programa Scilab que, a partir das entrevistas realizadas, responda as
seguintes perguntas:
a) Qual é o percentual de fumantes em relação ao número total de pessoas
entrevistadas?
b) Qual é o percentual de homens não fumantes abaixo de 40 anos em relação ao
número total de homens entrevistados?
c) Qual é o percentual de mulheres fumantes acima de 40 anos em relação ao número
total de mulheres entrevistadas?
Observação: a parada do processamento do programa deve ocorrer no momento em
que se fornecer o valor zero para a idade de uma pessoa.
Aula prática
Faça um programa em SciLab que realize algumas operações em vetores. O vetor utilizado nas operações deve
guardar elementos numéricos inteiros. O programa deve possuir um menu principal através do qual o
usuário pode escolher a opção que deseja. As operações (opções do menu principal) são:
• Cadastro de um elemento qualquer no vetor. Neste caso, o usuário deverá fornecer um elemento e o
programa deverá cadastrá-lo no vetor, de tal forma que o vetor sempre permaneça ordenado
ascendentemente, de acordo com os elementos anteriormente cadastrados. É permitida a inclusão de um
valor numérico que já exista no vetor.
• Pesquisa por um elemento qualquer no vetor. Neste caso, o usuário deverá entrar com o elemento a ser
pesquisado e o programa deverá retornar, caso o elemento exista no vetor, a(s) posição(ões) em que o
mesmo se encontra no vetor; caso contrário, o programa deverá retornar uma mensagem de erro.
• Alteração de um elemento dado a sua posição no vetor. Neste caso, o usuário deverá entrar com a posição
desejada e o programa deverá permitir a alteração do elemento desta posição, caso a mesma exista, para
um novo elemento a ser fornecido pelo usuário. Caso a posição não exista, o programa deverá retornar
uma mensagem de erro.
• Remoção de um elemento. Neste caso, o usuário deverá entrar com o elemento a ser removido e o programa
deverá remover tal elemento do vetor, em todas as posições em que o mesmo aparece. Caso o elemento
não exista no vetor, deve ser apresentada uma mensagem de erro. Não é permitido deixar um “buraco
vazio” no vetor; todos os elementos do mesmo devem estar em posições consecutivas.
• Listagem do vetor. Neste caso, o programa deverá apresentar todos os elementos contidos no vetor corrente.
Aula Prática
Uma determinada prova de múltipla escolha consiste de 10 questões, sendo numeradas de 1 a 10.
Cada questão vale 3 pontos e admite uma resposta dentre as opções A, B, C ou D. Esta prova foi
aplicada em uma turma de, no máximo, 30 alunos e, a partir de tal aplicação, foi gerado um
arquivo texto denominado "resposta.txt" contendo, na primeira linha, o gabarito oficial da prova
(nas colunas 1, 3, 5, 7, 9, 11, 13, 15, 17 e 19 encontram-se, respectivamente, as respostas
corretas das 10 questões da prova) e, nas demais linhas, os seguintes dados sobre um
determinado aluno da turma para a qual a prova foi aplicada:
respostas da prova: caracteres (ocupam as colunas 1, 3, 5, 7, 9, 11, 13, 15, 17 e 19);
matrícula: valor inteiro constituído por 5 dígitos (ocupa as colunas 21 a 25);
nome: cadeia de, no máximo, 30 caracteres (ocupa as colunas 27 a 56).
Assim, faça um programa em SciLab que calcule e apresente a quantidade de pontos que cada aluno
obteve na prova. No caso, devem ser armazenadas, em um arquivo texto denominado
"resultado.txt”, as seguintes informações para cada aluno da turma: matrícula, nome e a
pontuação obtida pelo mesmo na prova. Ademais, no próprio arquivo "resultado.txt”, devem ser
também armazenados:
o(s) nome(s) do(s) aluno(s) que apresentou(aram) a maior pontuação da prova;
para cada questão da prova, a quantidade de alunos que acertaram e que erraram a mesma.
Download

Slide 1