Основы программирования в операционной системе Unix
Разработка программы для нахождения наибольшего общего делителя на языке C++ в операционной системе Unix, с использованием модулей и заголовочных файлов. Выполнение задачи нахождения объёма цилиндра. Разработка блок-схемы алгоритма работы программы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | реферат |
Язык | русский |
Дата добавления | 03.08.2014 |
Размер файла | 613,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Министерство транспорта Российской Федерации
Федеральное агентство железнодорожного транспорта
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
САМАРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПУТЕЙ СООБЩЕНИЯ (СамГУПС)
Реферат на тему:
«Основы программирования в ОС Unix»
по дисциплине: «Сетевые операционные системы»
Выполнил: студент 3 курса гр. ИС-11
Землякова О. В.
Самара 2013
СОДЕРЖАНИЕ
РЕФЕРАТ
ВВЕДЕНИЕ
ЗАДАНИЕ
КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
РАБОТА ПРОГРАММЫ
ЛИСТИНГ ТЕСТИРОВАНИЯ
БЛОК-СХЕМА АЛГОРИТМА РАБОТЫ ПРОГРАММЫ
ЗАКЛЮЧЕНИЕ
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
РЕФЕРАТ
Курсовая работа.
Пояснительная записка 16 с., 6 рис., 4 источников.
ОПЕРАЦИОННЫЕ СИСТЕМЫ, ЯЗЫК ПРОГРАММИРОВАНИЯ С++, КОМПИЛЯТОР, КОМАНДНАЯ СТРОКА, ПРОГРАММА, ФАЙЛ, UNIX, GCC, MANDRIVA(MAGEIA).
Объектом разработки является программа на языке C++.
Цель работы - написать программу для нахождения наибольшего общего делителя на языке C++. в ОС Unix, с использованием модулей и заголовочных файлов. программа алгоритм файл unix
В процессе работы были разработаны исходные файлы программы. В работе выполнена задача нахождения объёма цилиндра. Разработана блок-схема алгоритма работы программы.
ВВЕДЕНИЕ
Впервые система Unix была описана в 1974 году в статье Кена Томпсона и Дэнниса Ричи в журнале "Communications of the ACM". С этого времени она получила широкое распространение и завоевала широкую популярность среди производителей ЭВМ, которые все чаще стали оснащать ею свои машины. Особой популярностью она пользуется в университетах, где довольно часто участвует в исследовательском и учебном процессе.
За время, прошедшее с момента ее появления в 1969 году, система Unix стала довольно популярной и получила распространение на машинах с различной мощностью обработки, от микропроцессоров до больших ЭВМ, обеспечивая на них общие условия выполнения программ. Система делится на две части. Одну часть составляют программы и сервисные функции, то, что делает операционную среду Unix такой популярной; эта часть легкодоступна пользователям, она включает такие программы, как командный процессор, обмен сообщениями, пакеты обработки текстов и системы обработки исходных текстов программ. Другая часть включает в себя собственно операционную систему, поддерживающую эти программы и функции.
В этой работе мы будем работать в командной строке ОС Linux (Mandriva Mageia), создадим исполняемый файл для нахождения объёма цилиндра, используя компилятор GNU Compiler Collection,а так же мета-пакет task - c++ -developer.
ЗАДАНИЕ
Цель работы: изучение и использование языка программирования С++ для работы с ресурсами операционной системы Unix.
Написать программу на языке С++ в соответствии с вариантом, откомпилировать её, запустить на выполнение и запротоколировать в отчете все действия, результат выполнения и текст программы.
ВАРИАНТ 10.
Вычислить объем цилиндра. Исходные данные считываются программой из файла. Результат сохранить в файл.
КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
Язык программирования С++ был создан в начале 1980-х годов, его создатель сотрудник фирмы Bell Laboratories -- Бьёрн Страуструп.
Он придумал ряд усовершенствований к языку программирования C, для собственных нужд. Т. е. изначально не планировалось создания языка программирования С++. Ранние версии языка С++, известные под именем»Cи с классами», начали появляться с 1980 года. Язык C, будучи базовым языком системы UNIX, на которой работали компьютеры фирмы Bell, является быстрым, многофункциональным и переносимым. Страуструп добавил к нему возможность работы с классами и объектами, тем самым зародил предпосылки нового, основанного на синтаксисе С, языка программирования. Синтаксис C++ был основан на синтаксисе C, так как Бьёрн Страуструп стремился сохранить совместимость с языком C.
C++ компилируемый язык программирования общего назначения, сочетает свойства как высокоуровневых, так и низкоуровневых языков программирования. В сравнении с его предшественником, языком программирования Cи, наибольшее внимание уделено поддержке объектно-ориентированного и обобщённого программирования. Название «язык программирования C++» происходит от языка программирования C, в котором унарный оператор ++ обозначает инкремент переменной.
В 1983 году произошло переименование языка из «Cи с классами» в «язык программирования C++».
В него были добавлены новые возможности: виртуальные функции, перегрузка функций и операторов, ссылки, константы и многое другое. Его первый коммерческий выпуск состоялся в октябре 1985 года.
Язык программирования C++ является свободным, то есть никто не обладает на него правами.
Язык программирования C++ широко используется для разработки программного обеспечения. А именно, создание разнообразных прикладных программ, разработка операционных систем, драйверов устройств, а также видео игр и многое другое. Существует несколько реализаций языка программирования C++ -- как бесплатных, так и коммерческих. Их производят проекты: GNU, Microsoft и Embarcadero (Borland). Проект GNU -- проект разработки свободного программного обеспечения (СПО).
GNU Compiler Collection (обычно используется сокращение GCC) -- набор компиляторов для различных языков программирования, разработанный в рамках проекта GNU. GCC является свободным программным обеспечением, распространяется фондом свободного программного обеспечения (FSF) на условиях GNU GPL и GNU LGPL и является ключевым компонентом GNU toolchain. Он используется как стандартный компилятор для свободных UNIX-подобных операционных систем.
Изначально названный GNU C Compiler поддерживал только язык Си. Позднее GCC был расширен для компиляции исходных кодов на таких языках программирования, как C++, Objective-C, Java, Фортран и Ada.
Мета-пакет task - c++ -developer. Этот пакет является мета-пакетом, что означает, что его целью является, чтобы содержать зависимости для полноценной среды разработки программ на языке программирования Си.
Пакет сам по себе не содержит ПО, только зависимости.
Модульность в языках программирования -- принцип, согласно которому программное средство (ПС, программа, библиотека, веб-приложение и др.) разделяется на отдельные именованные сущности, называемые модулями. Модульность часто является средством упрощения задачи проектирования ПС и распределения процесса разработки ПС между группами разработчиков. При разбиении ПС на модули для каждого модуля указывается реализуемая им функциональность, а также связи с другими модулями.
Роль модулей могут играть структуры данных, библиотеки функций, классы, сервисы и др. программные единицы, реализующие некоторую функциональность и предоставляющие интерфейс к ней.
Программный код часто разбивается на несколько файлов, каждый из которых компилируется отдельно от остальных. Такая модульность программного кода позволяет значительно уменьшить время перекомпиляции при изменениях, вносимых лишь в небольшое количество исходных файлов, и упрощает групповую разработку. Также это возможность замены отдельных компонентов конечного программного продукта, без необходимости пересборки всего проекта (например, разработка плагинов к уже готовой программе).
Одним из методов написания модульных программ является объектно-ориентированное программирование. ООП обеспечивает высокую степень модульности благодаря таким свойствам, как инкапсуляция, полиморфизм и позднее связывание.
РАБОТА ПРОГРАММЫ
После входа в операционную систему Mandriva Mageia нужно перейти в консоль, затем в директорию с программой - командой “cd KR”. Чтобы просмотреть список файлов и папок необходимо ввести команду “ls” (см. рис. 1)
Рисунок 1 - Каталог KR
Для того, чтобы посмотреть исходный файл нужно ввести команду cat in. Для выполнения компиляции программы нужно ввести команду “g++ -o main.exe main.cpp Math.cpp”, где main.exe - имя выходного файла.
После компиляции исполняемый файл можно запустить командой “./main.exe” (см. рис. 2)
Рисунок 2 - Выполнение программы
Для открытия созданного файла, содержащего результат, необходимо ввести команду “cat in” (см. рис. 3)
Рисунок 3 - Вывод результата
ЛИСТИНГ И ТЕСТИРОВАНИЕ
main.cpp
//Программа вычисления объема цилиндра. Исходные данные считываются программой из файла. Результат сохранить в файл.
#include <iostream>
#include <fstream>
#include <string>
#include "Math.h"
#include <cmath>
using namespace std;
int main()
{
setlocale(LC_ALL, "Rus");
string fileName;
double r, h;
//просим пользователя ввести имя файла
cout<<"Введите имя файла:\n>> ";
cin>>fileName;
//открываем этот файл и проверяем что он открылся
fstream iFile(fileName.c_str());
if(!iFile)
{
cout<<"Невозможно открыть файл\n";
return -1;
}
//считываем значения и проверяем что они считались
iFile>>r>>h;
if(iFile.bad() && iFile.gcount() == 0) {
cout<<"Невозможно прочитать числа из файла\n";
iFile.close();
return -2;
}
//переводим указатель на начало файла чтобы затереть старые значения
iFile.seekg(0);
//вызываем наши функции и сохраняем результаты
iFile<<"v= "<<objem(r,h)<<endl;
iFile.close();
cout<<"Объем подсчитан. См. файл \""<<fileName<<"\"."<<endl;
return 0; }
Math.cpp
#include "Math.h"
#define M_PI 3.14
double objem(double r, double h)
{
return M_PI*r*r*h;;
}
Math.h
#ifndef MATH_H
#define MATH_H
#include <iostream>
using std::ostream;
using std::cin;
using std::cout;
using std::endl;
double objem(double r, double h);
#endif
БЛОК-СХЕМА АЛГОРИТМА РАБОТЫ ПРОГРАММЫ
Блок-схема главной функции программы (main) изображена на рисунке 4.
Рисунок 4 - блок-схема main.cpp
Блок-схема модуля (Math.cpp) изображена на рисунке 5.
Рисунок 5 - блок-схема math.cpp
Блок-схема заголовочного файла (Math.h) изображена на рисунке 6.
Рисунок 6 - блок-схема math.h
ЗАКЛЮЧЕНИЕ
В ходе выполнения работы, мы ознакомились с серверной версией операционной системы Mandriva (Mageia) семейства Linux, приобрели основные навыки работы с командной строкой. В результате выполненной работы были разработаны программа для нахождения объема цилиндра, основанная на использовании модулей в языке С++. Были достигнуты цели, поставленные перед началом тестирования.
Модульность - наиважнейшая функция в языке Си/C++. Принцип модульного программирования, который основан на применении функций, позволяет решить комплекс однотипных задач при применении заранее описанных функций. Созданные модули можно будет легко использовать в дальнейшем при разработке других программ.
Программа была написана в операционной системе Mandriva (Mageia), основанной на Debian GNU/Linux. Для создания исполняемого файла использовался компилятор GNU Compiler Collection,а так же task - c++ -developer.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Бруй В. В., Карлов С. В. LINUX-сервер: пошаговые инструкции, инсталяции и настройки. - М.: СИП РИА, 2003.
2. Маслинский К. Операционная система Linux. - ИНТУИТ.ру, 2005.
3. Немет Э., Снайдер Г., Хейн Т. Руководство администратора Linux. - 2-e изд. / пер. с англ. - М.: ООО «И.Д. Вильямс», 2007.
4. Павловская Т. Программирование на языке высокого уровня C/С++. CПб.: Питер, 2003.
Размещено на Allbest.ru
Подобные документы
Основные структуры процессов в операционной системе Unix. Возможные состояния процесса в Unix и способы перехода между ними. Планирование и выполнение процессов. Различия между родительским и дочерним процессом. Ожидание завершения и выполнения процесса.
курсовая работа [673,0 K], добавлен 24.02.2012Права доступа к файлам и управление ими и другими атрибутами. Значения прав доступа для файлов и директорий. Набор файловых флагов. Команды управления процессами в операционной системе UNIX. Опции и значения программ архивации и сжатия - tar и gzip.
контрольная работа [234,4 K], добавлен 16.01.2014История появления операционной системы Unix. Перекомпиляция Unix в коды любой аппаратной платформы, ее многозадачность и многотерминальность. Основные отличия Unix от других операционных систем. Использование Unix в качестве сервера и рабочей станции.
реферат [28,1 K], добавлен 05.04.2010Различные составляющие операционной системы. Основные функции Unix системы. Подключение к системе с терминалов. Syslog. Графический интерфейс пользователя. Подключение к системе через сеть. Файловая система. Запуск системы и перезагрузка.
курсовая работа [34,9 K], добавлен 06.10.2006Описание файловой системы Unix. Работа основных команд ls, cmp, comm, их ключей. Разработка программного продукта, работающего в среде Windows и представляющего собой эмулятора командного процессора операционной системы Unix. Выбор средств реализации.
курсовая работа [183,0 K], добавлен 29.04.2015Разработка программы обработки типизированных файлов с кодом на языке Object Pascal, с использованием компонентов Delphi для ввода и вывода данных. Разработка экранных форм и алгоритма программы. Описание программных модулей и инструкция оператору.
курсовая работа [1,5 M], добавлен 08.02.2011Компиляция программ на языке C/C++. Компиляция нескольких файлов. Библиотеки объектных файлов. Создание статической и динамической библиотеки. Функции работы. Создание динамической библиотеки для решения системы линейных уравнений.
курсовая работа [27,4 K], добавлен 07.08.2007История развития и отличительные признаки UNIX-системы. Основы информационной безопасности и особенности настройки исследуемой операционной системы, ее достоинства, недостатки и базовые права доступа. Общая характеристика безопасности ядра UNIX.
реферат [599,5 K], добавлен 18.09.2013Создание программы "MP3 Player", воспроизводящей аудио файлы формата MP3 для работы в операционной системе Windows с использованием языка программирования Delphi. Разработка интерфейса, алгоритма и документации к разработанному программному продукту.
курсовая работа [625,0 K], добавлен 18.07.2012Этапы процедуры принятия решений. Разработка математического алгоритма. Блок-схема алгоритма работы программы. Разработка программы на языке программирования С++ в среде разработки MFC. Текст программы определения технического состояния станка с ЧПУ.
курсовая работа [823,0 K], добавлен 18.12.2011