Данный курсовой проект служит показателем уровня программиста в написании программ на языке высокого уровня Turbo Pascal. Главной задачей курсового проекта является закрепление пройденного материала и способность индивидуального подхода к выполнению поставленной задачи.

Аннотация

В данной курсовой работе рассматриваются различные способы обработки информации и программирование в среде Pascal.

В программах использованы следующие тины данных: integer, string, real, text, ceh.

Данный курсовой проект служит показателем уровня программиста в написании программ на языке высокого уровня Turbo Pascal. Главной задачей курсового проекта является закрепление пройденного материала и способность индивидуального подхода к выполнению поставленной задачи.

Введение

Язык программирования ПАСКАЛЬ (PASCAL) получил свое название не от сокращения каких-то слов, как другие языки: он назван так в честь великого французского математика и физика Блеза Паскаля, который в 1642 г. изобрел счетную машину для арифметических операций — паскалево колесо, как назвали её современники. История создания языка начинается с 1965 г., когда Международная федерация по обработке информации (IFIP) предложила нескольким специалистам в области информатики принять участие в разработке нового языка программирования — преемника АЛГОЛа-60. Среди них был швейцарский ученый, работавший в то время доцентом на факультете информатики Стэнфордского университета Никалаус Вирт, который принял участие в разработке проекта языка под названием АЛГОЛ-W. И хотя IFIP отклонила этот проект (был принят проект АЛГОЛ-68 — автор Аад ван Вейнгаартен), Никалаус Вирт по возвращению в Швейцарию в 1967 г. не прекратил работу по созданию нового языка. В результате этой работы в конце 1968 г. профессор Вирт и его сотрудники из Швейцарского федерального института технологии (ETH) в Цюрихе разработали первую версию ПАСКАЛЯ, а спустя два года — первый вариант компилятора.

В 1971 г. Н. Вирт выпустил описание своего языка. В связи с появившимся интересом у широкого круга пользователей, а также с учетом первых оценок и апробаций 1974 г. разработана новая версия языка ПАСКАЛЬ. В следующем году опубликовано руководство для пользователей ПАСКАЛЯ, которое по словам Н. Вирта, вполне можно рассматривать как стандартное определение языка. Создавая ПАСКАЛЬ, Н. Вирт преследовал две цели: во-первых, разработать язык, пригодный для обучения программированию как систематической дисциплине; во-вторых, реализация языка должна быть эффективной и надежной на существующих вычислительных машинах. Как и всякий преемник, ПАСКАЛЬ наследовал многие черты основного предшественника и некоторых других. Как и АЛГОЛ-60, он имеет блочную структуру, т. е. программы составляются из блоков, которые начинаются и оканчиваются словами BEGIN и END соответственно.

