1.Вычислить значение функции при х изменяющемся от 1 до 20 с шагом 0.5.
2. Вычислить значение функции при х изменяющемся от 0 до 16 с шагом 2.
3. Вычислить значение функции
a=0.3, n=10, i изменяется от 1 до 10 с шагом 1.
4. Вычислить значение функции
a=2.6, b=5, x изменяется от 0 до 10 с шагом 0.5
5. Найти сумму и произведение последовательности 10 целых чисел от 1 до 10.
Использовать оператор do…while
6. Вычислить .
Использовать оператор while
7. Дано действительное число а. Найти среди чисел первое большее а.
Использовать оператор do…while
8. Даны натуральное n и действительное х. Вычислить .
Использовать оператор for
9. Дано натуральное n. Вычислить:
a.
b. ;
c. ; n -корней
d.
10. Дано натуральное n. Найти , где
х1=у1=1; xi=0.3xi-1; yi=xi-1+yi-1, i=2,3,… Использовать оператор do…while
11. (Песня «Двенадцать дней рождества»)Напишите программу, использующую повторение и структуры switch для печати текста песни «Двенадцать дней рождества». Одна структура switch должна использоваться для печати дня («Первый», «Второй» и т.д.). Другая структура switch должна использоваться для печати остальной части каждого куплета (возможно проще иметь дело с более знакомой песней того же типа «Двенадцать негритят» ).
12. Рассчитайте значение πна основании бесконечного ряда
π =4-4/3+4/5-4/7+4/9-4/11+...
Напечатайте таблицу, которая покажет, как значение π аппроксимируется одним членом этого ряда, двумя членами, тремя и т.д. Сколько членов ряда потребовалось для получения значения 3.14? 3.141? 3.1415? 3.14159?
13. Напишите программу, которая читает пять чисел (каждое между 1 и 30). Для каждого просчитанного числа ваша программа должна напечатать строку, содержащую соответствующее число смежных звездочек. Например, если ваша программа прочла число 7, она должна напечатать *******.
14. Напишите программу, которая напечатает следующий ромб. Вы можете использовать операторы вывода, которые печатают или одну звездочку (*), или один пробел. Максимально используйте повторение (с вложенными структурами for) и минимизируйте число операторов вывода.
*
***
*****
*******
*********
*******
*****
***
*
Лабораторная работа №4
Одномерные массивы
Массив– набор однотипных объектов имеющих общее имя и отличающихся местоположением в этом наборе. Элементы массива занимают один непрерывный участок памяти компьютера и располагаются последовательно друг за другом. Нумерация элементов в массиве начинается с 0 и заканчивается n-1 элементом, где n-количество элементов массива.
С++ в отличие от других языков не запрещает запись в любой участок памяти, поэтому программисту самому надо следить за тем, чтобы не произошел выход за границы массива, так как это может привести к прекращению работы операционной системы.
Синтаксис описания одномерного массива:
<Тип элементов массива> <имя_массива>[<количество элементов>];
Например:
int a[5];
Массив из 5 целочисленных элементов, имя массива – а, занимает непрерывный участок памяти размером 20 байтов, нумерация начинается с 0 и заканчивается 4.
Одновременно с описанием массива можно инициализировать его элементы.
1) int a[5]={ 5, 8, 1, 3, 2 };
2) int a[]={ 5, 8, 1, 3, 2};
Во втором случае компилятор сам определит количество элементов массива по списку значений и выделит соответствующее количество памяти.
Также элементы массива можно инициализировать следующим образом: а[0]=5; a[1]=8; и т.д.
Для работы с массивами используются операторы цикла.
for (i=0; i<5; i++) cin>>a[i]; //Ввод массива
for (i=0; i<5; i++) cout<<a[i]; //Вывод массива
Стандартные алгоритмы обработки одномерных массивов
1. Поиск суммы и произведения массива:
#include <iostream>
using namespace std;
int main() { int A[5], Sum=0, P=1,i;
for (i=0;i<5;i++) cin>>A[i];
for (i=0;i<5;i++) {
Sum+=A[i]; P*=A[i]; }
cout<<”Sum=”<<Sum<<”\nP=”<<P<<endl;
return 0; }
2. Поиск минимального элемента массива:
#include <iostream>
using namespace std;
int main() {
int A[100], n, i, min;
cin>>n;
for (i=0; i<n; i++)
cin>>A[i];
min=A[0];
for (i=1; i<n; i++)
if (A[i]<min)
min=A[i];
cout<<min<<endl;
return 0;
}
3. Поиск максимального элемента массива:
#include <iostream>
using namespace std;
int main() {
int A[100], n, i, max;
cin>>n;
for (i=0;i<n;i++)
cin>>A[i];
max=A[0];
i=1;
do {
if (A[i]>max)
max=A[i];
i++;
while (i<n);
cout<<max<<endl;
return 0; }