Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

вариант 20 Выполнил студент группы Б01 282 Юдин Дмитрий Владимирович Проверила к.

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 26.11.2024

МИНОБРНАУКИ РОССИИ


Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Ижевский государственный технический университет имени М.Т. Калашникова"

Кафедра СС и ТС.

Курсовая работа по дисциплине "Информатика"

вариант 20

Выполнил студент группы Б-01 282

Юдин Дмитрий Владимирович

Проверила к.п.н. доцент кафедры Радиотехники

Сидорина В.А.                      .    

Ижевск 2013г.


Содержание

Введение…………………………………………………………………………………………3

1. Постановки задачи…………………………………………………………………..…4

2. Математические методы и средства решения задачи…….………5

3. Описание данных……………………………………………………………………....6

4. Алгоритмы……………………………………………………………………..…………….

4.1 Словесное описание………………………………………………………………….

4.2 Псевдокод………………………………………………………………………………….

4.3 Блок схема…………………………………………………………………………………..

5. Программа на языке СИ………………………………………………………………..

6. Тестовый пример…………………………………………………………………………..

7. Руководство пользователя для работы с программой……………….

8. Заключение……………………………………………………………………………………..

9. Список литературы …………………………………………………………………………


Введение:

Цель курсовой работы, это закрепление и демонстрация знаний полученных при изучении курса информатика. Выполнение работы требует творческого подхода, а так же всестороннего исследования поставленной задачи. Основными этапами курсовой работы являются:

  1.  анализ поставленной задачи.
  2.  выбор обоснования изложения метода решения поставленной задачи.
  3.  построение алгоритма решения задачи.
  4.  создание и отладка программы.
  5.  разработка комплекта тестов для проверки правильности работы.
  6.  оформление пояснительной записки.
  7.  защита курсовой работы.
  8.  
    Постановка задачи.

Выполнение курсовой работы надо начать с четкого уяснения поставленной задачи. Необходимо ответить на вопросы: “Что задано?”, “Какой должен быть получен результат?”, “Как получить результат?”

Задача моего варианта курсовой работы заключается в проверке истинности высказывания: «Все цифры данного числа различны»
Это значит, что мне нужно, используя знания, полученные на курсах информатики, а так же, при необходимости, используя дополнительную литературу составить программу на языке си, которая могла бы определить – все ли цифры различны в заданном трехзначном числе. Пользователю нужно будет ввести любое трехзначное число и программа выведет на экран результат.

Актуальность данной курсовой работы обусловлена высокой востребованностью студентов вузов и учащихся проф. лицеев, изучающих математические дисциплины.
Успешное выполнение поставленной задачи покажет уровень моей подготовки в данной дисциплине.

2. Математические методы и средства решения задачи:

Средствами решения задачи является алгоритмический язык СИ.

В данной курсовой работе метод решения опирается на некоторый математический аппарат. Математические методы, модели и алгоритмы являются тем базисом, который положен в основу проектирования и изготовления любого программного или технического средства в силу их исключительной сложности и, как следствие, невозможности умозрительного подхода к созданию.

Наиболее эффективно математическую модель можно реализовать на компьютере в виде алгоритмической модели. Для этого может быть использован язык блок-схем или какой-нибудь псевдокод, например учебный алгоритмический язык. Разработка алгоритма включает в себя выбор метода проектирования алгоритма; выбор формы записи алгоритма (блок-схемы, псевдокод и др.); выбор тестов и метода тестирования; проектирование самого алгоритма. Тогда, средством решения задачи является алгоритмический язык си.

Язык Си – это достаточно выразительный язык программирования, предназначенный для решения широкого круга задач и содержащий современные механизмы управления вычислительными процессами и работы с данными.

Язык Си прост,и в то же время в него введены некоторые средства характерные для языка Ассемблер.

Он был создан в 1972 г. Деннисом Ритчи в США .

Предшественник языка Си – язык Би.

