Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Алгоритмизация и программирование решения задач на языке СИ (90

..pdf
Скачиваний:
13
Добавлен:
15.11.2022
Размер:
271.01 Кб
Скачать

Министерство образования и науки Российской Федерации

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

«Оренбургский государственный университет»

Кафедра информационных систем и технологий

В.В. Извозчикова, Д.Р. Кохановская

АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ РЕШЕНИЯ ЗАДАЧ НА ЯЗЫКЕ СИ

Методические указания по выполнению расчетно-графического задания и контрольной работы по дисциплине «Информатика».

Рекомендовано к изданию Редакционно-издательским советом федерального государственного бюджетного образовательного учреждения высшего профессионального образования «Оренбургский государственный университет»

Оренбург

2011

УДК 004.421(076) ББК 32.973.- 018.2я7

И 34

Рецензент – профессор, доктор технических наук А.М. Пищухин

Извозчикова, В. В.

И 34 Алгоритмизация и программирование решения задач на языке Си: методические указания по выполнению расчетно-графического задания для студентов по направлению 230400.62 по дисциплине «Информатика»/ В.В. Извозчикова, Д.Р. Кохановская – Оренбургский гос. ун.-т.

– Оренбург: ОГУ, 2011. – 32 с.

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

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

УДК 004.421(076) ББК 32.973.- 018.2я7

© Извозчикова В.В., Кохановская Д.Р., 2011

© ОГУ, 2011

2

Содержание

1

Алгоритмы и способы их задания ..................................................................................

 

5

2

Построение алгоритмов линейной структуры ..............................................................

 

8

2.1

Методические указания к выполнению работы.........................................................

8

2.2

Пример выполнения алгоритма линейной структуры...............................................

9

2.3

Варианты индивидуальных заданий ...........................................................................

 

9

3

Построение программ разветвленной структуры.......................................................

11

3.1

Методические указания к выполнению работы.......................................................

11

3.1.1 Оператор if — else .........................................

........................................................... 11

3.1.2 Оператор множественного выбора switch .............................................................

 

12

3.2

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

13

3.3

Варианты индивидуальных заданий .........................................................................

 

14

3.3.1 Решение задач с применением ветвления..............................................................

 

14

3.3.2 Вычисление значений функции y по одной из заданных формул ......................

15

4

Программирование алгоритмов циклической структуры..........................................

18

4.1

Методические указания к выполнению работы.......................................................

18

4.1.1 Оператор цикла for ...................................................................................................

 

18

4.1.2 Оператор цикла while...............................................................................................

 

19

4.1.3 Оператор цикла do — while........................................

............................................. 19

4.2

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

20

4.3

Варианты индивидуальных заданий .........................................................................

 

20

5

Обработка массивов данных .........................................................................................

 

22

5.1

Методические указания к выполнению работы.......................................................

22

5.1.1 Одномерные и двумерные массивы .......................................................................

 

22

5.1.2 Сортировка массивов...............................................................................................

 

24

5.2

Примеры работы с массивами....................................................................................

 

26

5.3Варианты индивидуальных заданий ..........................................................................

 

28

5.3.1 Обработка одномерных массивов...........................................................................

 

28

5.3.2 Обработка двумерных массивов.............................................................................

 

29

6

Основные требования к содержанию и оформлению работы...................................

30

6

Литература, рекомендуемая для выполнения расчетно-графического задания

 

(контрольной работы) .......................................................................................................

 

31

Список использованных источников ..............................................................................

 

32

3

Введение

С появлением ЭВМ появилась необходимость интенсифицировать потоки информации человек – компьютер – человек. Но для повышения эффективности применения человеком компьютера как инструмента нужны общая мысль, общие понятия. С появлением науки информатики появился новый метод – алгоритмизация. Алгоритмический стиль мышления позволяет связать воедино функционирование информации в конкретной среде с требованиями её машинной обработки.

Алгоритмическое мышление помогает формировать следующие навыки:

-уметь планировать структуру действий, необходимых для достижения заданной цели при помощи фиксированного набора средств;

-строить информационные структуры для описания объектов и средств;

-своевременно обращаться к ЭВМ при решении задач из любой области;

-формировать навыки анализа информации, умение структурировать ее. Алгоритмизация это один из начальных этапом проектирования программы. Программирование – это процесс создания компьютерных программ. Про-

граммирование позволяет настроить компьютер или иное программируемое логическое устройство на те или иные действия.

Программирование для ЭВМ основывается на использовании языков программирования, на которых записывается программа. В настоящее время для того, чтобы программа могла быть понята и исполнена ЭВМ, требуется специальный инструмент — транслятор. Можно, конечно, обойтись и без транслятора. Но тогда программу придется кодировать непосредственно на языке машинных команд, а это весьма трудоемкое занятие.

Си – стандартизированный процедурный язык программирования. Си был создан для использования в операционной системе UNIX. Си портирован на многие другие операционные системы и стал одним из самых используемых языков программирования. Си эффективный язык. Он является самым популярным языком для создания системного программного обеспечения. Его часто используют для создания прикладных программ. Си он активно используется для обучения программированию. В дальнейшем синтаксис языка Си стал основой для многих других языков. Для языка Си характерны лаконичность, стандартный набор конструкций управления потоком выполнения, структур данных и обширный набор операций

Расчетно-графическое задание (контрольная работа) по дисциплине «Информатика» введена в учебный план согласно Федеральному государственному образовательному стандарту высшего профессионального образования по направлению подготовки 230400.62 Информационные системы и технологии. Защита курсовой работы предусмотрена в конце первого семестра после изучения дисциплины.

Расчетно-графическая работа (контрольная работа) представляет проверку и оценку полученных студентами теоретических знаний и практических навыков по дисциплине «Информатика».

В обязанности преподавателя входит оказание методической помощи и консультирование студентов. РГР представляется студентами в письменной форме на проверку преподавателю с последующей ее устной защитой и оценкой.

4

1 Алгоритмы и способы их задания

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

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

Алгоритм — это понятное и точное предписание исполнителю, совершить последовательность действий, направленных на достижение определенной цели.

Алгоритм обладает следующими свойствами:

1)конечность (результативность). Алгоритм приводит к получению результата за конечное число шагов;