Операторы языка ПАСКАЛЬ, как и в АЛГОЛе-60, разделяются между собой точкой с запятой. Аналогично АЛГОЛу и ФОРТРАНу в языке имеется оператор перехода, а оператор варианта выполняет те же функции, что и переключатель в АЛГОЛе или вычисляемый оператор перехода в ФОРТРАНе. Простые и гибкие операторы цикла WHILE и REPEAT и оператор варианта CASE, отмечает Вирт, обладают переработанной версией оператора цикла FOR (также заимствованным из АЛГОЛа) они позволяют программисту выразить все, что ему нужно путем использования вложенных иерархических структур, представляющих композиции этих операторов.Одним из достоинств языка ПАСКАЛЬ является то, что он воплотил в себе идею структурного программирования, суть которой заключается в том, что с помощью нескольких конструкций можно выразить в принципе любые алгоритмы. Структурное программирование нацелено на алгоритмический аспект написания программ, — пишет К. Кристиан.Другие достоинства языка были предопределены двумя основополагающими статьями профессора Ч. Хоара, опубликованными на рубеже 60-70-х годов: О структурной организации данных и Аксиоматическая основа программирования для вычислительных машин.Суть первой состоит в том, что данные прежде всего представляют собой абстракции реальных объектов и их предпочтительно рассматривать как некоторые абстрактные образования со структурами, не обязательно предусмотренными в общераспространенных языках программирования. Язык ПАСКАЛЬ, воплотивший концепции данной статьи, содержат богатый набор различных типов данных и является первым языком, имеющим в этом наборе не числовой тип данных — тип перечисления. Во второй статье показано, что программы поддаются точному анализу, основанному на строгих математических рассуждениях. В 1973 г. Хоар и Вирт создали аксиоматическое описание для большей части семантически языка ПАСКАЛЬ. Следуя аксиоматической системе Хоара, язык ПАСКАЛЬ, очевидно, явился первым языком, для которого имеются программные средства, позволяющие доказывать правильность написанных программ.Краткость языка (некоторые называют его спартанским языком программирования), легкость программирования на нем, мобильность написанных программ, возможность эффективной реализации и пригодность с точки зрения формальных методов отладки программ обеспечили ПАСКАЛЮ успех в тех делах, для которых он предназначался. При создании и совершенствовании языка ПАСКАЛЬ Н. Вирт ввел много новшеств, в частности: изобрел синтаксические диаграммы, с помощью которых удобно представлять конструкции языка; ввел, очевидно, первый в алфавит языка квадратные скобки; высказал идею решения проблемы переносимости программ в виде пи-систем (P-system), которая заключается в том, что написанные на ПАСКАЛЕ программы транслируются в пи-код (p-code) — в машинный язык некоторой идеальной машины а затем интерпретируется на реальных машинных языках.Опыт использования языка ПАСКАЛЬ выявил ряд недостатков. В языке отсутствовали многие известные конструкции, такие, как: динамические массивы; возможность задания локальных переменных; понятие отдельно транслируемого модуля, затруднившие тем самым создание больших программ; операция возведения в степень; возможность включения в программу участков, написанных на машинном языке, и т. д. Одни программисты могли продолжить список недостатков ПАСКАЛЯ, другие возразить, что некоторые недостатки в их реализации отсутствуют. Такой разнобой мнений, как пишет О. Перминов, свидетельствует о том, что долгое время отсутствовал документ, который бы точно фиксировал состав и правила выполнения и правила выполнения языка. Такой документ появился только в 1982 г. — международный стандарт ISO на язык ПАСКАЛЬ. Этот стандарт соответствует авторскому стандартному определению язык, изложенному в книге Йенсена и Вирта ПАСКАЛЬ. Руководство для пользователя и описание языка, но дает более полное и строгое описание некоторых деталей, опущенных в руководстве.

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Заказать курсовую

Первый компилятор с языка ПАСКАЛЬ был реализован в ЕТН для ЭВМ семейства CDC-6000. В дальнейшем появились компиляторы ПАСКАЛЯ для других типов ЭВМ, и к начале 80-х годов число этих типов (зарубежных и отечественных) достигло сотни. Кроме авторской версии, стали появляться различные его расширения и диалекты, среди которых можно отметить такие, как УКСД-ПАСКАЛЬ, Эппл-ПАСКАЛЬ, ПАСКАЛЬ-80, Турбо-ПАСКАЛЬ, Квик-ПАСКАЛЬ.УКСД-ПАСКАЛЬ (UCSD-PACKAL; UCSD-Universiti of California, San Diego) был разработан сотрудником Калифорнийского университета в Сан-Диего К. Бауэлсом УКСД-ПАСКАЛЬ является расширением стандартного определения языка и предназначен главным образом для мини- и микро-ЭВМ.Эппл-ПАСКАЛЬ (Apple-PASCAL), разработанный для персональных компьютеров Apple, по существу, является модификацией УКСД-ПАСКАЛЯ, однако в нем имеются дополнительные средства, в частности средства для графического отображения.

Технические задания

Задание 1.

1) Вычислить yi=2 sin(xi)+a; здесь i=1,8. Массив x вводится из файла f1. a меняется от -3 шагом 0,5. Массив y записать в файл f2.

) Вычислить P=Q(3,8)*x(8); Z=y(8)*R(8,3);

Матрица Q вводится из файла f3. Матрица R вводится из файла f4.Результаты матрицы P и Z добавляются в файл f1.

) Записать в файл f5 все элементы, большие 2,5 последовательно из массивов x,y,p,z. Найти количество элементов файла f5.

Задание 2.

