Пример оформления практических заданий
ТРЕБОВАНИЯ К ОФОРМЛЕНИЮ КОНТРОЛЬНОЙ РАБОТЫ
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
№ варианта | Задания | |||||||||||||||
Написать программу, которая запрашивает у пользователя номер дня недели, затем выводит название дня недели или сообщение об ошибке, если введены неверные данные | ||||||||||||||||
Написать программу, которая вычисляет стоимость междугородного телефонного разговора (цена одной минуты определяется расстоянием до города, в котором находится абонент). Исходными данными для программы являются код города и длительность разговора. Ниже приведены коды городов и рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом)
Вычисление стоимости разговора по телефону. Введите исходные данные: Код города 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 |
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 |