2)однозначность (определенность). При одинаковых входных данных алгоритм выдает одинаковый результат;

3)массовость (универсальность). Алгоритм выдает результат при любых однотипных входных данных.

4)модульность (дискретность). Алгоритм можно представить в виде последовательности более элементарных алгоритмов.

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

Способы представления алгоритмов:

- текстовый. Бывает естественный (например, рецепт, инструкции) и алгоритмический (языки программирования);

- графический (блок-схема).

Блок-схема – это ориентированный граф, указывающий порядок исполнения команд алгоритма. Блок-схема кодирует алгоритм наглядными графическими средствами. Она состоит из следующих графических элементов:

1)кружков, кодирующих начало и конец, вход и выход из алгоритма;

2)параллелограммов, описывающих ввод и вывод данных;

3)прямоугольников, в которых описывается действие с данными;

4)ромбов, определяющих проверяемые алгоритмом условия.

Эти фигуры соединяются линиями со стрелками, указывающими последовательность действий.

Вершины блок-схемы могут быть одного их трех видов:

– функциональная (один вход – один выход);

5

– предикатная (один вход – два выхода);

– объединяющая (два входа – один выход).

Из этих вершин можно построить основные алгоритмические конструкции:

1)следование, или цепочка, или составная инструкция;

2)выбор, или ветвление, или условная инструкция;

3)цикл, или возврат, или циклическая инструкция.

Элементарный алгоритм следование — последовательное, линейное выполнение действий. Этот элементарный алгоритм можно изобразить в виде блок-схемы из двух прямоугольников (рисунок 1). Поскольку вместо прямоугольника можно подставить снова эту же блок-схему, и т. д., то последовательность прямоугольников может быть сколь угодно большой.

а) простейший вид б) действие 2 разделено на действия 3 и 4 Рисунок 1 – Блок-схема элементарного алгоритма «следование»

Элементарный алгоритм выбор — это выбор по условию одного действия из двух. Когда исполнитель доходит до ромба с условием, то он выбирает среди двух действий. Если условие выполняется, исполнитель осуществляет переход к прямоугольнику действия по стрелке с пометкой «да», иначе — к действию «нет». После выполнения действия, определенного условием, исполнитель продолжает движение дальше по алгоритму.

Этот элементарный алгоритм изображается в виде блок-схемы из двух прямоугольников и одного ромба (рисунок 2). Следует иметь в виду, что вместо прямоугольников можно подставлять любые элементарные алгоритмы.

6

Рисунок 2 – Блок-схема элементарного алгоритма «выбор»