В файле a1 набран текст.

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Подробнее

) Для каждого символа заданного текста указать, сколько раз он встречается в тексте. Сообщение об одном символе должно печататься не более одного раза. Буквы расположить по алфавиту.

) Вывести все символы, которые встречаются во второй половине текста.

) Вывести латинскую букву, которая встречается в тексте чаще остальных в 1 и 2 строках.

) Результаты вывести в конец файла a1.

Задание 3.

а. Создать файл, содержащий сведения о количестве изделий, собранных сборщиками цеха за неделю. Каждая запись содержит поля: фамилия сборщика, количество изделий, собранных им ежедневно в течение шестидневной недели, т.е. раздельно — в понедельник, вторник и т.д. Количество записей — произвольное.

б. Написать программу, выдающую на печать следующую информацию:

фамилию сборщика и общее количество деталей, собранное им за неделю; фамилию сборщика, собравшего наибольшее число изделий, и день, когда он достиг наивысшей производительности труда.

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Подробнее

Информационный поток задания 1

№ П/ПФайлТип файлаИсходные данныеРезультат1.1F1 F2Text TextX(8) ————— Y(8)1.2F1 F2 F3 F4Text Text TextX(8) Y(8) Q(3,8) R(8,3)X(8); Q(3,8); R(8,3) ——- ——- ——-1.3F1 F2 F3 F4 F5Text Text Text Text TextX(8);Q(3,8);R(8,3) Y(8); ——— ——— ——- ——- ——- ——- kol

Укрепленное задание : блок-схема задания-1

 

Блок схема с использованием заголовка функций задания-1

 

Описание подпрограмм задания-1

)Заголовок процедуры:

procedure wwod_vec(name:string;n:byte;var x:vect)

П/П считывает элементы массива X[i] из файла f;

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Заказать курсовую

Постановка задачи: Ассигнуем файловую переменную f с физическим файлом r1.txt. Открываем файл для чтения. Считываем поэлементно значения файла. Закрываем физический файл F.

Исходные данные: X,I, F.

Результат: нет.

2)Заголовок процедуры:slog(x:vect;n:byte;var y:vect)

П/П с помощью выражения y[i]:=2*sin(x[i])+a находит элементы массива y[i].

Постановка задачи:

Переменной a присвоили начальное значение -3; открыли цикл для i от 1 до n. Пока цикл не закончится переменная a будет меняться с шагом 0,5. Этого мы добились с помощью выражения a:=a+0.5. При каждом повторе цикла в вектор y[i] будет вводится новое значение.

Исходные данные: b,x,I,n,y;

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Заказать курсовую

Результат: образование массива y[i];

)Заголовок процедуры:wiwod(x:vect;n:byte;name:string)

П/П записывает y[i] в файл F2;

Постановка задачи:

Открыли цикл для i от 1 до n. Пока будет повторяться данный цикл, в файл f2 будет вводится новое значение. По окончания цикла y[i] будет заполнен 10 элементами.

Результат: нет.

Исходные данные: y[i];

)Заголовок процедуры:vwod_vec(name:string;n:byte;var x:vect)

П/П читает элементы матрицы с файла f3.

Постановка задачи: Ассигнуем файловую переменную f3 с физическим файлом r3.txt. Открываем файл для чтения. Считываем поэлементно значения файла. Закрываем физический файл F3.

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Заказать курсовую

Результат: нет;

Исходные данные:

Q[I,j], r3.txt.

)Заголовок процедуры:umn_mv(q:matr;x:vect;n,m:byte;var c:vect)

П/П перемножает массив с вектором и образует матрицу Z.

Постановка задачи:

Открываем 2 цикла цикла. Один для i, а другой до J. С помощью этих циклов мы читаем матрицу и вектор. Перемножаем их между собой и получаем матрицу z. Z:=z+q[j,i]*x[i].

Результат: нет.

Исходные данные: q[j,i],x[i].

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Цена курсовой

6)Заголовок процедуры:

procedure umn_vm(y:vect;r:matr;n,m:byte;var c:vect)

П/П перемножает массив с вектором и образует матрицу P.

Постановка задачи:

Открываем 2 цикла цикла. Один для i, а другой до J. С помощью этих циклов мы читаем матрицу и вектор. Перемножаем их между собой и получаем матрицу Р. P:=p+y[i]*r[I,j];

