ПРИМЕР ОФОРМЛЕНИЯ ПРАКТИЧЕСКИХ ЗАДАНИЙ

ТРЕБОВАНИЯ К ОФОРМЛЕНИЮ КОНТРОЛЬНОЙ РАБОТЫ

1. Курсовая работа выполняется на листах формата А4 в печатном виде. Кроме того, написанные программы нужно представить в электронном варианте (на диске: CD-R или CD-RW).

2. На титульном листе (см. ПРИЛОЖЕНИЕ 1) работы четко пишется: кафедра «Информационные системы и технологии», название дисциплины «Языки программирования», номер варианта, фамилия студента, имя и отчество, фамилия и инициалы преподавателя. В конце работы должна быть подпись выполнявшего работу студента и дата выполнения.

3. Курсовая работа должна содержать все задания строго по своему варианту. В противном случае она не зачитывается.

4. Ответы на вопросы необходимо располагать в порядке номеров, указанных в заданиях, сохраняя номера заданий.

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

6. После получения не зачтенной прорецензированной работы студент должен в короткий срок исправить все отмеченные рецензентом ошибки и недочеты.

 

СОДЕРЖАНИЕ И ОБЪЕМ КУРСОВОЙ РАБОТЫ

Курсовая работа включает: теоретический вопрос, а также 4 практические задачи (задача на линейный алгоритм, задача на алгоритм ветвления, задача на инструкцию switch, задача на циклы).

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

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

Практические задачи должны содержать: постановку задачи, блок-схему решения задачи, листинг, проверку результатов в Excel, вывод о результатах проверки.

ИНДИВИДУАЛЬНЫЕ ПРАКТИЧЕСКИЕ ЗАДАНИЯ

НА КУРСОВУЮ РАБОТУ

Задания на линейный алгоритм по вариантам представлены в таблице 1.

Таблица 1

№ варианта Задания № варианта Задания
 
 

Задания на алгоритм ветвления по вариантам представлены в таблице 2.

Таблица 2

№ варианта Функции Интервалы Исходные данные
x > 1 x 1 a = 20.3
x 0 0<x 1 x>1   __
x < 1.2 x = 1.2 x > 1.2 a = 2.8 b = -0.3 c = 4
1 t 2 t < 1 t > 2 a = - 0,5 b = 2
x < 1.4 x = 1.4 x > 1.4 a = 1.65
x < 1.3 x = 1.3 x > 1.3 a = 1.5
x < 1 x = 1 1< x< 2 x > 2 a = 2.3
x < 0.5 x = 0.5 x > 0.5 t = 2.2
x -1 -1<x 1 x>1   __
x > 3.5 x 3.5 __
x < a x = a x > a a = 2.5
x 0 0<x 1 x>1   b = 2
x -1 x > -1   __
bx < 1 bx = 1 bx > 1 b = 1.5
x < 2.8 2.8 x< 6 x 6 a = 2.6 b = -0.39
x > 1 x 1 a = 0.9
i < 4 4 i 6 i > 6 a = 2.1 b = 1.8 c = -20.5

Задания на инструкцию switch по вариантам представлены в таблице 3.

Таблица 3

№ варианта Задания
Написать программу, которая запрашивает у пользователя номер дня недели, затем выводит название дня недели или сообщение об ошибке, если введены неверные данные
Написать программу, которая вычисляет стоимость междугородного телефонного разговора (цена одной минуты определяется расстоянием до города, в котором находится абонент). Исходными данными для программы являются код города и длительность разговора. Ниже приведены коды городов и рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом)
Город Код Цена минуты, руб.
Владивосток 2,2
Москва 1,0
Мурманск 1,2
Самара 1,4

Вычисление стоимости разговора по телефону.

Введите исходные данные:

Код города 423

Длительность (целое количество минут) 3

Город Владивосток

Цена минуты: 2,20 руб.

Стоимость разговора 6,60 руб.