Элементарный алгоритм цикл — это повторение одного и того же действия, пока выполняется условие. Когда исполнитель доходит до ромба с условием, то решает, выполнить действие или пройти мимо и больше сюда не возвращаться. Если условие выполняется, исполнитель выполняет действие и возвращается обратно на ромб с условием. Естественно, что действие должно, помимо прочего, изменять условие. Когда условие перестает выполняться, исполнитель продолжает движение дальше по алгоритму.

Различают циклы с проверкой условия перед выполнением очередной итерации и циклы с проверкой условия после выполнения очередной итерации. Первые называются циклами с предусловием, вторые – с постусловием (рисунок 3).

 

Действие

 

Действие

 

 

 

 

 

нет

да

да

Условие

нет

 

Условие

 

 

а) цикл с предусловием б) цикл с постусловием Рисунок 3 – Блок-схема алгоритма цикл

7

2 Построение алгоритмов линейной структуры

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

2.1 Методические указания к выполнению работы

В языке Cи все переменные должны быть объявлены до их использования. В нем определены 5 типов данных, которые считаются базовыми:

char – символьные тип данных размером в 1 байт (сhar – это сокращение от английского «character» – « символ»);

int – целочисленный знаковый тип данных размером в 4 байта (int – сокращение от английского «integer» – « целое»);

float – вещественные, (тип float – от английского floating point – плавающая точка), занимают 4 байта в памяти;

double – вещественные переменные двойной длины.

На основе этих четырех типов строятся другие типы данных. Простейшим приемом построения других типов является использование модификаторов, которые ставятся перед соответствующим типом. В стандарте ANSI языка C такими модификаторами являются следующие зарезервированные слова:

signed – знаковый;

unsigned – беззнаковый;

− long – длинный;

short – короткий.

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

К арифметическим операциям относятся: сложение (знак операции "+"), вычитание ("-"), умножение ("*"), деление ("/") и взятие остатка от деления ("%").

Арифметические выражения – это совокупность констант и названий переменных, соединенных между собой знаками арифметических операций и вызовов стандартных функций.

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

8

2.2 Пример выполнения алгоритма линейной структуры

Задача 2. Составить программу для вычисления значения функции Y по формуле при заданных значениях x, a.

Y =

cos x

 

 

lg(x + a)− | x − a |

 

 

 

#include<stdio.h>

//подключение библиотеки ввода-вывода

#include<math.h>

//подключение математической библиотеки

main ()

 

{

 

 

 

double x, y,a;

//объявление переменных x,y,a

printf ("Введите x и a\n:");

//подсказка для ввода

scanf ("%lf%lf", &x, &a);

//ввод значений

y=(cos(x))/(log(x+a)-fabs(x-a));

printf ("\nЗначение функции y=%lf", y); //вывод значения у

getch();

//ожидание нажатия клавиши

}

 

2.3 Варианты индивидуальных заданий

1.

y =

x + a −

 

 

 

 

xa

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5,5x + 2xa

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.

y =

 

 

 

 

 

5x − 45

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

tgx2

− ln(x − 8,1)

 

 

 

 

 

 

y = cos3 a +

5a −

 

 

 

 

 

 

 

 

 

 

 

 

 

3.

 

a + 5,1x

 

 

 

 

 

ea + ln x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4.

y =

lg(x + a) −

 

x − 5a

 

 

cos3 a

 

 

 

 

 

 

sin 5,3x + 2x

 

 

 

 

 

 

x + a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5.

y =

a

sin x − cos x 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x 2 cos x + 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6.

y = tg

5x

+ ln

 

2x + 5

 

+1,8

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y = cos5x + 7

 

 

 

 

 

 

7.

π +

 

2 − x

 

 

 

 

 

9

8.y = x3 + ln π + 5 − x

9.y = x7 + e5x

10.y = 5x − sin x + 3

11.y = ln5x + x sin x + tgx3

12.y = tgπx + x7 + e2x +3

13.y = ln 7x9 + 3

14.y = sin x + 2x7 + 3x

15.y = 7x +1,7 + cos x3

16.y = 4ex + 7x + cosx 2

17.y = sin3 x − x4 + a2

=ln(a + x)

18.y

+cosasin x

=ln x + 5x

19.y cos x

+2x5,5x

20.y = 5x + ln x5

21.y = sin x + cos x + tgx

22.y = tg sin x + x

23.y = ln 4x + x5 + tgx

24.y = ln x − e3 + cos x + x

10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]