Разработка программ с заданным вариантом - Программирование, компьютеры и кибернетика курсовая работа

Разработка программ с заданным вариантом - Программирование, компьютеры и кибернетика курсовая работа




































Главная

Программирование, компьютеры и кибернетика
Разработка программ с заданным вариантом

Различные способы обработки информации и программирование в среде Pascal. История создания языка. Блок схема с использованием заголовка функций задания. Описание подпрограмм. Сущность структурного программирования в аспекте написания алгоритмов программ.


посмотреть текст работы


скачать работу можно здесь


полная информация о работе


весь список подобных работ


Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
«Программирование на языке высокого уровня»
«Разработка программ с заданным вариантом»
В данной курсовой работе рассматриваются различные способы обработки информации и программирование в среде 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) Вычислить yi=2 sin(xi)+a; здесь i=1,8. Массив x вводится из файла f1. a меняется от -3 шагом 0,5. Массив y записать в файл f2.
2) Вычислить P=Q(3,8)*x(8); Z=y(8)*R(8,3);
Матрица Q вводится из файла f3. Матрица R вводится из файла f4.Результаты матрицы P и Z добавляются в файл f1.
3) Записать в файл f5 все элементы, большие 2,5 последовательно из массивов x,y,p,z. Найти количество элементов файла f5.
1) Для каждого символа заданного текста указать, сколько раз он встречается в тексте. Сообщение об одном символе должно печататься не более одного раза. Буквы расположить по алфавиту.
2) Вывести все символы, которые встречаются во второй половине текста.
3) Вывести латинскую букву, которая встречается в тексте чаще остальных в 1 и 2 строках.
4) Результаты вывести в конец файла a1.
а. Создать файл, содержащий сведения о количестве изделий, собранных сборщиками цеха за неделю. Каждая запись содержит поля: фамилия сборщика, количество изделий, собранных им ежедневно в течение шестидневной недели, т.е. раздельно - в понедельник, вторник и т.д. Количество записей - произвольное.
б. Написать программу, выдающую на печать следующую информацию:
фамилию сборщика и общее количество деталей, собранное им за неделю; фамилию сборщика, собравшего наибольшее число изделий, и день, когда он достиг наивысшей производительности труда.
Укрепленное задание : блок-схема задания--1
Блок схема с использованием заголовка функций задания--1
procedure wwod_vec(name:string;n:byte;var x:vect)
П/П считывает элементы массива X [i] из файла f;
Постановка задачи: Ассигнуем файловую переменную f с физическим файлом r 1. txt . Открываем файл для чтения. Считываем поэлементно значения файла. Закрываем физический файл F .
procedure 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 ];
procedure wiwod(x:vect;n:byte;name:string)
П/П записывает y [ i ] в файл F 2 ;
Открыли цикл для i от 1 до n. Пока будет повторяться данный цикл, в файл f2 будет вводится новое значение. По окончания цикла y [ i ] будет заполнен 10 элементами.
procedure vwod_vec(name:string;n:byte;var x:vect)
П/П читает элементы матрицы с файла f3.
Постановка задачи: Ассигнуем файловую переменную f3 с физическим файлом r 3. txt . Открываем файл для чтения. Считываем поэлементно значения файла. Закрываем физический файл F 3 .
procedure umn_mv(q:matr;x:vect;n,m:byte;var c:vect)
П/П перемножает массив с вектором и образует матрицу Z.
Открываем 2 цикла цикла. Один для i, а другой до J. С помощью этих циклов мы читаем матрицу и вектор. Перемножаем их между собой и получаем матрицу z . Z:=z+q[j,i]*x[i].
procedure umn_vm(y:vect;r:matr;n,m:byte;var c:vect)
П/П перемножает массив с вектором и образует матрицу P.
Открываем 2 цикла цикла. Один для i, а другой до J. С помощью этих циклов мы читаем матрицу и вектор. Перемножаем их между собой и получаем матрицу Р. P:=p+y[i]*r[I,j];
procedure dobav(x:vect;n:byte;name:string)
П/П добавляет элементы матриц z,p в файл f.
Ассигнуем файловую переменную f3 с физическим файлом r 3. txt . Открываем файл для записи с помощью оператора append. Этот оператор поможет нам сохранить элементы всех массивови избежать их удаления из файла. Далее записываем его в файл f.
procedure 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].
П/П находит количество элементов в файле f5.
Пока не закончился файл f5 считать количество элементов находящиеся в нем. Этого мы добились с помощью выражения k:=k+1;
procedure wwod_vec(name:string;n:byte;var x:vect);
procedure slog(x:vect;n:byte;var y:vect);
procedure wiwod(y:vect;n:byte;name:string);
for i:=1 to n do write (f2,y[i]:7:1);
procedure vwod_vec(name:string;n:byte;var x:vect);
procedure wwod_matr(name:string;n,m:byte;var q:matr);
procedure umn_mv(q:matr;x:vect;n,m:byte;var c:vect);
procedure umn_vm(y:vect;r:matr;n,m:byte;var c:vect);
procedure dobav(x:vect;n:byte;name:string);
for i:=1 to n do write (f,x[i]:5:1,' ');
procedure prov(name:string;n:byte;var x:vect) ;
if (x[i]>2.5) then write(f5,x[i]:5:1,' ');
if y[i]>2.5 then writeln(f5,' ',y[i]:1:1); end;
var x,y:vect; w:integer; f5:text; q,r:matr; p,z:vect;
procedure wwod_vec(name:string;n:byte;var x:vect);
procedure slog(x:vect;n:byte;var y:vect);
procedure wiwod(y:vect;n:byte;name:string);
for i:=1 to n do write (f2,y[i]:7:1);
procedure vwod_vec(name:string;n:byte;var x:vect);
procedure wwod_matr(name:string;n,m:byte;var q:matr);
procedure umn_mv(q:matr;x:vect;n,m:byte;var c:vect);
procedure umn_vm(y:vect;r:matr;n,m:byte;var c:vect);
procedure dobav(x:vect;n:byte;name:string);
for i:=1 to n do write (f,x[i]:5:1,' ');
procedure prov(name:string;n:byte;var x:vect) ;
if (x[i]>2.5) then write(f5,x[i]:5:1,' ');
if y[i]>2.5 then writeln(f5,' ',y[i]:1:1); end;
writeln(f5,'kolichestvo vseh elementov=',w:2);
Содержимое файла до начала выполнения программы
Содержимое файла после выполнения программы
Количество каждого символа, встречающего в тексте.
Все символы, которые встречаются во второй половине текста
Латинские буквы, встречающиеся в тексте чаще остальных в 1 и 2 строках.
Содержимое файла до начала выполнения программы
Содержимое файла после выполнения программы
1. Блок схема с использованием заголовка функций задания--2...
Постановка задачи: ассигнуем файловые переменные f и fn с физическими файлами p1.txt и p2.txt. Файл p1.txt открываем для чтения. Файл p2.txt открываем для записи. Считаем количество символов в тексте. Закрываем физические файлы f и fn.
procedure z2_2 (name1,name2:string)
Постановка задачи: П/п выводит все символы второй половины текста в файл name2, считанного из файла name1.
procedure z2_3 (name1,name2:string)
Постановка задачи: П/п выводит заглавные буквы латинского алфавита из файла с именем name1, считает их количество и записывает в файл с именем name2.
Постановка задачи: ассигнуем файловые переменные f и fn с физическими файлами p1.txt и p2.txt. Файл p1.txt открываем для чтения. Файл p2.txt открываем для записи. Считаем количество символов в тексте. Закрываем физические файлы f и fn.
for i:=240 to 255 do x[1,i-144]:=i;
writeln(fn,'”количество символов в текст”');
if x[2,i]<>0 then writeln(fn,chr(x[1,i]),'--->',x[2,i],' ');
Результаты, полученные ПК в файле P 2. txt
procedure z2_2 (name1,name2:string)
Постановка задачи: П/п выводит все символы второй половины текста в файл name2, считанного из файла name1.
procedure z2_2(name1,name2:string);
{Присваеваем файловым переменным конкретные файлы на диске}
{Открываем файл f1 для чтения, а файл f2 для добавления}
Результаты, полученные ПК в файле P 2. txt
procedure z2_3 (name1,name2:string)
Постановка задачи: П/п выводит заглавные буквы латинского алфавита из файла с именем name1, считает их количество и записывает в файл с именем name2.
procedure z2_3 (name1,name2:string);
var kol:array ['A'..'Z'] of integer;
if (x>='A') and (x<='Z') then kol[x]:=kol [x]+1
for x:='A' to 'Z' do if kol[x]<>0 then writeln(f2,x,' ' ,kol[x]:2);
Результаты, полученные ПК в файле P 2. txt
for i:=240 to 255 do x[1,i-144]:=i;
if x[2,i]<>0 then writeln(fn,chr(x[1,i]),' - ',x[2,i],' ','raz(a)');
procedure z2_2(name1,name2:string);
procedure z2_3 (name1,name2:string);
var kol:array ['A'..'Z'] of integer;
if (x>='A') and (x<='Z') then kol[x]:=kol [x]+1
for x:='A' to 'Z' do if kol[x]<>0 then writeln(f2,x,' ' ,kol[x]:2);
writeln ('vvedite kol-vo sborshikov');
writeln ('vvedite familiyu sborshika');
writeln (f,'familiya sborshika:',s[i].fam);
writeln ('vvedite kol-vo izdelii sobranih v ponedelnik');
writeln (f,'kol-vo sobrannih izdelii v ponedelnik:');
writeln ('vvedite kol-vo izdelii sobranih vo vtornik');
writeln (f,'kol-vo sobrannih izdelii vo vtornik:');
writeln ('vvedite kol-vo izdelii sobranih v sredu');
writeln (f,'kol-vo sobrannih izdelii v sredu:');
writeln ('vvedite kol-vo izdelii sobranih v chetverg');
writeln (f,'kol-vo sobrannih izdelii v chetverg:');
writeln ('vvedite kol-vo izdelii sobranih v pyatnicu');
writeln (f,'kol-vo sobrannih izdelii v pyatnicu:');
writeln ('vvedite kol-vo izdelii sobranih v subbotu');
writeln (f,'kol-vo sobrannih izdelii v subbotu:');
l[i]:=s[i].po+s[i].vt+s[i].sr+s[i].ch+s[i].p+s[i].sub;
if z=s[i].fam then x:=s[i].po+s[i].vt+s[i].sr+s[i].ch+s[i].p+s[i].sub;
writeln (f,'Obshee kol-vo sobrannih izdelii:',x);
writeln (f,'familiya sborshika sobravshego naibolshee chislo izdelii:',s[i].fam);
В данной курсовой работе были рассмотрены различные способы обработки информации и программирования на языке Turbo Pascal. В программе были использованы различные типы данных (целый, строковый, файловый, символьный), были рассмотрены методы современной технологии программирования (метод пошаговой детализации, структурный метод, модульный принцип, метод иерархической декомпозиции).
В ходе выполнения курсовой работы были приобретены навыки создания программ на языке программирования Turbo Pascal. При разработке программ были использованы различные типы алгоритмов: линейные, разветвляющиеся, циклические.
В курсовой работе была разработана программа с учетом следующих потребительских свойств:
- функциональная полнота программы;
- комфорт в эксплуатации (удобство и простота работы с программой);
Для простоты написания программ в курсовой работе использовался модульный принцип программирования. Модуль в отличие от программы не может быть запущен на выполнение самостоятельно: он может только использоваться в программах или других модулях. Модули предварительно компилируются независимо от использующей их программы. Наличие модулей в Turbo Pascal позволяет программировать и отлаживать программу по частям, создавать библиотеки подпрограмм и данных, воспользоваться возможностями стандартных модулей практически неограниченно, увеличивать кодовую часть программы.
2. Семакин И.Г., Шестаков А.П. Основы программирования.
3. Программное обеспечение микроЭВМ. Практическое пособие П78 для инж-пед. Работников системы проф.-техн. Образования. В 11-ти книгах/Под ред. В. Ф. Шальгина. Кн. 7.Программирование на языке ПАСКАЛЬ/В. Ф. Шальгин, Л. М. Поддубная, Ю. С. Голубев-Новожилов. - М.:Высш. шк., 2008.-126 с.:ил.
4. Пильщиков В.Н. Сборник упражнений по языку Паскаль. - М.: Наука, 1989. - 160 с.
5. Бутомо И.Д., Самочадин А.В., Усанова Д.В. Программирование на алгоритмическом языке Паскаль. - Л.: Издательство Ленинградского университета, 2014. - 216 с.
Строгая типизация и наличие средств структурного (процедурного) программирования императивного языка Pascal. Структура программы, выражения, строки. Правила и описание типов, процедур и функций, операторов ввода - вывода, модулей и подпрограмм. курсовая работа [37,3 K], добавлен 28.06.2008
Решение задач прикладного программирования. Оформление разработанных алгоритмов в виде графических схем. Написание программ с использованием подпрограмм, их отладка. Блок-схемы и листинг программ. Наборы тестов для отладки разработанных программ. курсовая работа [575,8 K], добавлен 06.12.2013
Изучение функций и возможностей среды разработки языка программирования Pascal. Рассмотрение работы с одномерными и двумерными массивами, со строками и числами. Математическая формулировка задач. Разработка алгоритмов, описание структуры программ. курсовая работа [879,8 K], добавлен 11.02.2016
Приемы работы с инструментальной средой программирования С++. Кодирование арифметических и логических выражений с использованием стандартных библиотечных функций ввода, вывода в С++. Описание переменной вещественного типа в языке программирования С++. лабораторная работа [137,9 K], добавлен 13.06.2014
История создания и развитие языка программирования Pascal, его версии. Особенности и порядок построения графика функции на языке Turbo Pascal с использованием декартовой системы координат. Блок схема алгоритма процедур, листинг и тестирование программы. курсовая работа [102,7 K], добавлен 23.12.2011
Рассмотрение правил записи, способов ввода и вывода, использования функций обработки символьных данных в Pascal. Описание алгоритмизации и программирования файловых структур данных, проектирования структуры файла. Ознакомление с работой данных массива. курсовая работа [336,2 K], добавлен 27.06.2015
Изучение языка программирования QBasic с позиций структурного подхода с целью выработки правильных навыков составления программ. Предварительный анализ сложной задачи с целью разбития её на отдельные простые части. Детализация и составление подпрограмм. учебное пособие [11,7 K], добавлен 11.10.2011
Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д. PPT, PPTX и PDF-файлы представлены только в архивах. Рекомендуем скачать работу .

