- •Содержание работы
- •1 Элементы языка с
- •1.1 Символы
- •2 Простые типы данных
- •3 Операции над числовыми данными
- •4 Объявление переменных
- •5 Структура программы на с
- •7 Директива #define
- •9 Библиотека математических функций
- •Содержание работы
- •1 Условный оператор if
- •Пример 1 Поиск наибольшего значения
- •Пример 2 Определение принадлежности точки фигуре
- •2 Составной оператор
- •Пример 3 Проверка условия существования треугольника
- •3 Вложенный оператор
- •Пример 4 Вложенное ветвление
- •4 Оператор выбора switch
- •Содержание работы
- •1 Определение цикла
- •Пример 1 Виды циклов
- •Задание 1
- •2 Оператор цикла for
- •3 Оператор цикла while
- •4 Оператор цикла do while
- •5 Табулирование функций
- •Пример 2 Табулирование непрерывной функции
- •Пример 3 Табулирование сложной функции
- •6 Вычисление конечных сумм и произведений
- •Пример 4 Вычисление суммы
- •Пример 5 Вычисление произведения
- •7 Управляющие конструкции break, continue, return, goto
- •Содержание работы
- •1 Понятие и описание массивов
- •Пример 1 Объявление одномерного массива
- •Пример 2 Объявление двумерного массива
- •2 Одномерные массивы Пример 3 Ввод элементов одномерного массива
- •Пример 4 Нахождение суммы и среднего значения элементов массива
- •Пример 5 Нахождение наибольшего элемента массива и его номера
- •3 Двумерные массивы (матрицы)
- •Пример 6 Суммирование матриц
- •4 Символьные массивы
- •Пример 7 Описание символьного массива
- •Пример 8 Сравнение строк
- •5 Указатели и операции над указателями
- •Пример 9 Описание указателей
- •Пример 10 Операции над указателями
- •Пример 11 Сравнение указателей
- •6 Связь между массивом и указателем
- •Содержание работы
- •1 Модульное программирование
- •2 Объявление функции
- •Пример 1 Объявление функции
- •Задание 1
- •Это важно
- •2 Формальные и фактические параметры функции
- •Задание 3
- •Содержание работы
- •1 Создание класса
- •Пример 1 Объявление класса
- •Задание 1
- •Пример 2 Доступ к членам класса
- •Задание 2
- •2 Полиморфизм
- •Пример 3 Перегрузка функций
- •Задание 3
- •Содержание работы
- •1 Понятие формы. Конструктор форм Windows Forms
- •2 Элементы управления
- •3 Создание приложений с помощью Windows Forms Application Пример 1 Создание простейшего оконного приложения
- •Пример 2 Создание идентификационной формы
- •Пример 3 Изменение параметров MessageBox.Show
- •5 Анализ кода
- •6 Расчетные формы Пример 4 Создание расчетной формы
- •Пример 5 Создание простейшего меню
- •7 Создание оконных приложений на базе mfc
Пример 1 Поиск наибольшего значения
Для поиска наибольшего значения из двух переменных a и b следует записать:
if (a<b) max=a
else max=b;
Задание 1
Напишите программу, выполняющую поиск наибольшего значения из двух переменных a и b.
Пример 2 Определение принадлежности точки фигуре
Напишем программу, определяющую принадлежность точки внутренней области фигуры. Пусть фигура задана ограничивающими ее прямыми (рис. 3).
Рисунок 3 – Область, ограниченная тремя прямыми
Для каждой прямой определим полуплоскость, в которой находится фигура – треугольник АВС.
Полуплоскость, находящаяся выше оси х определяется неравенством
у > 0
Полуплоскость, находящаяся справа от прямой AB задается неравенством
у — 2х — 2 < 0.
Полуплоскость, находящаяся слева от прямой ВС задается неравенством
у + 1х — 2 < 0.
Условие принадлежности точки (х, у) фигуре:
(y > 0) and (y - 2*x - 2 < 0) and (y + 2*x - 2 < 0)
Код программы:
#include "stdafx.h"
#include<stdio.h>
#include<conio.h>
using namespace System;
int main(array<System::String ^> ^args)
{
float x,y;
printf("введите координаты точки\n");
scanf("%f%f",&x,&y);
if (y>0 & y-2*x-2<0 & y+2*x-2<0) printf("точка принадлежит области\n");
else printf("точка не принадлежит области\n");
getch();
return 0;
}
Тестирование:
Задание 2
На основе примера 2 напишите программу, определяющую, попадает ли точка М(x, y) в круг радиусом r с центром в начале координат.
2 Составной оператор
Когда необходимо выполнить не один оператор, а несколько, следует использовать составной оператор.
Составной оператор – последовательность операторов, заключенная в фигурные скобки:
{
…
}
Выполнение составного оператора заключается в последовательном выполнении составляющих его операторов.
Это важно
Перед закрывающей фигурной скобкой точку с запятой ставить обязательно, а после скобки точка с запятой не ставится.
Пример 3 Проверка условия существования треугольника
В лабораторной работе 1 (задание 9) была рассмотрена программа по определению площади треугольника. Однако, не при всех исходных данных программа выдает верный результат, т.к. не все тройки чисел образуют треугольник (например, треугольника со сторонами 1, 2, 4 не существует). Условие существование треугольника – сумма длин любых двух сторон треугольника больше длины третьей стороны. Дополним созданную программу примера 4 лабораторной работы 2 условным оператором:
#include "stdafx.h"
#include<stdio.h>
#include<conio.h>
#include<math.h>
using namespace System;
int main(array<System::String ^> ^args)
{
int a,b,c;
float p,s;
printf("введите длины трех сторон треугольника\n");
scanf("%d %d %d",&a,&b,&c);
if (a+b<=c | b+c<=a | a+c<=b) printf("треугольник не существует");
else
{
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
printf("площадь треугольника равна=%f",s);
}
getch();
return 0;
}
В данном примере представлена полная форма условного оператора. Проверяются условия a+b<=c | b+c<=a | a+c<=b. В случае выполнения хотябы одного выводится сообщение треугольник не существует, иначе – выполняется расчет площади. Т.к. после else необходимо выполнить три оператора, то их заключаем в фигурные скобки, тем самым объединяя их.
Задание 3
3.1 Откройте программу задания 9 лабораторной работы 1 и дополните ее условием существования треугольника.
3.2 Откройте программу задания 10 лабораторной работы 1 и исключите возможность ошибочного ввода данных (например, нулевого значения срока эксплуатации т.п.).