- •Содержание работы
- •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
Пример 2 Табулирование непрерывной функции
Протабулируем функцию y(x)=x2 на отрезке [х0; хn] с шагом h с использованием операторов for, while, do while.
Таблица 4 – Табулирование функции
for |
while |
do while |
Таблица 5 – Сравнение операторов цикла при табулировании функции
for |
while |
do while |
for(x=x0;x<=xn;x+=h) { y=x*x; printf("%f %f\n",x,y); } |
x=x0; while (x<=xn) { y=x*x; printf("%f %f\n",x,y); x+=h; } |
x=x0; do { y=x*x; printf("%f %f\n",x,y); x+=h; } while (x<=xn); |
Тестирование: при х0=0, хn=10, h=2 получаем
Первый столбец содержит значения переменной x, второй столбец – значения функции y(x)=x2.
Задание 2
На основе примера 2 составьте программу табулирования функции y(x)=x3 на отрезке [х0; хn] с шагом h.
Пример 3 Табулирование сложной функции
Напишем программу табулирования сложной функции
График функции приведен на рисунке 1
Рисунок 1
Реализация в С/С++:
#include "stdafx.h"
#include<stdio.h>
#include<conio.h>
using namespace System;
int main(array<System::String ^> ^args)
{
float x0,xn,h,x,y;
printf("xo="); scanf("%f",&x0);
printf("xn="); scanf("%f",&xn);
printf("h="); scanf("%f",&h);
for(x=x0;x<=xn;x+=h)
{
if (x<=0) y=0;
else
if (x>0 & x<1) y=x;
else y=1;
printf("%f %f\n",x,y);
}
getch();
return 0;
}
Тестирование:
Задание 3
Выполните программу примера 3 и на ее основе составьте программу табулирования функции:
6 Вычисление конечных сумм и произведений
Другим наглядным примером цикла с известным числом повторений (циклом с параметром) о вычислении сумм и произведений.
Пример 4 Вычисление суммы
Напишем программу вычисления суммы
,
где х изменяется с шагом 1.
Реализация в С/С++:
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
using namespace System;
int main(array<System::String ^> ^args)
{
float x,s;
int i;
printf("x="),scanf("%f",&x);
s=0;
for (i=1; i<=10; i++) s=s+(x+i);
printf("s=%f\n",s);
getch();
return 0;
}
Тестирование:
Задание 4
Выполните программу примера 4 и на ее основе напишите программу вычисления суммы:
Пример 5 Вычисление произведения
Напишем программу вычисления произведения
#include "stdafx.h"
#include <stdio.h>
#include<conio.h>
using namespace System;
int main(array<System::String ^> ^args)
{
float x,p;
int i;
printf("x="),scanf("%f",&x);
p=1;
for (i=1; i<=10; i++) p=p*(x+i);
printf("p=%f\n",p);
getch();
return 0;
}
Задание 5
Выполните программу примера 4 и на ее основе напишите программы вычисления факториала числа (факториал числа n – это произведение n!=1*2*…*n)и произведения p=2*4*8*…*(2n).
7 Управляющие конструкции break, continue, return, goto
Для выхода из цикла можно использовать оператор break.
Если выполнение очередного шага цикла требуется завершить до того, как будет достигнут конец тела цикла, то можно использовать оператор continue. Оператор continue, как и оператор break, используется только внутри операторов цикла, но в отличие от него выполнение программы продолжается не с оператора, следующего за прерванным оператором, а с начала прерванного оператора.
Формат оператора:
continue;
Оператор return завершает выполнение функции, в которой он задан, и возвращает управление в вызывающую функцию, в точку, непосредственно следующую за вызовом.
Формат оператора:
return [(выражение)];
Использование оператора безусловного перехода goto в практике программирования на языке С/C++ настоятельно не рекомендуется, так как он затрудняет понимание программ и возможность их модификаций.
Формат оператора:
goto имя-метки;
Оператор goto передает управление на оператор, помеченный меткой имя-метки (имя-метки – это идентификатор).
Задачи
1 Составить программу, которая печатает таблицу умножения и сложения натуральных чисел в десятичной системе счисления.
2 Начав тренировку спортсмен в первый день пробежал 10км. Каждый день он увеличивал дневную норму на 10% нормы предыдущего дня. Какой суммарный путь пробежит спортсмен за 7 дней.
3 Составить алгоритм решения задачи: сколько можно купить ручек, карандашей и ластиков, платя за ручку 10р., за карандаш – 5р., а за ластик – 0,5р., если на 100р. надо купить 100 предметов.
-
Лабораторная работа № 4
Массивы и указатели
Цель работы: изучить определение, назначение, виды и описание массивов и указателей, приобрести навыки в решении задач с помощью массивов и указателей.