Разработка программного продукта на языке высокого уровня (работа 3)
1
Федеральное агентство по образованию
Филиал «Севмашвтуз» государственного образовательного учреждения профессионального высшего образования
Санкт-петербургский государственный морской технический университет
в г. Северодвинске
Кафедра информатики №14
Курсовая работа
По дисциплине «Информатика»
Тема:
Разработка программного продукта на языке высокого уровня
Студент Смирнов А.В.
Группа № 1295/з
Руководитель Паранинцева Ж.Ю.
г. Северодвинск 2010г.
Содержание
Введение
1. Входная информация, требуемая для решения задачи и принятые обозначения
2. Описание алгоритма
3. Распечатка программы
4. Распечатка контрольных примеров, демонстрирующих работу программы
Заключение
Список литературы
Введение
Паскаль был создан как язык для обучения процедурному программированию. В кратком изложении история языков программирования такова: изначально вычислительные машины программировались в машинном коде. То есть в их оперативную память напрямую вводили последовательность чисел, являющиеся кодами команд, которые процессор может выполнить. При этом программа составлялась с периодическим заглядыванием в таблицу кодов команд процессора и была отнюдь не наглядной. Затем появилась идея обозначить коды какими-то короткими, но осмысленными, и потому легко запоминаемыми словами - мнемониками, и создать программу, которая бы, руководствуясь таблицей команд, переводила последовательность мнемоник - мнемокод в последовательность машинных кодов. Такую программу называют ассемблером (assembler - сборочное устройство, транслятор, ассемблер). Программы стали гораздо нагляднее, но решение практических задач требовало написания очень длинных программ (например, файловый менеджер Volkov Commander имеет размер около 64000 байт). Тогда появились языки программирования высокого уровня. При их создании использовали то обстоятельство, что в программе часто встречаются участки одинакового кода, выполняющие какое либо одно действие: вывод строки, запись в файл, вычисление математической функции и т.д. В языках высокого уровня таким последовательностям кода присвоены имена, и программа составляется на условном языке, каждое, из слов которого заменяет десятки, а то и сотни команд процессора. Таким образом, программа становится еще нагляднее и короче. Существует множество условных языков высокого уровня, для каждого из них написано немало вариантов программы, переводящей условный код в последовательность машинных команд. Один из таких языков – Паскаль, который из наиболее известных языков программирования, широко применяется в промышленном программировании, обучении программированию в высшей школе. Цель выполнение курсовой работы в ходе изучения языков программирования направлено на формирование у студентов твердых теоретических и практических навыков по алгоритмизации и программирования процессов обработки данных на ЭВМ.
Сформировать навыки разработки и отладки программ сложной структуры.
Закрепить знания использования средств изучаемых систем программирования для описания и оперирования наборами данных различных типов. Программа для ЭВМ состоит из двух важных частей: описания действий, которые необходимо выполнить для достижения желаемого результата, и описания данных, с которыми оперируют упомянутые действия. Действия в программе на языке Паскаль описываются с помощью операторов, а данные – с помощью описаний, или объявлений (declaration), и определений (definition).
Программа на языке Паскаль состоит из заголовка и "тела" программы, которое называется блоком. В заголовке программе дается имя и могут перечисляться ее параметры – входные и выходные файлы (по крайней мере, так обстоит дело для стандарта языка Паскаль).
Язык Турбо-Паскаль менее "привередлив" в отношении порядка следования разделов описаний. Появилась возможность выделять определенным цветом различные элементы исходного текста (зарезервированные слова, идентификаторы, числа и т.д.), позволяющая даже неопытным пользователям устранять ошибки на этапе ввода исходного текста.
1. Входная информация и принятые обозначения
Процедура подготовки и решения задачи на ЭВМ – достаточно сложный и трудоемкий процесс, состоящий из следующих этапов:
1. Постановка задачи (задача, которую предстоит решать на ЭВМ, формулируется пользователем или получается в виде задания). Задача формулируется на уровне понятий проблемной области, к которой она относится, и должна быть понятна исполнителю (пользователю).
2. Математическая формулировка задачи (формализация задачи). Формализация задачи фактически представляет разработку математической модели решаемой задачи и включает в себя:
1) описание задачи с помощью формул;
2) определение перечней исходных данных и получаемых результатов;
3) задание начальных условий и точности вычислений.
3. Выбор (поиск) метода решения задачи. В ряде случаев одна и та же задача может быть решена с помощью различных методов.
4. Разработка алгоритма решения задачи. На данном этапе устанавливается необходимая логическая последовательность вычислений с учетом выбранного метода решения задачи и других действий, с помощью которых будут получены результаты.
5. Написание программы на одном из имеющихся языков программирования (в нашем случае – на языке Паскаль).
В курсовой работе необходимо определить тип запись, задать массив из элементов типа определенного ранее, заполнить массив данными, предусмотреть обработку и выборку данных в соответствии с полученным заданием: «Магазин игрушек». Необходимо ввести информацию об ассортименте магазина игрушек: номер по порядку, наименование игрушки, цена, количество, возрастные границы и вывести всю информацию на экран (5 записей).
Дополнительно: Вывести стоимость самой дорогой игрушки и ее наименование.
2. Описание алгоритма
Создать тип запись с именем Magazin, содержащий поля: порядковый номер (n), Наименование (Naimenowanie), цена (bakss), количество на складе (shtuk), возрастная категория(let).
Объявить массив с элементами типа Magazin (5 элементов)
Заполнить массив 5-ю записями.
Вывести всю информацию на экран
Просмотреть весь массив и сделав сравнение вывести на экран самую дорогостоящую игрушку.
Анализ программы:
2 строка – подключение стандартного модуля crt «Отдельная таблица»;
3-9 строка – создание типа Magazin c полями – порядковый номер (n), Наименование (Naimenowanie), цена (bakss), количество на складе (shtuk), возрастная категория(let).
9-11 строка объявление переменных, А – массив 5 элементов типа Magazin, i, k и stoimost – переменные счетчика.
13 строка – вывод на экран подсказки о необходимости ввода 5 элементов массива.
14-26 строка – ввод 5 элементов массива;
27 строка – процедура очистки экрана;
28 строка – на экран выводится строка рамки (верхняя граница будущей таблицы);
29 строка – вывод на экран заголовков будущей таблицы;
30 строка – переход курсора на новую строку;
31-37 строка – с помощью цикла выводится на экран содержимое массива (причем вывод форматированный, на каждый элемент массива отводится определенное число позиций, для того чтобы соответствующие элементы находились друг под другом);
38 строка – нижняя граница таблицы;
39 строка – вывод на экран подсказки о необходимости ввода массива;
40 строка - действие, которое должен выполнить оператор;
42 строка - очистка экрана;
43 строка – верхней границы таблицы;
44 строка - вывод на экран заголовков будущей таблицы;
49-51 строка – сравнивание массива цены с переменной счетчика;
52 строка - записи наибольшего массива;
55 строка - вывод с пояснением, на индивидуальный элемент массива исходя из дополнительного задания
56 строка – нижней границы таблицы;
3. Распечатка программы
Листинг программы:
1 program Primer;
2 uses crt;
3 type Magazin=record /Тип названия записать /
4 n:integer; /запасать как целое число/
5 Naimenowanie:string;/ Записать как строковый/
6 bakss:real; / не целое /
7 shtuk:string;
8 Let:string;
9 end;
10 var/Переменная для файла/
mas:array [1..5] of Magazin; /переменная для типизированного файла/
i,k:integer;
11 stoimost:real;
12 begin/начало/
13 writeln(' Ассортимент магазина игрушек');
14 for i:=1 to 5 do/ для «» увеличить «» выполнить/
15 begin
16 writeln(' Введите порядковый номер ');
17 readln(mas[i].n);
18 writeln(' Наименование игрушки ' );
19 readln(mas[i].Naimenowanie);
20 writeln(' Цена ');
21 readln(mas[i].bakss);
22 writeln(' Количество на складе ');
23 readln(mas[i].shtuk);
24 writeln(' Возрастная категория ');
25 readln(mas[i].let);
26 end;
27 clrscr;/очистка экрана/
28 writeln(>+< < >+< >+< >+< >+< >+< >+< >+< >+< >+< >+< );
29 write(№ наименование товара, Цена, Кол-во на складе, Возрастная категория);
30 writeln;
31 k:=0;
32 for i:=1 to 5 do
33 begin
34 k:=k+1;
35 write(k,mas[i].Naimenowanie:11,mas[i].bakss:18:2,'Руб',
mas[i].shtuk:13,'Шт.', mas[i].let:14);
36 writeln;
37 end;
38 writeln(>+< >+< >+< >+< >+< >+< >+< >+< >+< >+< >+< );
39 writeln(Продолжим!!!!);
40 writeln(Ведите ввод);
41 readln;
42 clrscr;
43 writeln('********************************************');
44 write(Наименование товара Стоимость игрушки);
45 writeln;
46 stoimost:=0;
47 for i:=1 to 5 do
48 begin
49 if mas[i].bakss>stoimost then
50 begin
51 stoimost:=mas[i].bakss;
52 k:=i;
53 end;
54 end;
55 writeln(Самая дорогая игрушка, mas[k].Naimenowanie:15,
mas[k].bakss:28:2,'Руб');
56 writeln('**************************************');
57 end
4. Распечатка контрольных примеров, демонстрирующих работу программы
Результат программы:
Рис. 1. Вывод на экран всех элементов массива
После очистки экрана выводиться на экран «Самая дорогая игрушка» среди всех пяти массивов. Рис.2
Рис. 2
Заключение
В ходе выполнения курсовой работы были закреплены теоретические знания и приобретение практических навыков разработки программ. Pascal – это отличный язык для начала программирования. Со всем уважением к Pascal можно сказать лишь одно – Паскаль устарел. В системном программировании его опережает с большим разрывом многие программы. Паскаль имеет более простой синтаксис, нежели другие языки программирования. Но язык Паскаль больше всего близок к идеальной алгоритмически процедурному языку. Поскольку он полностью реализует принципы структурного программирования. Короче говоря, Pascal проще в изучении, чем другие языки.
Считаю одним из достоинств Pascal это наличие компилятора во многих операционных системах.
Прямая работа с памятью компьютера. Использование понятных английских слов таких как begin, end, program и т. д хотя и не помешал бы и русский интерфейс команд.
В данной курсовой научились пользоваться и записывать алгоритм на языке программирования Паскаль, позволяющих некоторому исполнителю чисто "механически" (т. е. совершенно не вникая в смысл совершаемых им действий) решать любую конкретную задачу из некоторого класса однотипных задач.
Некоторые высказывания о языке вообще и языке программирования в частности
1) Б.Л. Ворф – «Язык формирует наш способ мышления и определяет, о чем мы можем мыслить».
2) Брайан Керниган – «Единственный способ изучить новый язык программирования – писать на нем программы»
Список литературы
1. Стариков Александр Вениаминович. Основы программирования на языке Паскаль.
2. http://kftt.karelia.ru/~ivk/new2/Inflect/PascalFiles/Pascal.htm
3. Абрамов С.А., Зима Е.В. Начала программирования на языке Паскаль.-М.: Наука. Гл. ред. физ.-мат. лит., 1987.-112 с.
4. Паранинцева Ж.Ю. Методические указания к выполнению курсовых работ по дисциплине «Программирование и основы алгоритмизации»
5.http://ru.wikipedia.org/wiki/Pascal
6. Трухин Н.А., Кудаева М.В. Программирование на языках высокого уровня «Основы программирования в среде Turbo Pascal»