Студопедия
МОТОСАФАРИ и МОТОТУРЫ АФРИКА !!!


Авиадвигателестроения Административное право Административное право Беларусии Алгебра Архитектура Безопасность жизнедеятельности Введение в профессию «психолог» Введение в экономику культуры Высшая математика Геология Геоморфология Гидрология и гидрометрии Гидросистемы и гидромашины История Украины Культурология Культурология Логика Маркетинг Машиностроение Медицинская психология Менеджмент Металлы и сварка Методы и средства измерений электрических величин Мировая экономика Начертательная геометрия Основы экономической теории Охрана труда Пожарная тактика Процессы и структуры мышления Профессиональная психология Психология Психология менеджмента Современные фундаментальные и прикладные исследования в приборостроении Социальная психология Социально-философская проблематика Социология Статистика Теоретические основы информатики Теория автоматического регулирования Теория вероятности Транспортное право Туроператор Уголовное право Уголовный процесс Управление современным производством Физика Физические явления Философия Холодильные установки Экология Экономика История экономики Основы экономики Экономика предприятия Экономическая история Экономическая теория Экономический анализ Развитие экономики ЕС Чрезвычайные ситуации ВКонтакте Одноклассники Мой Мир Фейсбук LiveJournal Instagram

Алгоритмы, необходимые для написания программ




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

1) Ограничение на входные данные приводит к необходимости проверки при их введении. Для этого можно использовать следующие циклы.

а) цикл с предусловием while (условие) . .. . Условие должно принимать значение «истина» при неправильном вводе данных. Например, необходимо ввести натуральное число n. Это осуществляется следующим циклом с предусловием:

cin >> n;

while (n <= 0)

{

cout << ”Введите натуральное число “;

cin >> n;

}

б) цикл с постусловием do . . . while (условие). Условие должно принимать значение «истина» при неправильном вводе данных. Например, необходимо ввести натуральное число n. Это осуществляется следующим циклом с постусловием:

do

{

cout << ”Введите натуральное число “;

cin >> n;

}while (n <= 0);

2) Следует помнить о необходимости проверки аргументов функций, если область определения функции отлична от всего пространства.

3) Еще один часто встречающийся алгоритм при вводе данных – необходимо ввести n элементов массива x[i], значения которого уникальны. Это можно осуществить с помощью следующего цикла с параметрами:

for(i=0; i<n; i++)

{

cout << "Введите x("<<i+1<<") = ";

cin >> x[i];

for(j=0 ; j<i; j++)

if(x[i] == x[j]) //Если встретился такой же элемент,

{ //необходимо его ввести вновь,

i--; //причем его индекс будет повторяться

break; //до тех пор, пока значение не будет

} //уникальным.

}

Листинг 1.1. Задана прямая линия ax+by+c=0, причем коэффициенты a и b не равны нулю (необходимо проверить при вводе). Определить, лежит ли точка с координатами (x0,y0) выше или ниже прямой. Вычислить y=ln(5+3 x) при x=d+hk, k=0, 1, 2, …, 10, если точка лежит выше прямой, и y=0, если точка лежит на прямой линии или ниже ее. Вывести на экран дисплея информацию, если функцию вычислить нельзя.

//stdafx.h

#pragma once

#define WIN32_LEAN_AND_MEAN

#include <stdio.h>

#include <math.h> //Библиотека математических функций

#include <tchar.h>

#include <iostream>

using namespace std; //Использовать пространство имен std

//L1_1.cpp

#include “stdafx.h”

int main( )

{

setlocale(LC_CTYPE, “russian”); // Функции обработки символов

double x,y,a,b,c;

do //Контроль того, что a и b не равны нулю

{

cout << «Введите коэффициенты прямой a b c «;

cin >> a >> b >> c;

}while(a == 0 || b == 0);




cout << «Введите начальную точку и шаг «;

cin >> d >> h;

cout << ’\n’;

cout << « x y Результат\n\n»;

cout.precision(5); //Вывод 5 значащих цифр

for(i=0; i<=10; i++)

{

x=d+i*h;

if(5+3*x <= 0)

{

cout.width(32); //Выводить в 32 позициях

cout << «Функцию вычислить нельзя\n»;

}

else

{

y=log(5+3*x);

if(a*x+b*y+c<0)

{

cout.width(4); //Выводить в 4 позициях

cout << x;

cout.width(8); //Выводить в 8 позициях

cout << y;

cout << « Точка лежит под прямой \n»;

}

else

{

cout.width(4); //Выводить в 4 позициях

cout << x;

cout.width(8); //Выводить в 8 позициях

cout << 0;

cout << « Точка лежит над прямой \n»;

}

}

}

return 0;

}

Результат работы программы листинга 1.1 приведен на рис. 1.1:

Рис. 1.1. Результат работы программы листинга 1.1





Дата добавления: 2015-09-06; просмотров: 326; Опубликованный материал нарушает авторские права? | Защита персональных данных | ЗАКАЗАТЬ РАБОТУ


Не нашли то, что искали? Воспользуйтесь поиском:

Лучшие изречения: Как то на паре, один преподаватель сказал, когда лекция заканчивалась - это был конец пары: "Что-то тут концом пахнет". 8404 - | 8021 - или читать все...

Читайте также:

 

35.173.234.140 © studopedia.ru Не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования. Есть нарушение авторского права? Напишите нам | Обратная связь.


Генерация страницы за: 0.003 сек.