Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ДЗ №1 В1.doc
Скачиваний:
2
Добавлен:
21.11.2019
Размер:
143.87 Кб
Скачать

ДОМАШНЕЕ ЗАДАНИЕ № 1

по курсу «Информатика» для студентов дневного и вечернего отделений инженерно-экономического факультета и факультета ММТ

Задание:

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

Задача 1.

Даны x, y, z. Вычислить a, b, используя приведенные ниже формулы. Получить max(a, b).

вар-та

Исходные данные

1

Решение:

a) Программа.

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

int main()

{

float x,y,z,a,b,max;

printf("\ninput x,y,z: ");

scanf("%f%f%f",&x,&y,&z);

a=(pow(fabs(x-1),1./2)-pow(fabs(y),1./3))/(1+pow(x,2)/2+pow(y,2)/4);

b=x*(atan(z)+exp(-(x+3)));

if(a==b)printf("\nmax=a=b=%f",a);

else {if(a>b) max=a; else max=b;

printf("\nmax=%f\n",max);}

system("PAUSE");

return 1;

}

Результат:

input x,y,z: 1,2,3

max=0.018316

Для продолжения нажмите любую клавишу . . .

b ) Блок-схема.

+ -

+ -

с) Пояснительная записка.

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

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

В теле функции main() объявляются вещественные переменные х, у, z, a, b, max.

х, у, z - исходные данные; a, b - расчетные переменные для вычисления по формулам; max для хранения максимального значения из a и b.

Далее содержится вызов библиотечной функции printf(), которая выводит на экран текст «Введите х, у, z». Предварительно происходит перевод строки, который задается в функции printf() управляющими символами “\n”.

Ввод числовых значений х, у, z происходит со стандартного устройства ввода (клавиатуры) по адресам: &х, &у, &z соответственно. Осуществляет это библиотечная функция scanf(), в которой используется спецификация формата ввода %f, так как х, у, z - вещественные числа.

Далее вычисляются значения а и b с помощью арифметических операций и библиотечных математических функций.

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

if (выражение) оператор 1; else

{ if (выражение) оператор 2; else оператор 3;}

позволяет выбрать максимальное из значений а и b, которое затем присваивается переменной max.

Использование функции printf() дает возможность вывести на стандартное устройство вывода (монитор) числовое значение переменной max. Здесь также используется спецификация вывода %f, поскольку max - вещественное число.

Далее функция main() возвращает значение 1, что говорит системе о правильности выполнения программы, после чего тело функции main() закрывается фигурной скобкой. На этом программа заканчивается.

Задача 2.

Вычислить .

вар-та

Исходные данные

1

Решение:

а) Программа.

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

int main()

{

float s=0, an;

int n, k=1;

for (n=1;n<=10;n++)

{

k*=n;

an=pow(-1,n-1)/k;

s+=an;

}

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

system("PAUSE");

return 1;

}

Результат:

Summa=0.632120

Для продолжения нажмите любую клавишу . . .

b) Блок-схема.

с) Пояснительная записка.

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

Программа содержит основную функцию main(). В ее теле объявляются:

целая переменная n необходимая для параметра цикла for; целая переменная k для накопления произведения n!=1*2*3*...10, которая предварительно инициализируется единицей; вещественные переменные: s для накопления суммы элементов, аn, которая предварительно инициализируется нулем; an для обозначения элементов аn.

Далее открывается цикл for, в котором n изменяется от 1 до 10 с шагом 1. В теле цикла считается n!=1*2*3*...10, вычисляется текущий элемент суммы an и накапливается сумма s. Тело цикла for представляет собой блок, который заключается в фигурные скобки. По окончании работы цикла сумма s выводится на экран. Тело функции main() закрывается фигурной скобкой.

Задача 3.

Задана последовательность . Найти такое ai, для которого выполняется | ai – ai-1 | < , где =0,0001 .

вар-та

Исходные данные

1

Решение:

а) Программа.

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

int main()

{

float e=0.0001,ai,ai1;

int i=1;

ai=1/(pow(i,2)+2*i+10);

do

{

ai1=ai;

i++;

ai=1/(pow(i,2)+2*i+10);

}

while (fabs(ai-ai1)>=e);

printf("\nai=%f\n",ai);

system("PAUSE");

return 1;

}

Результат:

ai=0.001261

Для продолжения нажмите любую клавишу . . .

b) Блок-схема.

+

-

с) Пояснительная записка.

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

Программа содержит основную функцию main(). В ее теле объявляются:

целая переменная i необходимая для обозначения номера текущего члена последовательности ai; вещественные переменные: е - для обозначения точности вычисления текущего члена последовательности; ai, ail - для обозначения последующего и предыдущего членов последовательности аi; Для вычисления членов последовательности аi-используется цикл с постусловием: do оператор while (выражение).

По окончании работы цикла вычисленный член последовательности ai выводится на экран. Тело функции main() закрывается фигурной скобкой.

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