Исходные данные:

r[i,j], y[i].

7)Заголовок процедуры:

procedure dobav(x:vect;n:byte;name:string)

П/П добавляет элементы матриц z,p в файл f.

Постановка задачи:

Ассигнуем файловую переменную f3 с физическим файлом r3.txt. Открываем файл для записи с помощью оператора append. Этот оператор поможет нам сохранить элементы всех массивови избежать их удаления из файла. Далее записываем его в файл f.

Результат: нет.

Исходные данные: f,x.

)Заголовок процедуры:prov(name:string;n:byte;var a:vect)

Постановка задачи:

П/П выбирает все элементы большие 2,5 и записывает их в файл f5.

Ассигнуем файл f5с внешним файлом r4.txt. Ассигнуем файл f с внешним файлом r1.txt. файл f5 открываем для записи, а файл f для чтения. Пока не закончится файл f, если x[i]>2,5, то x[i] записываем в файл f5. Тоже самое делаем и с y[i].

Результат: нет.

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Цена курсовой

Исходные данные:

Y[i], x[i],f1,f2,f5;

9)Заголовок процедуры:

function kol(name:string):integer;

П/П находит количество элементов в файле f5.

Постановка задачи:

Пока не закончился файл f5 считать количество элементов находящиеся в нем. Этого мы добились с помощью выражения k:=k+1;

Отладка подпрограмм задания-1

Подпрограмма №1:

procedure wwod_vec(name:string;n:byte;var x:vect);i:byte;:text;(f,’m1.txt’);(f);i:=1 to n do read (f,x[i]);(f);;

Подпрограмма №2:

procedure slog(x:vect;n:byte;var y:vect);i:byte;:real;:=-3;i:=1 to n do[i]:=2*sin(x[i])+a;:=a+0.5;;;

Подпрограмма №3:

procedure wiwod(y:vect;n:byte;name:string);i:byte;:text;(f2,’r2.txt’);(f2);i:=1 to n do write (f2,y[i]:7:1);(f2);;

Подпрограмма №4:

procedure vwod_vec(name:string;n:byte;var x:vect);i:byte;:text;(f,’r1.txt’);(f);i:=1 to n do read (f,x[i]);(f);;

Подпрограмма №5:

procedure wwod_matr(name:string;n,m:byte;var q:matr);i,j:byte;:text;(f,’r1.txt’);(f);i:=1 to n doj:=1 to m do read (f,q[i,j]);(f);;

Подпрограмма №6:

procedure umn_mv(q:matr;x:vect;n,m:byte;var c:vect);i,j:byte;:real; s:real;i:=1 to n do:=0;j:=1 to m do z:=z+q[i,j]*x[j];[i]:=s;;;

Подпрограмма №7:

procedure umn_vm(y:vect;r:matr;n,m:byte;var c:vect);i,j:byte;:real;i:=1 to n do:=0;j:=1 to m do p:=p+y[j]*r[j,i];[i]:=p;;;

Подпрограмма №8:

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Цена курсовой

procedure dobav(x:vect;n:byte;name:string);i:byte;:text;(f,’m1.txt’);(f);(f);i:=1 to n do write (f,x[i]:5:1,’ ‘);(f);;

Подпрограмма №9:

procedure prov(name:string;n:byte;var x:vect) ;i:byte;,f5,f2:text;(f2,’r2.txt’); reset(f2);(f5,’r4.txt’);(f,’r1.txt’);(f5);(f5);(f);not eof(f) do(f,x[i]);(x[i]>2.5) then write(f5,x[i]:5:1,’ ‘);;(f);(f5);(f5);not eof(f2) do beginy[i]>2.5 then writeln(f5,’ ‘,y[i]:1:1); end;;

Подпрограмма №10:

function kol(name:string):integer;l:real;:byte;:text;:=0;(f5,’r4.txt’);(f5);not eof (f5) do(f5,l);:=k+1;;:=k;(f5);

end;

Основная программа задания-1

Turkey;

