- •Лабораторная работа №1 Линейные и разветвляющиеся алгоритмы
- •Арифметические выражения
- •Операции с целыми числами
- •Логические выражения
- •Организация ветвлений в алгоритмах
- •Лабораторная работа №2 Циклические алгоритмы
- •Рекуррентные последовательности
- •Вычисление характеристик числовой последовательности
- •Определение свойства числовой последовательности
- •Формирование массива Пример
- •Вычисление характеристик массива
- •Модификация массивов
- •I часть
- •II часть Пример
- •III часть
- •Лабораторная работа №4 «Двумерные массивы»
- •Вывод элементов
- •Вычисление характеристик матриц
- •Модификация
- •Литература
Определение свойства числовой последовательности
Пример 1
Дано целое число N (> 1) и набор из N вещественных чисел. Проверить, образует ли данный набор геометрическую прогрессию. Если образует, то вывести True, если нет вывести False.
Вариант программы на языке С
#include <stdio.h>
int main()
{
int n = 0, flag = 1, i;
float a = 0, b = 0, d;
printf("Введите n: ");
scanf("%d", &n);
printf("Вводите числа: ");
scanf("%f%f", &a, &b);
d = b / a;
for(i = 2; i < n; i++)
{
scanf("%f", &a);
if(a / b != d)
flag = 0;
b = a;
}
if(flag)
printf("True\n");
else
printf("False\n");
return 0;
}
Пример 2
Дано целое число N (> 1) и набор из N вещественных чисел. Проверить, образует ли данный набор невозрастающую последовательность. Если образует, то вывести True, если нет – вывести False.
Вариант программы на языке С++
#include <locale>
#include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "");
int n;
cout << "Введите n: ";
cin >> n;
float a, b;
cout << "Вводите числа: ";
cin >> b;
int k = 0;
for(int i = 1; i < n; i++)
{
cin >> a;
if(a > b) k++;
b = a;
}
if(k=0) cout << "True" << endl;
else cout << "False" << endl;
return 0;
}
Задания для самостоятельного решения
Дано целое число N и набор из N целых чисел. Если в наборе нет четных чисел, то вывести True; в противном случае вывести False.
Дано целое число N и набор из N целых чисел. Если в наборе все числа одинаковые, то вывести True; в противном случае вывести False.
Даны целые числа K, N и набор из N целых чисел. Если в наборе имеются числа, кратные K, то вывести True; в противном случае вывести False.
Даны целые числа K, N и набор из N целых чисел. Если в наборе имеются числа, меньшие K, то вывести True; в противном случае вывести False.
Дано целое число N (> 1) и набор из N вещественных чисел. Проверить, образует ли данный набор возрастающую последовательность. Если образует, то вывести True, если нет — вывести False.
Дано целое число N (> 2) и набор из N вещественных чисел. Набор называется пилообразным, если каждый его внутренний элемент либо больше, либо меньше обоих своих соседей (то есть является «зубцом»). Если данный набор является пилообразным, то вывести 0; в противном случае вывести номер первого элемента, не являющегося зубцом
Дано целое число N и набор из N целых чисел. Если в наборе имеются четные числа, то вывести True; в противном случае вывести False
Дано целое число N (> 1) и набор из N вещественных чисел. Проверить, имеются ли в данном наборе подряд стоящие одинаковые числа. Если имеются, то вывести True, если нет вывести False.
Дано целое число N (> 1) и набор из N вещественных чисел. Проверить, образует ли данный набор арифметическую прогрессию. Если образует, то вывести True, если нет — вывести False.
Дано целое число N (> 1) и набор из N вещественных чисел. Если в данном наборе нет трехзначных чисел, то вывести 0; в противном случае вывести номер первого трехзначного числа.
Лабораторная работа №3
«Одномерные массивы»
Цель: изучение способов определения и инициализации массивов,
основных алгоритмов обработки массивов.
Вывод элементов массива
Пример
Дан массив A размера 2*N. Вывести его элементы в следующем порядке: A0, AN, A1, AN+1, …, A2N-2, A2N–1
Вариант программы на языке С
#include <stdio.h>
#include <locale.h>
#define N 5
int main()
{
setlocale(LC_ALL, "");
int a[2*N], i;
printf("Введите элементы массива: ");
for(i = 0; i < 2*N; i++)
scanf("%d", &a[i]);
printf("Результат:\n");
for(i = 0; i < N; i++)
printf("%d %d ", a[i], a[N + i]);
printf("\n");
return 0;
}
Вариант программы на языке С++
#include <iostream>
#include <locale>
using namespace std;
int main()
{
setlocale(LC_ALL, "");
const int n = 5;
int a[2*n];
cout << "Введите элементы массива: ";
for(int i = 0; i < 2*n; i++)
cin >> a[i];
cout << "Результат:" << endl;
for(int i = 0; i < n; i++)
cout << a[i] <<" " << a[n + i] << " ";
cout << endl;
return 0;
}
Задания для самостоятельного решения
Дан массив A размера N. Вывести его элементы в следующем порядке: A0, A1, AN-1, AN–2, A2, A3, AN–3, AN–4, … .
Дан массив A размера N. Вывести вначале его элементы с четными номерами (в порядке возрастания номеров), а затем – элементы с нечетными номерами (также в порядке возрастания номеров). Условный оператор не использовать
Дан массив A размера N (N — нечетное число). Вывести его элементы с нечетными номерами в порядке убывания номеров. Условный оператор не использовать
Дан целочисленный массив размера N. Вывести вначале все содержащиеся в данном массиве четные числа в порядке возрастания их индексов, а затем – все нечетные числа в порядке убывания их индексов
Дан массив A размера N. Вывести его элементы в следующем порядке: A0, AN-1, A1, AN–2, A2, AN–3,,…
Дан массив размера N. Вывести его элементы в обратном порядке.
Дан массив A размера N и целое число K (1≤ K ≤ N). Вывести элементы массива с порядковыми номерами, кратными K. Условный оператор не использовать
Дан целочисленный массив размера N. Вывести все содержащиеся в данном массиве нечетные числа в порядке возрастания их индексов, а также их количество.
Дан массив A размера 2*N. Вывести его элементы в следующем порядке: A0, A1 ,…,AN-1, A2N–1, A2N-2,…, AN.
Дан целочисленный массив размера N. Вывести все содержащиеся в данном массиве четные числа в порядке убывания их индексов, а также их количество