В зависимости от введённого символа L, S, V программа должна вычислять длину окружности; площадь круга; объём цилиндра
Ввести телефонный код города. Вывести название города
Написать программу, которая по введенному числу из промежутка 0..24, определяет время суток
Пусть имеются данные об автомобилях четырех моделей. Как входное данное ввести номер модели и получить характеристики: год выпуска и цену
Для целого числа N от 20 до 30 напечатать фразу "Мне N лет", учитывая при этом, что при некоторых значениях N слово "лет" надо заменить на слово "год" или "года"
Ввести число от 0 до 5. Вывести его название на английском языке
Пусть время суток обозначено номерами: 1 – утро; 2 – день; 3 – вечер. Билет в кино на утренний сеанс стоит 50 р., на дневной сеанс – 70 р., а на вечерний – 200 р. Какова выручка кинотеатра в одно из время суток, если в кино пришло n посетителей
Ввести номер телефона одного из четырех друзей. Вывести его имя
Элементы окружности пронумерованы следующим образом: 1 — радиус R; 2 — диаметр D = 2·R; 3 — длина L = 2·Пи·R; 4 — площадь круга S = Пи·R2. Дан номер одного из этих элементов и его значение. Вывести значения остальных элементов данной окружности
Дано целое число K. Вывести строку-описание оценки, соответствующей числу K (1 — «плохо»; 2 — «неудовлетворительно»; 3 — «удовлетворительно»; 4 — «хорошо»; 5 — «отлично»). Если K не лежит в диапазоне 1–5, то вывести строку «ошибка»
Дан номер месяца — целое число в диапазоне 1–12 (1 — январь; 2 — февраль и т. д.). Вывести название соответствующего времени года («зима», «весна», «лето», «осень»)
  Дан номер месяца — целое число в диапазоне 1–12 (1 — январь; 2 — февраль и т. д.). Определить количество дней в этом месяце для невисокосного года
  Арифметические действия над числами пронумерованы следующим образом: 1 — сложение; 2 — вычитание; 3 — умножение; 4 — деление. Дан номер действия N (целое число в диапазоне 1–4) и вещественные числа A и B (B не равно 0). Выполнить над числами указанное действие и вывести результат
  Ввести цифру от 0 до 7. Вывести строку — название дня недели, соответствующее данному числу (1 — «понедельник»; 2 — «вторник» и т. д.)
Ввести первую букву названия страны. Вывести название ее столицы

Задания на циклы по вариантам представлены в таблице 4.

Таблица 4

№ варианта Задания
Написать программу, которая выводит таблицу квадратов первых пяти целых положительных нечетных чисел
Написать программу, которая вычисляет сумму первых n целых положительных целых чисел. Количество суммируемых чисел должно вводиться во время работы программы
Написать программу, которая вычисляет сумму первых n целых положительных четных целых чисел. Количество суммируемых чисел дожно вводиться во время работы программы
Написать программу, которая вычисляет сумму первых n членов ряда: 1,3,5,7… Количество суммируемых членов ряда задается во время работы программы
Написать программу, которая вычисляет сумму первых n членов ряда: Количество суммируемых членов ряда задается во время работы программы
Написать программу, которая выводит таблицу степеней двойки от нулевой до десятой
Написать программу, которая вычисляет факториал введенного с клавиатуры числа
Написать программу, которая выводит таблицу значений функции в диапазоне от -2 до 2, с шагом 0,5.
Написать программу, которая выводит с клавиатуры 5 дробных чисел и вычисляет их среднее арифметическое.
Написать программу, которая вычисляет среднее арифметическое вводимой с клавиатуры последовательности дробных чисел. Количество чисел должно задаваться во время работы программы
Написать программу, которая вводит с клавиатуры последовательность из пяти дробных чисел и после ввода каждого числа выводит среднее арифметическое введенной части последовательности.
Написать программу, которая вычисляет среднее арифметическое последовательности дробных чисел, вводимых с клавиатуры. После ввода последнего числа программа должна вывести минимальное и максимальное число последовательности. Количество чисел последовательности должно задаваться во время работы программы.
Написать программу, которая генерирует последовательность из 10 случайных чисел в диапазоне от 1 до 10, выводит эти числа на экран и вычисляет их среднее арифметическое.
Написать программу, которая генерирует три последовательности из десяти случайных чисел в диапазоне от 1 до 10, выводит каждую последовательность на экран и вычисляет среднее арифметическое каждой последовательности
Написать программу, которая выводит на экран таблицу стоимости, например, яблок в диапазоне от 100 г до 1 кг с шагом 100 г.
Написать программу, которая выводит таблицу значений функции Диапазон изменения аргумента от -4 до 4, с шагом приращения аргумента 0,5.
Написать программу, которая выводит таблицу значений функции Диапазон изменения аргумента от -4 до 4, шаг приращения аргумента 0,5.

