Автор работы: Пользователь скрыл имя, 09 Ноября 2013 в 12:54, курсовая работа
В качестве написания программного обеспечения используется среда программирования Visual Studio 2012 с использованием стандартных компонентов. Для создания программных продуктов используется принцип структурно-модульного программирования. Задание курсовой работы состоит реферата по двум теоретическим вопросам с номерами 8 и 28, а также создания четырех программ, которые решают поставленные задачи с номерами 8, 28, 48 и 68.
Язык Си не связан с какими-либо определенными аппаратными средствами или системами, и на нем легко писать программы, которые можно пропускать без изменений на любой ЭВМ, имеющей Си-компилятор.
Календарний план 2
Реферат 3
Введение 5
Теоретическое задание № 1 6
Теоретическое задание № 2 25
Описание решения для задания 1 35
Описание решения для задания 2 36
Описание решения для задания 3 38
Описание решения для задания 4 39
Вывод 41
Список использованной литературы: 42
Приложения 43
Приложение № 1 (код программы 1) 43
Приложение № 2 (код программы 2) 45
Приложение № 3 (код программы 3) 46
Приложение № 4 (код программы 4) 46
МІнІстерство оСВІТИ І науки, МОЛОДІ ТА СПОРТУ УкраїнИ
ДЕРЖАВНИЙ вИЩИЙ НАВЧАЛЬНИЙ заКЛАД
ПРИАЗОВСЬКИЙ
ДЕРЖАВНИЙ ТЕХНІЧНИЙ
Факультет Інформаційних Технологій
Кафедра Інформатики
з дисципліни "Програмування"
Виконала
ст.гр ВТ-12
Косенко М.
Керівник
К.т.н., доц.. Бурса О.Г.
Маріуполь, 2013 рік
МІНІСТЕРСТВО НАУКИ І ОСВІТИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ
ДЕРЖАВНИЙ ВИЩИЙ НАВЧАЛЬНИЙ ЗАКЛАД
«ПРИАЗОВСЬКИЙ ДЕРЖАВНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ»
ФАКУЛЬТЕТ ІНФОРМАЦШЙНИХ ТЕХНОЛОГІЙ
КАФЕДРА ІНФОРМАТИКИ
Дисципліна програмування
Спеціальність обчислювальна техніка
Курс 2 Група ВТ-12 Семестр І
на курсову роботу студента
Клименко Олександри Олександрівни
№ п/п |
Назва етапу роботи |
Термін виконання етапу роботи |
примітка |
1 |
Узгодження індивідуального завдання з керівником курсової роботи |
03.09.13-06.09.13 |
|
2 |
Вивчення вимог до організації та оформлення курсової роботи |
09.09.13-13.09.13 |
|
3 |
Вивчення додаткових матеріалів до першого теоретичного питання |
16.09.13-20.09.13 |
|
4 |
Вивчення додаткових матеріалів до другого теоретичного питання |
23.09.13-27.09.13 |
|
5 |
Реалізація першого |
30.09.13-04.10.13 |
|
6 |
Написання алгоритму, створення інформаційної та математичної моделі, написання другої програми |
07.10.13-11.10.13 |
|
7 |
Написання алгоритму, створення інформаційної та математичної моделі, написання третьої програми |
14.10.13-18.10.13 |
|
8 |
Написання алгоритму, створення інформаційної та математичної моделі, написання четвертої програми |
21.10.13-25.10.13 |
|
9 |
Оформлення пояснювальної записки |
28.10.13-01.11.13 |
|
10 |
Здача роботи |
04.11.13 |
Студент ___________
Керівник ___________ Бурса Олександр Григорович
«___» ____________ 20__р.
Пояснительная записка объемом 42 страницы, 4 блок-схем, 4 изображения и 1 приложение.
Ключевые слова: циклы, массивы, типы, переменные.
В качестве написания программного обеспечения используется среда программирования Visual Studio 2012 с использованием стандартных компонентов.
Для создания программных продуктов используется принцип структурно-модульного программирования.
Задание курсовой работы состоит реферата по двум теоретическим вопросам с номерами 8 и 28, а также создания четырех программ, которые решают поставленные задачи с номерами 8, 28, 48 и 68.
Завдання 2
Календарний план 2
Реферат 3
Содержание 4
Введение 5
Теоретическое задание № 1 6
Теоретическое задание № 2 25
Описание решения для задания 1 35
Описание решения для задания 2 36
Описание решения для задания 3 38
Описание решения для задания 4 39
Вывод 41
Список использованной литературы: 42
Приложения 43
Приложение № 1 (код программы 1) 43
Приложение № 2 (код программы 2) 45
Приложение № 3 (код программы 3) 46
Приложение № 4 (код программы 4) 46
Язык Си - это универсальный язык программирования, для которого характерны экономичность выражения, современный набор операторов и типов данных. Язык Си не является ни языком "очень высокого уровня", ни "большим" языком, и не предназначается для некоторой специальной области применения, но отсутствие ограничений и общность языка делают его для многих задач более удобным и эффективным, чем языки, предположительно более мощные.
Язык Си не связан с какими-либо
определенными аппаратными
Язык Си является универсальным языком программирования. Он первоначально появился в операционной системе UNIX, и развивался как основной язык систем, совместимых с ОС UNIX. И хотя его называют языком системного программирования, так как он удобен для написания операционных систем, он может использоваться для написания любых больших и не очень вычислительных программ, программ для обработки текстов и баз данных.
Язык Си - это язык относительно "низкого уровня". Это означает, что Си имеет дело с объектами того же вида, что и большинство ЭВМ, а именно, с символами, числами и адресами. Они могут объединяться и пересылаться посредством обычных арифметических и логических операций, осуществляемых реальными ЭВМ.
Основи мови програмування С/С++
Алфавіт. Коментар. Зарезервовані слова.
Дані. Ідентифікатори даних. Типи даних і їх описувачі, діапазони значень, перелічувані та інтервальні типи. Постійна. Змінна. Адреса. Покажчик. Посилання. Динамічне виділення пам`яті.
Формат програми. Розташування операторів у програмному модулі. Стиль програмування. Мобільність програм. Типова структура програми.
Класи зберігання даних. Автоматичні дані. Статичні дані. Регістрові дані. Класи пам`яті. Локальні і глобальні дані.
Данные. Идентификаторы данных
В тексте на любом естественном языке можно выделить четыре основных элемента: символы, слова, словосочетания и предложения. Подобные элементы содержит и алгоритмический язык, только слова называют лексемами (элементарными конструкциями), словосочетания — выражениями, а предложения — операторами. Лексемы образуются из символов, выражения — из лексем и символов, а операторы — из символов, выражений и лексем (рис. 1.1):
Рис. 1.1. Состав алгоритмического языка
Для описания сложного действия требуется последовательность операторов. Операторы могут быть объединены в составной оператор, или блок. В этом случае они рассматриваются как один оператор.
Операторы бывают исполняемые и неисполняемые. Исполняемые операторы задают действия над данными. Неисполняемые операторы служат для описания данных, поэтому их часто называют операторами описания или просто описаниями.
Каждый элемент языка
Объединенная единым алгоритмом совокупность описаний и операторов образует программу на алгоритмическом языке. Для того чтобы выполнить программу, требуется перевести ее на язык, понятный процессору — в машинные коды. Этот процесс состоит из нескольких этапов. Рисунок 1.2 иллюстрирует эти этапы для языка С++.
Сначала программа передается препроцессору, который выполняет директивы, содержащиеся в ее тексте (например, включение в текст так называемых заголовочных файлов — текстовых файлов, в которых содержатся описания используемых в программе элементов).
Получившийся полный текст программы поступает на вход компилятора, который выделяет лексемы, а затем на основе грамматики языка распознает выражения и операторы, построенные из этих лексем. При этом компилятор выявляет синтаксические ошибки и в случае их отсутствия строит объектный модуль.
Компоновщик, или редактор связей, формирует исполняемый модуль программы, подключая к объектному модулю другие объектные модули, в том числе содержащие функции библиотек, обращение к которым содержится в любой программе (например, для осуществления вывода на экран). Если программа состоит из нескольких исходных файлов, они компилируются по отдельности и объединяются на этапе компоновки. Исполняемый модуль имеет расширение .exe и запускается на выполнение обычным образом.
Для описания языка в документации часто используется некоторый формальный метаязык, например, формулы Бэкуса—Наура или синтаксические диаграммы. Для наглядности и простоты изложения в этой книге используется широко распространенный неформальный способ описания, при котором необязательные части синтаксических конструкций заключаются в квадратные скобки, текст, который необходимо заменить конкретным значением, пишется по-русски, а выбор одного из нескольких элементов обозначается вертикальной чертой. Например, запись
[ void | int ] имя();
означает, что вместо конструкции имя необходимо указать конкретное имя в соответствии с правилами языка, а перед ним может находиться либо void, либо int, либо ничего. Фигурные скобки используются для группировки элементов, из которых требуется выбрать только один. В тех случаях, когда квадратные скобки являются элементом синтаксиса, это оговаривается особо.
Рис. 1.2. Этапы создания исполняемой программы
Начнем изучение С++ с самого простого — с алфавита, а затем, осваивая все более сложные элементы, постепенно углубимся в дебри объектно-ориентированного программирования и постараемся в них не заблудиться. К концу изучения этой книги читателю будет легко и приятно порассуждать об "инкапсулированных абстракциях с четким протоколом доступа", о том, отчего нельзя "сгенерировать исключение, если конструктор копии объекта не является общедоступным", и о многих столь же интересных вещах.
Алфавит языка
Алфавит С++ включает:
" |
{ } |
, |
| |
[ ] |
( ) |
+ |
- |
/ |
% |
* |
. |
\ |
' |
: |
? |
< |
= |
> |
! |
& |
# |
~ |
; |
^ |
Из символов алфавита формируются лексемы языка:
Границы лексем определяются другими лексемами, такими, как разделители или знаки операций.
Комментарии
Комментарий либо начинается с двух символов "прямая косая черта" (//) и заканчивается символом перехода на новую строку, либо заключается между символами-скобками /* и */. Внутри комментария можно использовать любые допустимые на данном компьютере символы, а не только символы из алфавита языка C++, поскольку компилятор комментарии игнорирует. Вложенные комментарии-скобки стандартом не допускаются, хотя в некоторых компиляторах разрешены.
Зарезервированные слова
Ключевые слова — это
Таблица 1.1. Список ключевых слов С/С++ | |||
asm |
else |
new |
this |
auto |
enum |
operator |
throw |
bool |
explicit |
private |
true |
break |
export |
protected |
try |
case |
extern |
public |
typedef |
catch |
false |
register |
typeid |
char |
float |
reinterpret_cast |
typename |
class |
for |
return |
union |
const |
friend |
short |
unsigned |
const_cast |
goto |
signed |
using |
continue |
if |
sizeof |
virtual |
default |
inline |
static |
void |
delete |
int |
static_cast |
volatile |
do |
long |
struct |
wchar_t |
double |
mutable |
switch |
while |
dynamic_cast |
namespace |
template |