type vect=array [1..10] of real;=array [1..10,1..3] of real;x,y:vect; w:integer; f5:text; q,r:matr; p,z:vect;wwod_vec(name:string;n:byte;var x:vect);i:byte;:text;(f,’r1.txt’);(f);i:=1 to n do read (f,x[i]);(f);;slog(x:vect;n:byte;var y:vect);i:byte;:real;:=-3;i:=1 to n do[i]:=2*sin(x[i])+a;:=a+0.5;;;wiwod(y:vect;n:byte;name:string);i:byte;:text;(f2,’r2.txt’);(f2);i:=1 to n do write (f2,y[i]:7:1);(f2);;vwod_vec(name:string;n:byte;var x:vect);i:byte;:text;(f,’r1.txt’);(f);i:=1 to n do read (f,x[i]);(f);;wwod_matr(name:string;n,m:byte;var q:matr);i,j:byte;:text;(f,’r1.txt’);(f);i:=1 to n doj:=1 to m do read (f,q[i,j]);(f);;umn_mv(q:matr;x:vect;n,m:byte;var c:vect);i,j:byte;:real; s:real;i:=1 to n do:=0;j:=1 to m do z:=z+q[i,j]*x[j];[i]:=s;;;umn_vm(y:vect;r:matr;n,m:byte;var c:vect);i,j:byte;:real;i:=1 to n do:=0;j:=1 to m do p:=p+y[j]*r[j,i];[i]:=p;;;dobav(x:vect;n:byte;name:string);i:byte;:text;(f,’r1.txt’);(f);(f);i:=1 to n do write (f,x[i]:5:1,’ ‘);(f);;prov(name:string;n:byte;var x:vect) ;i:byte;,f5,f2:text;(f2,’r2.txt’); reset(f2);(f5,’r4.txt’);(f,’r1.txt’);(f5);(f5);(f);not eof(f) do(f,x[i]);(x[i]>2.5) then write(f5,x[i]:5:1,’ ‘);;(f);(f5);(f5);not eof(f2) do beginy[i]>2.5 then writeln(f5,’ ‘,y[i]:1:1); end;;kol(name:string):integer;l:real;:byte;:text;:=0;(f5,’r4.txt’);(f5);not eof (f5) do(f5,l);:=k+1;;:=k;(f5);;_matr (‘r3.txt’,3,10,q);_vec (‘r1.txt’,10,x);_mv (q,x,3,10,p);(p,3,’r1.txt’);_matr (‘r4.txt’,10,3,r);_vec (‘r2.txt’,10,y);_vm (y,r,3,10,z);(z,3,’r1.txt’);_vec(‘r1.txt’,10,x);(x,10,y);(y,10,’r2.txt’);(‘r1.txt’,10,x);(‘r2.txt’,10,y);:=kol(‘r4.txt’);(f5,’r4.txt’);(f5);(f5,’kolichestvo vseh elementov=’,w:2);

close(f5);.

Результаты работы задания-1

Файл r1.txt:

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Подробнее

Файл r2.txt:

Файл r3.txt:

Файл r4.txt:

Информационный поток Задания 2

ФайлСодержимое файла до начала выполнения программыСодержимое файла после выполнения программыР1.txtТекстТекстР2.txt-Количество каждого символа, встречающего в тексте. Все символы, которые встречаются во второй половине текста Латинские буквы, встречающиеся в тексте чаще остальных в 1 и 2 строках.

ФайлСодержимое файла до начала выполнения программыСодержимое файла после выполнения программыР1.txt13234225476 , . FDFDGGGC2 13234225476 , . FDFDGGGCР2.txt—->4 ,—>1 .—>1 1—>1 2—>3 3—>2 4—>3 5—>1 6—>1 7—>1 C—>2 D—>3 F—>2 G—>3 Vtoraya polovina , . FDFDGGGC Lat bukv C 1 D 2 F 2 G 3

Укрупненная блок-схема Задания 2

.Блок схема с использованием заголовка функций задания-2…

Описание подпрограмм задания-2

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Цена курсовой

Заголовок функции:

procedure z2_1(b:byte);

Постановка задачи: ассигнуем файловые переменные f и fn с физическими файлами p1.txt и p2.txt. Файл p1.txt открываем для чтения. Файл p2.txt открываем для записи. Считаем количество символов в тексте. Закрываем физические файлы f и fn.

Исходные данные: B.

Результат: нет.

Заголовок функции:

procedure z2_2 (name1,name2:string)