Достоинства Си:

  1.  Язык Си – мобильный (переносимый) язык (высокая переносимость написанных на нем программ между компьютерами с различной архитектурой);
  2.  Си – современный язык, т.к. включает в себя те управляющие конструкции, которые рекомендуются теоретическим и практическим программированием;
  3.  Си – эффективный язык, это означает, что его структура позволяет наилучшим образом использовать возможности современных ЭВМ. Программы на Си отличаются компактностью и быстротой выполнения;
  4.  Си – мощный гибкий язык. Область применения – программы экономического назначения, средства программирования, компьютерные игры. Мультфильмы, операционная система UNIX.

Особенности языка Си:

  1.  В языке Си реализованы некоторые операции низкого уровня, которые напрямую соответствуют машинным командам;
  2.  Базовые данные языка Си отражают те же объекты, с которыми приходится иметь дело в Ассемблере – это байты, машинные слова, символы и строки;
  3.  Язык Си поддерживает механизм указателей на переменные и функции (указатель это переменная предназначенная для хранения машинного адреса некоторой переменной или функции);
  4.  

Язык Си относительно мал по объёму, в нём существуют встроенные операторы для выполнения ввода-вывода динамического распределения памяти, управления процессами и т.п. Однако в системное окружение языка Си входит библиотека стандартных функций, в которой реализованы подобные действия.


Пример простейшей программы на Си

  1.  Эта программа находит периметр прямоугольника.
  2.  #include<stdio.h>
  3.  #include<conio.h>
  4.  main ()/*программа находит периметр прямоугольника */
  5.  {
  6.  int a,b,p; /*для вещественных типов- float*/
  7.  clrscr();
  8.  printf(«Введите а и b»);
  9.  scanf%d%d»,&a,&b);
  10.  p=(a+b)*2;
  11.  printf(«периметр =%d»,p);
  12.  getch();
  13.  }

Общие правила при написании программ на Си.

  1.  программа состоит из одной или более функций, причем какая-то из них обязательно называется main ();
  2.  описание функции состоит из заголовка и тела функции.
  3.  Заголовок в свою очередь состоит из директив препроцессора, например #include<stdioh> и имени функции;
  4.  Отличительным признаком имени функции являются круглые скобки, причем аргумент может отсутствовать;
  5.  Тело функции заключено в фигурные скобки и представляет собой набор операторов, каждый из которых заканчивается точкой с запятой;
  6.  Выбор осмысленных обозначений для переменных и использование комментариев необходимо в программе;
  7.  Необходимо помещать каждый оператор в отдельной строке (Си имеет свободный формат, в одной строке можно записывать несколько операторов, отделив их точкой с запятой).


Элементы языка Си.

  1.  Под элементами языка понимают базовые конструкции, используемые для написания программ.
  2.  В элементы Си входят:
  3.  Алфавит;
  4.  Константы;
  5.  Идентификаторы;
  6.  Ключевые слова;
  7.  Комментарии.

   Компилятор языка Си воспринимает файл, который содержит программу на языке Си как последовательность текстовых строк. Он последовательно считывает строки программы и разбивает каждую на группы символов, которые называются лексемами. Лексема – это единица текста программы, которая имеет самостоятельный смысл для компилятора Си и которая не содержит в себе других лексем (Примеры: знаки операций, константы, идентификаторы, ключевые слова, различные скобки).

Алфавит языка Си .

а)буквы и цифры – множество символов языка Си включает прописные и строчные буквы латинского алфавита и арабские цифры. Причем компилятор рассматривает одну и ту же прописную и строчную букву латинского алфавита как различные символы.

б)пробельные символы – это пробел, табуляция, перевод строки, новая страница, новая строка.

в)разделители  

: ; , . ? ’ { } ( ) [ ] < > ! | \ / - # % & + - *


г)специальные символы, предназначены для представления некоторых пробельных и неграфических символов в строках и символьных константах.

  1.  \n – новая строка
  2.  t\  – горизонтальная табуляция – выравнивание по горизонтали
  3.  \v – вертикальная табуляция
  4.  \f – новая страница
  5.  \b – забой – предыдущая буква (цифра) стирается
  6.  \’ – апостроф
  7.  \” – двойная кавычка
  8.  \\  – обратная косая черта
  9.  \N – восьмеричная константа
  10.  \xN – шестнадцатеричная константа.