ПРИМЕР ОФОРМЛЕНИЯ ПРАКТИЧЕСКИХ ЗАДАНИЙ

КУРСОВОЙ РАБОТЫ

1 . ЛИНЕЙНЫЙ АЛГОРИТМ

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

Задача 1

Рассчитать значение функций:

S = 1+ x + + +

G = x(sin(x³) + cos²(y))

при х = 0,335, у = 0,025.

Составим блок-схему решения задачи (рис. 1).

Вывод G
Начало
х = 0,335; у = 0,025
S = 1+ x + + +
G = x (sin(x³) + cos²(y))
Вывод S
Конец

 

 


Рис. 1. Блок-схема решения задачи 1

 

 

В блок-схеме, представленной на рисунке 1:

Блок 1 – начало алгоритма;

Блок 2 – присваивание значений переменным х и у;

Блок 3 – вычисление значения функции S;

Блок 4 – вычисление значения функции G;

Блок 5 – вывод значения функции S;

Блок 6 – вывод значения функции G;

Блок 7 – конец алгоритма.

Листинг

#include "stdafx.h"

#include <iostream>

#include "conio.h"

#include <math.h>

int _tmain(int argc, _TCHAR* argv[])

{setlocale(0,"rus");

float s,g,x,y;

x=0.335; y=0.025;

s=1+x+((x*x)/(1*2))+((pow(x,3))/(1*2*3))+((pow(x,4))/(1*2*3*4));

g=x*(sin(pow(x,3))+pow(cos(y),2));

printf("s=%f\n",s);

printf("g=%f\n",g);

 

getch();

return 0;

}

 

Результат работы программы

 

 

Рис. 2. Результат решения задачи 1

 

Проверка результатов в Excel (рис.3, рис.4)

Рис. 3. Проверка результата решения задачи 1 (а)

 

Рис. 4. Проверка результата решения задачи 1 (б)

 

Проверка показала, что результат работы программы, написанной на С++, и результат, полученный с помощью Excel, совпадает. Из этого следует, что программа составлена правильно.

 

2. АЛГОРИТМ ВЕТВЛЕНИЯ

 

Алгоритм, содержащий одно или несколько условий и соответственно две и более ветви, называется алгоритмом с ветвлениями.

Одна ветвь указывает действие (действия), которые будут совершаться, если условие выполняется (ветвь – да), а вторая ветвь указывает действие (действия), которые будут совершаться, если условие не выполняется (ветвь – нет).

 

Задача 2

 

Рассчитать значения системы функций:

при 1 < х < 1,2; x = 1,2; 1,2 < x <1,5.

Примем диапазон изменения величины х=0,2.

Начало
а = 2,8; b = -0,3; c = 4; x = 0; z=1,2
х = 1; х < 1,5; x+=0,2
Составим блок-схему решения задачи (рис.5)

 


 

w = ax² + bx + c
Вывод w
x += 0,2
х < z
да
нет
х == z
w = +
Вывод w
x += 0,2
w =
нет
да

 

 


 

 


 

Вывод w
x += 0,2
Конец

 


Рис. 5. Блок-схема решения задачи 2

 

В блок-схеме, представленной на рисунке 5:

 

Блок 1 – начало алгоритма;

Блок 2 – присваивание значений переменным a, b, c, x и константе z;

Блок 3 – начало цикла с заданным количеством итераций, переменная х меняется от 1 до 1,5 с шагом 0,2;

Блок 4 – проверка условия, что x < 1,2;

Блок 5 – вычисление значения функции w;

Блок 6 – вывод значения функции w;

Блок 7 – увеличение значения х на 0,2;

