Контрольные по информатике

  • Вид работы:
    Реферат
  • Предмет:
    Другое
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    109,32 kb
  • Опубликовано:
    2009-01-12
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Контрольные по информатике

Задание №1.

Вариант Р.

1. Какие строковые функции используются в Турбо-Паскале? Задайте какие-либо строковые переменные и примените к ним строковые функции.

 

          В Турбо-Паскале существует тип данных String (строка), специально предназначенный для обработки строк (цепочек символов). Он не относится к простым типам данных и занимает промежуточное место между простыми и структурированными типами данных.

          Переменная типа String состоит из цепочки символов, т.е. элементов типа Char. Строки могут выводиться на экран монитора посредством стандартных процедур Write и WriteLn и вводиться с помощью стандартной процедуры ReadLn или Read. В большинстве случаев переменные типа String используются для хранения слов и сообщений, состоящих из нескольких символов.

          Турбо-Паскаль представляет в распоряжение пользователей целый ряд процедур и функций, предназначенных для обработки строк.

          Length — позволяет определить фактическую длину текстовой строки, хранящейся в указанной переменной.

Var

       Words: String;

Begin

       Write (‘ Введите слово:’);

       ReadLn (Words);

       WriteLn;

       WriteLn (‘Это слово состоит из ‘, Length (Words),’букв’);

End.

          UpCase — позволяет преобразовать любой символ из строчного в прописной. Эта функция рассчитана на обработку отдельного символа. Русские литеры не могут обрабатываться этой функцией.

Var

       S: String;

I: Integer;

Begin

       S:=’alex’;

       For I=1 to 4 do S[I]:=UpCase (S[I]);

       WriteLn (S);

End.

На экран будет выведена надпись: ALEX.

          Copy — позволяет копировать фрагмент некоторой строки из одной переменной в другую. Вызывая данную функцию необходимо указать следующие параметры:

1) имя строки, из которой должен извлекаться копируемый фрагмент;

2) позицию в строке, начиная с которой будет копироваться фрагмент;

3) число копируемых символов.

Var

       s:string[8];

       s1:string[3];

Begin

       s:=’домашний’;

       s1:=Copy (s,1,3);

       writeln (s1); {на экран выводится: дом}

End.

          Pos — с помощью этой функции можно осуществить в некоторой строке поиск определенного фрагмента. Если заданный фрагмент в строке присутствует, то функция возвращает номер позиции в строке, с которой этот фрагмент начинается. Если фрагмент не найден в строке, то функция возвращает нуль.

...

s:=’машина’;

i:=pos (‘шина’,s);

if i=0 then writeln (‘ данный фрагмент не содержится в строке’) else

writeln (‘ данный фрагмент содержиться в строке начиная с ‘,i:3,’ позиции.’);

...

2. Как формируется имя переменной файлового типа в тексте программы? По каким правилам формируется имя файла в операционной системе MS-DOS? Какая процедура используется для связывания конкретной файловой переменной программы с конкретным файлом на внешнем устройстве? Приведите примеры имен файловой переменной и имен файла на внешнем устройстве.

 

          Правила формирования файловой переменой в языке Турбо-Паскаль совпадают с правилами формирования обычной переменной:

1) переменная должна состоять из латинских строчных и/или прописных букв, а также арабских цифр от 0 до 9 (цифры можно использовать наряду с буквами начиная со второй позиции) и символа подчеркивания (ASCII-код 95);

2)  имя переменной должно начинаться с латинской буквы или символа подчеркивания;

3) пробел в Турбо-Паскале является разделителем и не может быть использован в имени переменной;

4) применение других символов в именах переменных не допускается;

5) зарезервированные слова также не могут быть использованы в качестве имен переменных.

Имена файлов в системе MS-DOS.

      Каждый файл на диске имеет обозначение, которое состоит из двух частей: имени и расширения ( часто имя и расширение вместе также называют именем, как правило, это не приводит к путанице). В имени файла может быть от 1 до 8 символов. Расширение начинается с точки, за которой следует от 1 до 3 символов. Например:

command.com

autoexec.bat

config.sys

paper.doc

   Имя и расширение могут состоять из прописных и строчных латинских букв, цифр и символов: - _ $ # & @ ! % () {} ’ ~ ^

   Расширение имени файла является необязательным. Оно, как правило, описывает содержимое файла, поэтому использование расширения файла весьма удобно.

   В имени и расширении имени файла прописные и строчные латинские буквы являются эквивалентами, так как  DOS переводит все строчные буквы в соответствующие прописные буквы.

   Процедурой, которая связывает имя файловой переменной с конкретным файлом на диске, является процедура Assign(<имя файловой переменной>,<имя файла на диске>).

