Материалы сайта
Это интересно
Контрольные по информатике
(Скачать оригинал реферата)Задание №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=[pic] 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б. Написать программу анализа динамики поквартального роста дохода различных социальных слоев населения в течении года. Для этого ввести количество категорий слоев населения, название категорий населения и величину дохода каждой категории по кварталам. Определить средний доход по всем категориям за каждый квартал и во сколько раз увеличился доход в четвертом квартале по сравнению с первым. Исходные данные и результаты расчетов представить в виде таблицы. 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 clrscr; 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.
Файлы данного реферата: 1 2 3 4 5 6 7 8 9 10 11