Лабораторные работы раздела «Основы алгоритмизации и программирования» выполняются в среде Dev-C++ (Пуск-> Программы-> Dev-C++).
Для создание нового проекта следует использовать команду File->New->Project. Далее следует выбрать настройку Console Application и указать имя проекта (на англ.!), например, lab_1 (рис. 1). Далее необходимо сохранить проект на своем сетевом диске.
Рисунок 1. Пример создания нового проекта.
Лабораторная работа № 1
Функции ввода/вывода. Вычисление выражений.
ЦЕЛЬ РАБОТЫ.
научиться использовать в программах функции ввода/вывода и производить простые вычисления.
ПРАКТИЧЕСКОЕ ЗАДАНИЕ.
Вычислите и напечатайте значение функции y(x) в произвольной точке отрезка [a;b] согласно своему варианту.
Составьте отчет о выполнении лабораторной работы, в который включите:
Название и цель работы;
Индивидуальное задание;
Текст программы;
Результат решения задачи;
Блок-схему алгоритма решения задачи.
ПРИМЕР ВЫПОЛНЕНИЯ РАБОТЫ.
Пусть y(x) = sin2(x)- cos2(x), xÎ[0;π].
Для вычисления значения функции y(x) в точке x заданного отрезка считаем со стандартного устройства ввода с помощью функции ввода scanf() значение аргумента x.
Используя условный оператор if, логические операции и операции отношения, проверим принадлежность введенного значения отрезку [a;b]. В случае успеха вычислим значение y(x) и выведем его на печать с помощью стандартной функции вывода printf().
/*Лабораторная работа 1*/
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
float x, y, a = 0, b = 3.14;
printf("\nInput x\n");
scanf( "%f", &x);
if ( x<a || x>b) {
printf("\nError!");
system("PAUSE");
return 0;
}
y = pow(sin(x),2.)-pow(cos(x),2.);
printf(" \ny(%f) = %f ", x, y);
system("PAUSE");
return 0;
}
Варианты заданий.
№ варианта |
Интервал [a;b] |
f(x) |
1 |
[0.1,0.8] | |
2 | ||
3 |
[0.2,1] | |
4 |
[0.1,1] | |
5 | ||
6 |
[0.1,1] | |
7 |
[0.1,0.8] | |
8 |
[0.1,1] | |
9 |
[0.1,1] | |
10 |
[0.1,0.5] | |
11 |
[0.1,1] | |
12 |
[-2,-0.1] |
Лабораторная работа № 2
Сочетания циклов и разветвлений.
ЦЕЛЬ РАБОТЫ.
научиться сочетать в программах элементы циклов и разветвлений, научиться использовать составные операторы.
ПРАКТИЧЕСКОЕ ЗАДАНИЕ.
Протабулировать заданную функцию y = f(x) на промежутке [a, b ] с постоянным шагом h.
Составьте отчет о выполнении лабораторной работы, в который включите:
Название и цель работы;
Индивидуальное задание;
Текст программы;
Результат решения задачи;
Блок-схему алгоритма решения задачи.
ПРИМЕР ВЫПОЛНЕНИЯ РАБОТЫ.
Пусть функция y(x) имеет вид:
для x[-2;2], h = 0,1.
Для вычисления искомых значений организуется цикл, в котором переменная x принимает значения от -2 до 2 с шагом h. Для каждого x в теле цикла вычисляется y(x) в зависимости от значения sin x. Полученный результат выводится на печать.
/* Лабораторная работа 2 */
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
float a = 6.28, b = 6.28, x = a, y, h = 0.1;
while (x <= b)
{
if (sin(x) > 0.2)
y = xx +1;
else
y = xx - 1;
printf(”\ny(%f) = %f”, x, y);
x += h;
}
system("PAUSE");
return 0;
}