Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Линейные вычислительные алгоритмы






 

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

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

Помимо операций ввода-вывода основным элементарным действием в алгоритме является операция присваивания значения переменной. Формат команды присваивания:

< имя переменной> = < выражение>

Знак «=» следует читать как «присвоить». Под командой присваивания понимается последовательность действий:

- вычисляется выражение;

- полученное значение записывается в переменную.

Отметим три основных свойства команды присваивания:

1) до тех пор пока переменной не присвоено никакое значение, она остается неопределенной;

2) значение, которое было присвоено переменной, сохраняется в ней до следующей операции присваивания другого значения этой переменной;

3) значение, вновь присвоенное переменной, заменяет её предыдущее значение.

Пример построения линейного вычислительного алгоритма

и соответствующего проекта в среде Visual C++ 6.0

Пример. Разработать алгоритм и составить по нему программу (разработать консольный проект) для вычисления значений функции z = . Область определения функции не учитывать.

Ход выполнения работы

1. Написать алгоритм решения задачи в виде логически правильной последовательности действий.

2. Перевести алгоритм на язык программирования (этот процесс называется кодированием). Ниже приведены алгоритм и соответствующая программа. Программа снабжена комментариями, поясняющими, с какой целью написан тот или иной оператор. Первые два пункта нужно выполнять в тетради по лабораторным работам.

Алгоритм Программа
объявление вещ: х, у, z ввод х, у z=(sin3(x2)+cos(y))/(x2/3+5) вывод х, у, z   // подключение головных файлов stdio.h и math.h #include " stdio.h" #include " math.h" //заголовок главной функции main() int main () { // объявление вещественных переменных x, y, z float y, z, x; // вывод на печать строки x= printf (" x="); // ввод значения переменной x scanf (" %i", & x); // вывод на печать строки у= printf (" y="); // ввод значения переменной y scanf (" %f", & y); // вычисление значения переменной z с использованием // математических функций z=(pow(sin(pow(x, 2)), 3)+cos(y))/(pow(x, (float)2/3)+5); // вывод значений переменных x, y, z последовательно printf (" x=%5i\ty=%f\tz=%7.3f\n", x, y, z); // завершение работы главной функции return 1; }

3. Создать консольное приложение A “Hello, World! ” application. Открыть главную функцию main(), для чего нужно выполнить шаги, описанные в Лекции 1.

4. В открывшемся окне редактора необходимо отредактировать текст главной функции следующим образом:

удалить все строки, следующие за строкой #include " stdafx.h".

за указанной строкой напечатать текст программы.

5. Запустить приложение на выполнение, как это описано в Лекции 1.

6. Отладить программу.

7. Сохранить отлаженный проект на рабочем диске.

Примечания:

1). При вычислении знаменателя функции z была применена операция приведения к типу данных: (float)2/3. Причиной этого является то, что знак ‘/’ обозначает операцию целочисленного деления, т.е. при делении целого числа на целое число результат округляется до нуля. Если же один из операндов является вещественной переменной, то в результате получается вещественное значение. В нашем случае операция приведения к типу данных (float) позволяет «перевести» число 2 из разряда целых чисел в разряд вещественных.

2). При запуске программы на экране монитора появится строка

x=_

Часть строки x= выводит на экран функция printf(), мигающий курсор – это приглашение к вводу значения переменной x с клавиатуры. Ввод значения с клавиатуры заканчивается нажатием клавиши < enter>. Приглашение к вводу и считывание значения, введенного с клавиатуры, в ячейку оперативной памяти, отведенную под переменную x, – это результат работы функции scanf().

3). В операторе, отвечающем за вычисление значения переменной z, знаменатель дроби записан в скобках. Необходимо следить за тем, чтобы при вычислении выражений скобки были расставлены правильно, т.е. при записи дробей числитель и знаменатель, представляющие собой сумму, разность или произведение, нужно заключать в скобки; аргументы функций также заключаются в скобки. Очень важно при записи выражений на языке С++ помнить о приоритете операций.

4). Запись \t в форматной строке означает горизонтальную табуляцию, а запись \n – перевод на другую строку.

5). При выводе на печать вещественного значения функцией printf() допустим следующие форматы вывода:

%< количество_позиций_под_значение>.< количество_позиций_под_дробную_часть> f

%< количество_позиций_под_значение> i

В приведенном примере формат вывода %5i означает, что при выводе переменной x под вывод всего значения переменной будет отведено 5 позиций, а формат вывода %7.3f означает, что при выводе переменной z под вывод всего значения переменной будет отведено 7 позиций, из них 3 позиции – под дробную часть.

 

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.