д)операции – это комбинации символов, специфицирующие действие по преобразованию значений.

  1.  + - сложение
  2.  - - вычитание
  3.  * - умножение
  4.  / - деление вещественных чисел, нахождение целой части вещественных чисел
  5.  % - остаток от деления
  6.  = - присваивание простое
  7.  ! – логическое «НЕ»
  8.  && - логическое «И»
  9.  \\ - логическое «ИЛИ»
  10.  ++ - прибавляет 1 к значению переменной (в Паскале n:=n+1, в Си n++)
  11.  --   - вычитает 1 из значения переменной
  12.  << - сдвиг влево
  13.  >> - сдвиг вправо (используются в массивах)
  14.  < - меньше
  15.  > - больше
  16.  <= - меньше либо равно
  17.  >= - больше либо равно
  18.  == - логический знак равенства
  19.  ,  - последовательное выполнение операции
  20.  += - присваивание со сложением
  21.  - = - присваивание с вычитанием
  22.  *= - присваивание с умножением
  23.  /=  - присваивание с делением
  24.  %= - присваивание с остатком от деления

Основными операциями языка Си считаются +, *, -, /, а также оператор присваивания =.

Основные операции выполняются в Си также как и в Паскаль, но имеют несколько дополнений. Так, знак "-" может использоваться как унарная операция, изменяющая знак переменной на противоположный. Особое использование отличает операцию деления. Она может применяться как к целым, так и к вещественным числам. Если результат операции деления должен быть присвоен целочисленной переменной, то дробная часть просто отбрасывается. Это действие называется усечением. Если деление применяется к операндам разного типа, то целочисленное значение преобразуется к виду с плавающей точкой.

Среди наиболее распространенных операций Си можно выделить:

1) sizeof - она возвращает размер операнда, выраженный в байтах. Операндом может быть конкретная данная или тип данных. При использовании последнего, оно записывается в скобках.

2) деление по модулю (%). Используется в целочисленной арифметике. Ее аналогом в Паскаль является функция mod.

3) инкремент (++). Выполняет простое действие: увеличивает значение операнд на 1. Эта операция может быть записана в префиксной форме, когда символ "++" предшествует переменной, и в постфиксной форме, когда "++" следует за переменной. Эти формы различаются последовательностью приращения значения операнда.

Пример:

  a++;

  ++a;

  b=a++;

  b=++a;

Первые два оператора не имеют различий. В третьем примере сначала значение переменной a будет присвоено переменной b, а затем увеличено на 1. В четвертом примере сначала значение переменной a увеличится, а затем присвоится.

4) декремент (--). Существует в префиксной и постфиксной формах. Результат его действия - уменьшение значения оператора на 1.

Операции "++" и "--" имеют очень высокий приоритет исполнения. Выше только исполнение действий в скобках.

2. Константы.

  1.   Это число, символ или строка символов. Константы в языке Си используются для задания постоянных величин.
  2.  Различают 4 типа:
  3.  а) целые;
  4.  б) с плавающей точкой;
  5.  в) символьные константы;
  6.  г) символьные строки.

const <тип> <имя  константы>=<выражение>;

Пример const int l= - 124;

3. Идентификаторы.

  1.  Используются для обозначения имен переменных, функций и меток, применяемых программе им может быть произвольная последовательность латинских букв, прописных и строчных, цифр и символов подчеркивания.

4. Ключевые слова.

  1.  Слова, которые используются для обозначения каких-либо операторов – case, char, const,double, else, float, for, if, int, long, void, while

5. Комментарии.

  1.  Это часть программы, которая игнорируется компилятором и служит для удобства читаемости исходного текста программы.
  2.  /*…*/ многострочные комментарии
  3.  // однострочные комментарии – символы до конца строки

3. Описание данных:

Данные делятся на входные, выходные и промежуточные. Нужно выбрать имена и типы данных, дать смысловое описание данных.

Концепция типов данных является важнейшей стороной любого языка программирования. Особенность Паскаля состоит в большом разнообразии типов. Аналогичная схема для языка Си представлена на рис. 2.