Блок 8 – проверка условия, что x > 1,2;

Блок 9 – вычисление значения функции w;

Блок 10 – вывод значения функции w;

Блок 11 – увеличение значения х на 0,2;

Блок 12 – вычисление значения функции w;

Блок 13 – вывод значения функции w;

Блок 14 – увеличение значения х на 0,2;

Блок 15 – конец алгоритма.

 

Листинг

 

#include "stdafx.h"

#include <iostream>

#include "conio.h"

#include <math.h>

 

int _tmain(int argc, _TCHAR* argv[])

{setlocale(0,"rus");

 

float x,w,a,b,c,z;

a=2.8; b=-0.3; c=4; x=0; z=1.2;

 

for(x=1;x<1.5;x+=0.2)

{

if (x<z)

{

w=a*x*x+b*x+c;

printf("w= %f\n\n",w);

}

else

{

if (x==z)

{

w=a/x+sqrt(x*x+1);

printf("w= %f\n\n",w);

}

else

{

w=(a+b*x)/sqrt(x*x+1);

printf("w= %f\n\n",w);

}

}

}

getch();

return 0;

}

 

Результат работы программы

Рис. 6. Результат решения задачи 2

 

Проверка результатов в Excel (рис.7, рис.8, рис.9)

Рис. 7. Проверка результата решения задачи 2 (а)

Рис. 8. Проверка результата решения задачи 2 (б)

Рис. 9. Проверка результата решения задачи 2 (в)

 

Проверка показала, что результат работы программы, написанной на С++, и результат, полученный с помощью Excel, совпадает. Из этого следует, что программа составлена правильно.

3. ИНСТРУКЦИЯ МНОЖЕСТВЕННОГО ВЫБОРА

 

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

Задача 3

Пусть время суток обозначено номерами: 1 – утро, 2 – день, 3 – вечер. Билет в кино на утренний сеанс стоит 50 р., на дневной сеанс – 70 р., а на вечерний – 100 р. Какова выручка кинотеатра в одно из время суток, если в кино пришло n посетителей.

Составим блок-схему решения задачи (рис. 10)

конец
Введено неправильное число
y1
y2
y3
начало
y1 = 50 * n; y2 = 70 * n; y3 = 100 * n
x
n
x=1
x=2
x=3
нет
нет
нет
да
да
да

Рис. 10. Блок-схема программы с инструкцией множественного выбора

В данной блок-схеме:
Блок 1 – начало алгоритма;

Блок 2 – ввод количества билетов, n;

Блок 3 – вычисление значений утренней, дневной, вечерней прибыли кинотеатра (y1, y2, y3);

Блок 4 – ввод времени суток, x;

Блок 5 – проверка условия, что x=1 (утро);

Блок 6 – вывод на экран y1 (утренняя прибыль);

Блок 7 – проверка условия, что x=2 (день);

Блок 8 – вывод на экран y2 (дневная прибыль);

Блок 9 – проверка условия, что x=3 (вечер);

Блок 10 – вывод на экран y3 (вечерняя прибыль);

Блок 11 – если x не равен 1, 2, 3, то введено неправильное число;

Блок 12 – конец алгоритма.

 

Код программы

#include "stdafx.h"

#include <iostream>

#include "conio.h"

#include <math.h>

int _tmain(int argc, _TCHAR* argv[])

{ setlocale(0,"rus");

int n,x,y1,y2,y3;

printf("Введите количество проданных билетов\n");

scanf("%i",&n);

y1=50*n;

y2=70*n;

y3=100*n;

printf("Введите время суток: 1 - утро, 2 - день, 3 - вечер\n");

scanf("%i",&x);

switch (x)

{ case 1:puts("Утренний сеанс. Цена 1 билета 50 рублей.");

printf("Выручка кинотеатра %i",y1);printf(" рублей");break;

case 2:puts("Дневной сеанс. Цена 1 билета 70 рублей.");

printf("Выручка кинотеатра %i",y2);printf(" рублей");break;

case 3:puts("Вечерний сеанс. Цена одного билета 100 рублей");

printf("Выручка кинотеатра %i",y3);printf(" рублей");break;

default:puts("Число должно быть от 1 до 3"); }

getch();

return 0; }

 

