Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
МИНОБРНАУКИ РОССИИ
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Ижевский государственный технический университет имени М.Т. Калашникова"
Кафедра СС и ТС.
Курсовая работа по дисциплине "Информатика"
вариант 20
Выполнил студент группы Б-01 282
Юдин Дмитрий Владимирович
Проверила к.п.н. доцент кафедры Радиотехники
Сидорина В.А. .
Ижевск 2013г.
Содержание
Введение…………………………………………………………………………………………3
1. Постановки задачи…………………………………………………………………..…4
2. Математические методы и средства решения задачи…….………5
3. Описание данных……………………………………………………………………....6
4. Алгоритмы……………………………………………………………………..…………….
4.1 Словесное описание………………………………………………………………….
4.2 Псевдокод………………………………………………………………………………….
4.3 Блок схема…………………………………………………………………………………..
5. Программа на языке СИ………………………………………………………………..
6. Тестовый пример…………………………………………………………………………..
7. Руководство пользователя для работы с программой……………….
8. Заключение……………………………………………………………………………………..
9. Список литературы …………………………………………………………………………
Введение:
Цель курсовой работы, это закрепление и демонстрация знаний полученных при изучении курса информатика. Выполнение работы требует творческого подхода, а так же всестороннего исследования поставленной задачи. Основными этапами курсовой работы являются:
Выполнение курсовой работы надо начать с четкого уяснения поставленной задачи. Необходимо ответить на вопросы: “Что задано?”, “Какой должен быть получен результат?”, “Как получить результат?”
Задача моего варианта курсовой работы заключается в проверке истинности высказывания: «Все цифры данного числа различны»
Это значит, что мне нужно, используя знания, полученные на курсах информатики, а так же, при необходимости, используя дополнительную литературу составить программу на языке си, которая могла бы определить все ли цифры различны в заданном трехзначном числе. Пользователю нужно будет ввести любое трехзначное число и программа выведет на экран результат.
Актуальность данной курсовой работы обусловлена высокой востребованностью студентов вузов и учащихся проф. лицеев, изучающих математические дисциплины.
Успешное выполнение поставленной задачи покажет уровень моей подготовки в данной дисциплине.
2. Математические методы и средства решения задачи:
Средствами решения задачи является алгоритмический язык СИ.
В данной курсовой работе метод решения опирается на некоторый математический аппарат. Математические методы, модели и алгоритмы являются тем базисом, который положен в основу проектирования и изготовления любого программного или технического средства в силу их исключительной сложности и, как следствие, невозможности умозрительного подхода к созданию.
Наиболее эффективно математическую модель можно реализовать на компьютере в виде алгоритмической модели. Для этого может быть использован язык блок-схем или какой-нибудь псевдокод, например учебный алгоритмический язык. Разработка алгоритма включает в себя выбор метода проектирования алгоритма; выбор формы записи алгоритма (блок-схемы, псевдокод и др.); выбор тестов и метода тестирования; проектирование самого алгоритма. Тогда, средством решения задачи является алгоритмический язык си.
Язык Си это достаточно выразительный язык программирования, предназначенный для решения широкого круга задач и содержащий современные механизмы управления вычислительными процессами и работы с данными.
Язык Си прост,и в то же время в него введены некоторые средства характерные для языка Ассемблер.
Он был создан в 1972 г. Деннисом Ритчи в США .
Предшественник языка Си язык Би.
Достоинства Си:
Особенности языка Си:
Язык Си относительно мал по объёму, в нём существуют встроенные операторы для выполнения ввода-вывода динамического распределения памяти, управления процессами и т.п. Однако в системное окружение языка Си входит библиотека стандартных функций, в которой реализованы подобные действия.
Пример простейшей программы на Си
Общие правила при написании программ на Си.
Элементы языка Си.
Компилятор языка Си воспринимает файл, который содержит программу на языке Си как последовательность текстовых строк. Он последовательно считывает строки программы и разбивает каждую на группы символов, которые называются лексемами. Лексема это единица текста программы, которая имеет самостоятельный смысл для компилятора Си и которая не содержит в себе других лексем (Примеры: знаки операций, константы, идентификаторы, ключевые слова, различные скобки).
Алфавит языка Си .
а)буквы и цифры множество символов языка Си включает прописные и строчные буквы латинского алфавита и арабские цифры. Причем компилятор рассматривает одну и ту же прописную и строчную букву латинского алфавита как различные символы.
б)пробельные символы это пробел, табуляция, перевод строки, новая страница, новая строка.
в)разделители
: ; , . ? { } ( ) [ ] < > ! | \ / - # % & + - *
г)специальные символы, предназначены для представления некоторых пробельных и неграфических символов в строках и символьных константах.
д)операции это комбинации символов, специфицирующие действие по преобразованию значений.
Основными операциями языка Си считаются +, *, -, /, а также оператор присваивания =.
Основные операции выполняются в Си также как и в Паскаль, но имеют несколько дополнений. Так, знак "-" может использоваться как унарная операция, изменяющая знак переменной на противоположный. Особое использование отличает операцию деления. Она может применяться как к целым, так и к вещественным числам. Если результат операции деления должен быть присвоен целочисленной переменной, то дробная часть просто отбрасывается. Это действие называется усечением. Если деление применяется к операндам разного типа, то целочисленное значение преобразуется к виду с плавающей точкой.
Среди наиболее распространенных операций Си можно выделить:
1) sizeof - она возвращает размер операнда, выраженный в байтах. Операндом может быть конкретная данная или тип данных. При использовании последнего, оно записывается в скобках.
2) деление по модулю (%). Используется в целочисленной арифметике. Ее аналогом в Паскаль является функция mod.
3) инкремент (++). Выполняет простое действие: увеличивает значение операнд на 1. Эта операция может быть записана в префиксной форме, когда символ "++" предшествует переменной, и в постфиксной форме, когда "++" следует за переменной. Эти формы различаются последовательностью приращения значения операнда.
Пример:
a++;
++a;
b=a++;
b=++a;
Первые два оператора не имеют различий. В третьем примере сначала значение переменной a будет присвоено переменной b, а затем увеличено на 1. В четвертом примере сначала значение переменной a увеличится, а затем присвоится.
4) декремент (--). Существует в префиксной и постфиксной формах. Результат его действия - уменьшение значения оператора на 1.
Операции "++" и "--" имеют очень высокий приоритет исполнения. Выше только исполнение действий в скобках.
2. Константы.
const <тип> <имя константы>=<выражение>;
Пример const int l= - 124;
3. Идентификаторы.
4. Ключевые слова.
5. Комментарии.
3. Описание данных:
Данные делятся на входные, выходные и промежуточные. Нужно выбрать имена и типы данных, дать смысловое описание данных.
Таблица 1
4. Алгоритмы
Алгоритм это однозначно определенная последовательность действий, записанная на понятном исполнителю алгоритмическом языке и определяющая процесс перехода от исходных данных к результату.
В этом определении уже указаны основные свойства алгоритма. Во-первых, алгоритм состоит из конечного набора инструкций или шагов, во-вторых, каждый шаг трактуется исполнителем единственным образом, что позволяет гарантированно получить решение для некоторого набора входных данных, в-третьих, алгоритм всегда сводится к некоторому преобразованию исходных данных в результат или результаты. В этом смысле формулы для решения квадратного уравнения или даже четко составленную инструкцию по варке кофе можно считать алгоритмами, выполнимыми исполнителем-человеком. Для машины, разумеется, требуется более четкая формализация задачи, чем для человека, понимать естественный язык компьютеры пока неспособны, отсюда необходимость учета при составлении алгоритма ограниченного набора инструкций ЭВМ.
Свойства алгоритма:
Дискретность алгоритм состоит из отдельных инструкций (шагов);
Однозначность каждый шаг понимается исполнителем единственным образом;
Массовость алгоритм работает при меняющихся в некоторых пределах входных данных;
Результативность за конечное число шагов достигается некоторый результат.
4.2 Псевдокод
#include <stdio.h>
#define test(a) ( (a) / 100 != (a) / 10 % 10 && (a) / 100 != (a) % 10 && (a) / 10 % 10 != (a) % 10 )
(Задаем параметры теста)
int main(void)
int n;
(Ввод числа)
while ( printf("Number: ") && scanf("%d", &n) == 1 && n > 99 && n < 1000
(Параметры вывода ответа и ввода 3х значного числа)
printf("%s\n", ( test(n) ) ? "True" : "False");
(Вывод результата)
return 0;
(Начать алгоритм заного)
4.3 Блок Схема
5. Программа на языке СИ
#include <stdio.h>
#define test(a) ( (a) / 100 != (a) / 10 % 10 && (a) / 100 != (a) % 10 && (a) / 10 % 10 != (a) % 10 )
int main(void) {
int n;
while ( printf("Number: ") && scanf("%d", &n) == 1 && n > 99 && n < 1000 )
printf("%s\n", ( test(n) ) ? "True" : "False");
return 0;
}
6. Тестовый пример
Для работы с программой необходима оболочка.
Я решил использовать Dev-C++ - Редактор и компилятор для написания программ на Cи и Си++. Этот редактор показался мне наиболее понятным и удобным для использования.
При запуске программы появится окно для ввода и вывода информации.
Введите трехзначное число и нажмите enter
Программа введет на экран результат и предоставит возможность снова ввести число.
Заключение
В ходе данной курсовой работы я закрепил и подтвердил полученные при изучении дисциплины «Информатика» знания. Самостоятельно разработал программу на алгоритмическом языке программирования Си. Программа прошла проверку на работоспособность, полностью исправна и готова к применению.
Список литературы:
Сидорина В.А. Методические указания к выполнению курсовых работ для студентов высшего профессионального образования. В.А Сидорина, А.В Абилов. Ижевск: Издательство ИжГТУ, 2008.- 31с.