Сравнение схем приводит к выводу о том, что разнообразие типов данных в Си меньше, чем в Турбо Паскале.

В Си/Си++ имеется четыре базовых арифметических (числовых) типа данных. Из них два целочисленных — char, int — и два плавающих (вещественных) — float и double. Кроме того, в программах можно использовать некоторые модификации этих типов, описываемых с помощью служебных слов — модификаторов. Существуют два модификатора размера — short (короткий) и long (длинный) — и два модификатора знаков — signed (знаковый) и unsigned (беззнаковый). Знаковые модификаторы применяются только к целым типам.

Как известно, тип величины связан с ее формой внутреннего представления, множеством принимаемых значений и множеством операций, применимых к этой величине. В табл. 1 перечислены арифметические типы данных Си, указан объем занимаемой памяти и диапазон допустимых значений.

Размер типа int и unsigned int зависит от размера слова операционной системы, в которой работает компилятор Си. В 16-разрядных ОС (MS DOS) этим типам соответствуют 2 байта, в 32-разрядных (Windows) — 4 байта.

Таблица 1

Анализируя данные таблицу 1, можно сделать следующие выводы:

• если не указан базовый тип, то по умолчанию подразумевается int;

• если не указан модификатор знаков, то по умолчанию подразумевается signed;

• с базовым типом float модификаторы не употребляются;

• модификатор short применим только к базовому типу int.


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. Тестовый пример


  1.  Руководство пользователя для работы с программой

Для работы с программой необходима оболочка.  

Я решил использовать Dev-C++ - Редактор и компилятор для написания программ на Cи и Си++. Этот редактор показался мне наиболее понятным и удобным для использования.

При запуске программы появится окно для ввода и вывода информации.

Введите трехзначное число и нажмите enter

Программа введет на экран результат и предоставит возможность снова ввести число.

Заключение

В ходе данной курсовой работы я закрепил и подтвердил полученные при изучении дисциплины «Информатика» знания. Самостоятельно разработал программу на алгоритмическом языке программирования Си. Программа прошла проверку на работоспособность, полностью исправна и готова к применению.


Список литературы:

Сидорина В.А. Методические указания к выполнению курсовых работ для студентов высшего профессионального образования. В.А Сидорина, А.В Абилов. Ижевск: Издательство ИжГТУ, 2008.- 31с.




1. жесткие организационные формы интеграции компаний концерны спорное мнение см
2. Реферат- Рекомбинантные(химерные) ДНК
3. Нотариат, его задачи и место в системе государственных органов
4. Соната 21 Организационноэкономическая характеристика кафе Соната 2
5. ТЮМЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ кафедра изобразительного искусства ПРОЕКТ ТЕЛЕВ
6. На тему- Шерстная продуктивность овец Содержание Введение
7. 1 Розподіл між трактами приймача частотних та нелінійних спотворень 4 1
8. х годов- большие громоздкие и дорогие предназначались для очень небольшого числа избранных пользователей
9. Реферат- Методики швидкого запам ятовування великого обсягу матеріалу
10. ТЕМАТИКЕ ПОСТРОЕННОЕ ЦЕЛИКОМ НА ДИДАКТИЧЕСКИХ ИГРАХ- НА ДЕНЬ РОЖДЕНИЯ К СМЕШАРИКАМ подготови
11. Виндикация
12. Тема 10 Региональные и отраслевые индикаторы устойчивого развития Интегральные индикаторы Частны
13. Синтез цифрового автомата управления памятью
14. Социальное учение Католической церкви
15. а Философия изучает мир в целом это наука о предельно общем или всеобщем; это объективносубъективное знан
16. Кинетика замедленной флуоресценции органических молекул в Н-парафинах при 77 К и ее математическая
17. .2 В технологии машиностроения различают операции протягивания и прошивания выполняемые соответственно пр
18. тема представления о мире и о месте в нем человека об отношении человека к окружающей его действительности и
19. Сущность и концепция маркетинга
20. Вы могли быть удачливыми и получить подарки такие как Рога Изобилия некоторое количество очков роста не