Результат работы программы приведён на рисунках 11, 12, 13, 14.

Рис. 11. Результат работы программы с инструкцией выбора 1

Рис. 12. Результат работы программы с инструкцией выбора 2

Рис. 13 – Результат работы программы с инструкцией выбора 3

Рис.14. Результат работы программы с инструкцией выбора 4

 

4. ЦИКЛИЧЕСКИЙ АЛГОРИТМ

 

Форма организации действий, при которой выполнение одной и той же последовательности команд повторяется, пока выполняется некоторое заранее установленное условие, называется циклом (повторением).

Алгоритм, содержащий циклы, называется циклическим алгоритмом или алгоритмом с повторениями.

 

Задача 4

 

Напишите программу, которая выводит на экран таблицу значений функции в диапазоне от -4 до 4. Шаг изменения аргумента 0,5.

y = 2x² - 5x – 8

 

Составим блок-схему решения задачи

Начало
x1 = -4; x2 = 4; dx = 0,5
x = x1
х < = x2
Вывод x
нет
да


 

y = 2x²-5x-8
Вывод y
x += dx
Конец

 

 


Рис. 15. Блок-схема решения задачи 4

 

В блок-схеме, представленной на рисунке 15:

Блок 1 – начало алгоритма;

Блок 2 – присваивание значений константам x1 (начальное значение переменной х), х2 (конечное значение переменной х), dx (шаг изменения переменной х);

Блок 3 – присваивание переменной х начального значения;

Блок 4 – проверка условия, что переменная х не достигла конечного значения;

Блок 5 – вывод текущего значения переменной х на экран;

Блок 6 – расчет значения функции у в зависимости от переменной х;

Блок 7 – вывод значения функции у на экран;

Блок 8 – наращение значения переменной х на определённый шаг;

Блок 9 – конец алгоритма.

 

Листинг

 

#include "stdafx.h"

#include <iostream>

#include "conio.h"

 

int _tmain(int argc, _TCHAR* argv[])

{setlocale(0,"rus");

 

float x,dx,x1,x2,y;

 

x1=-4;

x2=4;

dx=0.5;

x=x1;

 

printf("--------------------------\n");

printf(" x | y\n");

printf("--------------------------\n");

 

while(x<=x2)

{

y=2*x*x-5*x-8;

printf(" %6.1f |%6.f\n",x,y);

x+=dx;

}

 

printf("--------------------------\n");

 

getch();

return 0; }

 

Результат работы программы

Рис. 16. Результат решения задачи 4

 

Проверка результатов в Excel (рис.17)

Рис. 17. Проверка результата решения задачи 4

Проверка показала, что результат работы программы, написанной на С++, и результат, полученный с помощью Excel, совпадает. Из этого следует, что программа составлена правильно.

ЛИТЕРАТУРА

1. Культин Н.Б. С/С++ в задачах и примерах. – СПб.: БХВ-Петербург, 2006. – 288 с.: ил.

2. Керниган Б., Ритчи Д., Фьюэр А. Язык программирования Си. – М.: Финансы и статистика, 2006.

3. Уайт М., Прата С., Мартин Д. Язык Си. Руководство для начинающих: Пер. с анг. – М.: Мир, 2006. – 512 с.

4. Меняев М.Ф. Информатика и основы программирования. Учеб.пособие/М.Ф.Меняев. – 3-е изд., стер. – М.: Омега-Л, 2007. – 458с.: ил.

 


ПРИЛОЖЕНИЕ 1

Титульный лист

Министерство образования и науки Российской Федерации Федеральное агентство по образованию Саратовский государственный технический университет им.Ю.А. Гагарина Балаковский институт техники, технологии и управления Кафедра «Информационные системы и технологии»     КУРСОВАЯ РАБОТА по дисциплине «Языки программирования» Вариант №___     Выполнил(а): ст.гр. ИФСТ-1з _________________________ Проверил: асс. каф. ИСТ Оржинская С.В. _________________________ «__»_______________2012 г.   Балаково 2012