© 2000 — 2021



Разработка программ с заданным вариантом курсовая работа. Программирование, компьютеры и кибернетика.
Курсовая Работа На Тему Хламидиоз Крупного Рогатого Скота
Реферат: Краєзнавча характеристика Греції
Эссе 1812 Год
Реферат по теме Роль и место астрофизики в становлении и развитии современной картины мира
Итоговая Контрольная Работа Горизонты 5
Реферат На Тему Классификация Сена По Ботаническому Составу. Его Характеристика И Питательная Ценность
Реферат: Justice Law
Контрольная работа: Культура и искусство Кушанского царства
Дипломная работа по теме Разработка и апробация угольно-пастовых электродов на основе моторных масел
Практическая Работа Наука В Современном Мире
Курсовая работа: Обработка сигналов на основе MCS-51
Реферат: Природа процесса принятия решения
Реферат по теме Методика составления пояснительной записки
Курсовая работа по теме Бродильная промышленность. Технологическое оборудование
Информатика 5 Класс Босова Контрольные Работы
Процесс Защиты Кандидатской Диссертации
Контрольная работа по теме Судовые установки
Реферат На Тему Эволюция Политического Строя Руси В Период Монголо-Татарского Ига
Реферат: Библейский контекст одного стихотворения А.С.Пушкина
Курсовая Работа Бизнес План Швейного Предприятия
Возбуждение уголовных дел о налоговых преступлениях - Государство и право презентация
Constitutional stipulation of freedom of a person - Государство и право реферат
Іспанія та Греція - єропейські країни - География и экономическая география реферат


Report Page