Постановка задачи: П/п выводит все символы второй половины текста в файл name2, считанного из файла name1.

Исх. дан.: name1,name2

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Подробнее

Рез.: нет

Заголовок функции:

procedure z2_3 (name1,name2:string)

Исх. дан.: name1,name2

Рез.: нет

Отладка подпрограмм задания-2

Заголовок функции:

procedure z2_1(b:byte);

Постановка задачи: ассигнуем файловые переменные f и fn с физическими файлами p1.txt и p2.txt. Файл p1.txt открываем для чтения. Файл p2.txt открываем для записи. Считаем количество символов в тексте. Закрываем физические файлы f и fn.

Исходные данные: B.

Результат: нет.

Программа для отладки:

Program Turkey;

procedure z2_1(b:string);i,n:byte;:array[1..2,1..255]of byte;:char;,fn:text;(f,’p1.txt’);(fn,’p2.txt’);(f);(fn);i:=1 to 255 do x[1,i]:=i;i:=91 to 96 do x[1,i-10]:=i;i:=123 to 127 do x[1,i-50]:=i;i:=176 to 255 do x[1,i-97]:=i;i:=240 to 255 do x[1,i-144]:=i;i:=1 to 141 do x[2,i]:=0;not eof(f) do(f,c);:=ord(c);

x[2,n]:=x[2,n]+1;;(fn,’количество символов в текст’);

for i:=1 to 141 dox[2,i]<>0 then writeln(fn,chr(x[1,i]),’—>’,x[2,i],’ ‘);(f);(fn);;_1(‘p2.txt’);.

программирование язык рascal

Исходный файл p1.txt

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Заказать курсовую

Результаты, полученные ПК в файле P2.txt

Результаты, полученные вручную

—>4

,—>1

.—>1

—>1

—>3

—>2

—>3

—>1

—>1

—>1—>2—>3—>2—>3

Вывод:

Поскольку результаты, полученные ПК в файле p2.txt, совпадают с результатами полученными вручную, можно предположить, что программа работает правильно.

Заголовок функции:

procedure z2_2 (name1,name2:string)

Постановка задачи: П/п выводит все символы второй половины текста в файл name2, считанного из файла name1.

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Заказать курсовую

Исх. дан.: name1,name2

Рез.: нет

Программа для отладки:

procedure z2_2(name1,name2:string);f1,f2:text; k,i:integer;

ch:char;

{Присваеваем файловым переменным конкретные файлы на диске}

assign(f1,name1);(f2,name2);

{Открываем файл f1 для чтения, а файл f2 для добавления}

reset(f1); append(f2);:=0;not eof(f1) do begin(f1,ch);:=k+1;;(f1);(f1);:=k div 2;i:=1 to k do read(f1,ch);(f2);not eof(f1) do begin(f1,ch);(f2,ch);;(f1);(f2);;_2 (‘p1.txt’,’p2.txt’)

end.

Исходный файл p1.txt

Результаты, полученные ПК в файле P2.txt

Результаты, полученные вручную

, .FDFDCDGGGC

Вывод:

Поскольку результаты, полученные ПК в файле p2.txt, совпадают с результатами полученными вручную, можно предположить, что программа работает правильно.

Заголовок функции:

procedure z2_3 (name1,name2:string)

Постановка задачи: П/п выводит заглавные буквы латинского алфавита из файла с именем name1, считает их количество и записывает в файл с именем name2.

Исх. дан.: name1,name2

Рез.: нет

Программа для отладки:

program z2_3;

procedure z2_3 (name1,name2:string);kol:array [‘A’..’Z’] of integer;:char;:string;:byte; f,f2: text;(f,’p1.txt’);(f2,’p2.txt’);(f);(f2);(f,m);x:=’A’ to ‘Z’do kol[x]:=0;n:=1 to length(m) do begin:=m[n];(x>=’A’) and (x<=’Z’) then kol[x]:=kol [x]+1;x:=’A’ to ‘Z’ do if kol[x]<>0 then writeln(f2,x,’ ‘ ,kol[x]:2);(f);(f2);;(‘p1.txt’,’p2.txt’);.

Исходный файл p1.txt

 

Результаты, полученные ПК в файле P2.txt