Var

   filename: file of integer;

   path:string;

Begin

   write (‘ Введите имя файла на диске:’);

   readln (path);

   assign (filename,path);


Задание №2.

9.Вычислить значение переменной по расчетной формуле и исходным данным. На экран вывести значение исходных данных и результаты расчетов.

Q=

uses crt;

var

   q,b,s,x:real;

begin

     clrscr;

     write ('Введите значение x:');

     readln (x);

     write ('Введите значение b:');

     readln (b);

     write ('Введите значение s:');

     readln (s);

     clrscr;

     q:=(b*sqrt(x)-s)/(exp(s*x)-1);

     writeln ('Исходные данные');

     writeln ('x=',x:5:2,',b=',b:5:2,',s=',s:5:2);

     writeln ('Результат');

     writeln ('Q=',q:8:2);

     readln;

end.

 

Задание №3а.

9. Ввести одномерный массив X вещественных чисел. Размерность массива 7. Переписать элементы этого массива в обратном порядке в массив Y. Вывести на экран массивы X и Y.

 

uses crt;

var

  x,y:array [1..7] of real;

  i:integer;

begin

     clrscr;

     writeln ('Ввод элементов массива');

     for i:=1 to 7 do

        begin

           gotoxy (29,2);

           writeln ('                                ');

           gotoxy (1,2);

           write ('Введите ',i,'-й элемент массива:');

           readln (x[i]);

        end;

     for i:=7 downto 1 do y[i]:=x[8-i];

     clrscr;

     writeln ('Массив X:');

     for i:=1 to 7 do

     begin

       write (x[i]:3:2,';');

     end;

     writeln;

     writeln ('Массив Y:');

     for i:=1 to 7 do

     begin

       write (y[i]:3:2,';');

     end;

end.

Задание №3б.

9. Написать программу анализа динамики поквартального роста дохода различных социальных слоев населения в течении года. Для этого ввести количество категорий слоев населения, название категорий населения и величину дохода каждой категории по кварталам. Определить средний доход по всем категориям за каждый квартал и во сколько раз увеличился доход в четвертом квартале по сравнению с первым. Исходные данные и результаты расчетов представить в виде таблицы.

uses crt;

type

     tkat_inf=record

        name:string[30];

        income:array [1..4] of real;

     end;

var

     num,int:integer;

     kat_inf:array [1..100] of tkat_inf;

     first,second,third,forth:real;

procedure input_data(var n:tkat_inf);

var i:integer;

begin

   write ('Введите название категории:');

   readln (n.name);

   for i:=1 to 4 do

   begin

      gotoxy (44,2);

      writeln ('    ');

      gotoxy (1,2);

      write ('Введите доход данной группы за ',i,'-й квартал:');

      readln (n.income[i]);

   end;

end;

procedure output_data (b:tkat_inf);

var i:integer;

begin

   writeln

(b.name:30,'|',b.income[1]:7:2,'|',b.income[2]:7:2,'|',b.income[3]:7:2,'|',b.income[4]:8:2,'|',b.income[4]/b.income[1]:15:2);

   writeln ('------------------------------+-------+-------+-------+--------+---------------');

end;

Begin

   clrscr;

   num:=101;

   while num>100 do

   begin

      write ('Введите количество категорий населения (<=100):');

      readln (num);

   end;

   for int:=1 to num do input_data (kat_inf[int]);

   clrscr;

   writeln ('-----------------------------------------------------------------------------------------');

   writeln ('Название категории            |         Средний  доход         | Увеличение    ');

   writeln ('                                            |----------------------------------|   дохода          ');

   writeln ('                                            |   I      |  II      |  III     |  IV    |   за год      ');

   writeln ('----------------------------------+-------+-------+-------+-------+------------------');

   for int:=1 to num do

   begin

      output_data (kat_inf[int]);

      first:=first+kat_inf[int].income[1];

      second:=second+kat_inf[int].income[2];

      third:=third+kat_inf[int].income[3];

      forth:=forth+kat_inf[int].income[4];

   end;

   writeln ('средний доход за квартал      |',first/num:7:2,'|',second/num:7:2,'|',third/num:7:2,'|',forth/num:8:2,'|      -');

   writeln ('-------------------------------------------------------------------------------');

End.

 


Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!