Основы программирования в операционной системе 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.