Результаты, полученные вручную

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Заказать курсовую

C 2

D 3

F 2

G 3

Вывод:

Поскольку результаты, полученные ПК в файле p2.txt, совпадают с результатами полученными вручную, можно предположить, что программа работает правильно.

Основная программа задания 3

procedure z2_1(b:byte);

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Заказать курсовую

var i,n:byte;:array[1..2,1..255]of byte;:char;,fn:text;(f,’p1.txt’);(fn,’p2.txt’);(f);(fn);i:=1 to 255 do x[1,i]:=i;i:=91 to 96 do x[1,i-10]:=i;i:=123 to 127 do x[1,i-50]:=i;i:=176 to 255 do x[1,i-97]:=i;i:=240 to 255 do x[1,i-144]:=i;i:=1 to 141 do x[2,i]:=0;not eof(f) do(f,c);:=ord(c);[2,n]:=x[2,n]+1; end;(fn,’simvol v tekste’);i:=1 to 141 dox[2,i]<>0 then writeln(fn,chr(x[1,i]),’ — ‘,x[2,i],’ ‘,’raz(a)’);(f);(fn);;z2_2(name1,name2:string);f1,f2:text; k,i:integer;:char;(f1,name1);(f2,name2);(f1); append(f2);:=0;not eof(f1) do begin(f1,ch);:=k+1;;(f1);(f1);:=k div 2;i:=1 to k do read(f1,ch);(f2);not eof(f1) do begin(f1,ch);(f2,ch);;(f1);(f2);;z2_3 (name1,name2:string);kol:array [‘A’..’Z’] of integer;:char;:string;:byte; f,f2: text;(f,’p1.txt’);(f2,’p2.txt’);(f);(f2);(f,m);x:=’A’ to ‘Z’do kol[x]:=0;n:=1 to length(m) do begin:=m[n];(x>=’A’) and (x<=’Z’) then kol[x]:=kol [x]+1;x:=’A’ to ‘Z’ do if kol[x]<>0 then writeln(f2,x,’ ‘ ,kol[x]:2);(f);(f2);.

Основная программа задания 3

Program Turkey;

close(f);;.

Результаты работы задания 3:

 

Заключение

В данной курсовой работе были рассмотрены различные способы обработки информации и программирования на языке Turbo Pascal. В программе были использованы различные типы данных (целый, строковый, файловый, символьный), были рассмотрены методы современной технологии программирования (метод пошаговой детализации, структурный метод, модульный принцип, метод иерархической декомпозиции).

В ходе выполнения курсовой работы были приобретены навыки создания программ на языке программирования Turbo Pascal. При разработке программ были использованы различные типы алгоритмов: линейные, разветвляющиеся, циклические.

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Цена курсовой

В курсовой работе была разработана программа с учетом следующих потребительских свойств:

функциональная полнота программы;

комфорт в эксплуатации (удобство и простота работы с программой);

простота в обучении программы;

надежность программы.

Для простоты написания программ в курсовой работе использовался модульный принцип программирования. Модуль в отличие от программы не может быть запущен на выполнение самостоятельно: он может только использоваться в программах или других модулях. Модули предварительно компилируются независимо от использующей их программы. Наличие модулей в Turbo Pascal позволяет программировать и отлаживать программу по частям, создавать библиотеки подпрограмм и данных, воспользоваться возможностями стандартных модулей практически неограниченно, увеличивать кодовую часть программы.

Список использованной литературы

2.Семакин И.Г., Шестаков А.П. Основы программирования.

.Программное обеспечение микроЭВМ. Практическое пособие П78 для инж-пед. Работников системы проф.-техн. Образования. В 11-ти книгах/Под ред. В. Ф. Шальгина. Кн. 7.Программирование на языке ПАСКАЛЬ/В. Ф. Шальгин, Л. М. Поддубная, Ю. С. Голубев-Новожилов. — М.:Высш. шк., 2008.-126 с.:ил.

.Пильщиков В.Н. Сборник упражнений по языку Паскаль. — М.: Наука, 1989. — 160 с.

.Бутомо И.Д., Самочадин А.В., Усанова Д.В. Программирование на алгоритмическом языке Паскаль. — Л.: Издательство Ленинградского университета, 2014. — 216 с.