- •Тема 1.Тема 1. Среда Builder Введение
- •Свойства компонентов
- •События
- •Менеджер проектов
- •1.1.1.4. Сохранение проекта
- •Практические задания Задание 1. Организация ввода-вывода стандартных типов данных
- •Задание 2. Программирование линейных алгоритмов
- •12 Вариант.
- •Задание 3: программирование линейных алгоритмов (продолжение)
- •Программирование разветвляющихся алгоритмов Пример составления программы с разветвленной структурой
- •Практические задания Задание 1: нахождение значения функции по условию
- •Задание 2: нахождение значения переменной по условию
- •Целочисленная арифметика
- •1.3.Примеры алгоритмов
- •Практические задания Задание 1: сумма цифр трехзначного числа
- •Задание 2: перевод копеек в рубли
- •Задание 3: счастливый билет
- •Программирование циклических алгоритмов Пример составления программы с циклом
- •Практические задания Задание 1
- •Задание 2
- •1 Вариант.
- •2 Вариант.
- •3 Вариант.
- •Задание 3: перевод числа из десятичной системы счисления
- •Программирование вложенных циклов
- •Пример программы с вложенным циклом
- •Практическое задание
- •Программирование разветвляющихся и циклических алгоритмов Примеры задач
- •Практические задания Задание 1: перевод блок-схемы в код программы
- •Задание 2: нахождение суммы бесконечного ряда
- •Структурированные типы данных: одномерные массивы
- •Примеры программ с использованием массива
- •Практические задания Задание 1. Задание элементов одномерного массива и анализ
- •Задание 2. Работа с последовательностью чисел
- •Задание 3. Определение экстремумов в массивах
- •Самостоятельное задание: сортировка массива
- •Самостоятельное задание: поиск элемента в массиве
- •Структурированные типы данных: двумерные массивы Пример программы с использованием матриц
- •Практические задания Задание 1. Определение элементов новой матрицы через элементы заданной матрицы
- •Задание 2. Упорядочивание в матрицах фиксированных строк или столбцов
- •Структурированные типы данных: строки
- •Примеры программ с использованием строки
Практические задания Задание 1: перевод блок-схемы в код программы
Цель задания
Знакомство с задачами, для решения которых используются условные операторы и операторы цикла. Получение навыков использования условных операторов и операторов цикла.
Постановка задачи
Закодировать блок-схему (вариант задания получить у преподавателя), сравнить результат работы программы с результатами, полученными теоретически.
Задание 2: нахождение суммы бесконечного ряда
Цель задания
Закрепление навыков использования условных операторов и операторов цикла.
Постановка задачи
Составить программу для нахождения значения суммы бесконечного ряда с указанной точностью.
Методические указания
1. Программа должна выполниться при любых начальных условиях. Для этого необходимо проверить входные данные на корректность и выдать в случае необходимости сообщение на экран.
2. Точность расчетов можно задать или с клавиатуры, или описать в программе как константу.
3. Отладить программу, используя окно отладки Watch.
Примечание
Точность считается достигнутой, если очередное слагаемое оказалось по модулю меньше, чем .
Варианты заданий
Вариант 1.
Сравнить
полученное значение со стандартной
функцией
.
Вариант 2.
Сравнить
полученное значение со стандартной
функцией
.
Вариант 3.
Сравнить
полученное значение со стандартной
функцией
Вариант 4.
Сравнить
полученное значение со стандартной
функцией
Вариант 5.
Сравнить
полученное значение со стандартной
функцией
Вариант 6.
Сравнить
полученное значение со стандартной
функцией
Вариант 7.
Сравнить
полученное значение со стандартной
функцией
Вариант 8.
Сравнить
полученное значение со стандартной
функцией
Вариант 9.
при
Сравнить
полученное значение со стандартной
функцией
Вариант 10.
при
Сравнить
полученное значение со стандартной
функцией
Структурированные типы данных: одномерные массивы
Одномерный массив в математике называется последовательностью чисел или вектором. Каждый элемент в массиве пронумерован. В Паскале способ нумерации и тип элементов массива задается при его описании.
Примеры программ с использованием массива
Пример 1: Дан массив из 10 целых чисел со значениями, заданными в интервале от 0 до 100. Определить первый максимальный элемент массива и сравнить его по величине со значением, введенным с клавиатуры. Вывести сообщение о результате анализа.
Порядок выполнения задания:
Введем обозначения:
Массив – а;
Для значения, считываемого с клавиатуры – x;
Максимальный элемент – max;
Вспомогательная переменная для обозначения номера элемента – i.
Алгоритм нахождения максимального состоит в следующем: предполагаем, что максимальный – первый элемент массива. Затем в цикле просматриваем все элементы массива по очереди, начиная со второго, и сравниваем каждый элемент с максимальным. Если окажется что предполагаемый максимум меньше, чем очередной элемент массива присваиваем максимуму значение этого элемента.
Затем сравниваем найденный максимум с переменной x. Вывод результата анализа осуществляем на экран с помощью условных операторов.
Составим блок-схему алгоритма:
Перейдем к кодированию. По условию массив содержит 10 целых чисел, пронумеруем их от 1 до 10, тогда код программы может быть таким:
//---------------------------------------------------------------------------
#include <vcl.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <iostream.h>
#include <stdlib.h>
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
int main(int argc, char* argv[])
{
int arr [10];
for (int i=0; i <= 9; arr[i] = random (100), i++ );
printf ("Ishodnii massiv : \n");
for (int i = 0; i <= 9; printf(" %d ", arr[i]), i++);
printf ("\nVvedite znachenie 'x'\n");
int x = 0;
scanf ("%d",&x);
int max = arr[0];
for (int i =1 ; i <= 9; i++)
{
if (max < arr [i])
{
max = arr [i];
}
}
printf ("Max = %d\n", max);
if (max > x)
{
printf ("Max > x\n");
}
if (max == x)
{
printf ("Max = x\n");
}
if (max < x)
{
printf ("Max < x\n");
}
getch();
return 0;
}
//---------------------------------------------------------------------------
Результат работы программы:
Ischod massiv
0 3 86 20 27 67 31 16 37 42
Vvod x
100
Max=86
Max<x
Пример 2: В массиве вещественных чисел, заданных случайным образом в интервале (-100, +100), подсчитать количество отрицательных элементов и сумму положительных.
//---------------------------------------------------------------------------
#include <vcl.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <iostream.h>
#include <stdlib.h>
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
float RandomNumber(float Min, float Max)
{
return ((float(rand()) / float(RAND_MAX)) * (Max - Min)) + Min;
}
int main(int argc, char* argv[])
{
randomize();
const n = 20;
printf ("Ishodnii massiv :\n");
float arr[n];
for (int i = 0; i < n; arr[i] = RandomNumber(-100,100),i++);
for (int i = 0; i < n;i++)
{
printf("%8.2f", arr[i]);
printf("\n");
}
int count = 0;
for (int i=0; i < n; i++)
{
if (arr[i] < 0 )
{
count++;
}
}
printf("Kol-vo otricat. elementov = %d\n", count);
float summa =0.0;
for (int i = 0; i<n; i++)
{
if (arr[i] > 0)
{
summa +=arr[i];
}
}
printf ("Summa pologitelnih el-tov = %5.2f\n", summa);
getch();
return 0;
}
//---------------------------------------------------------------------------
Результат работы программы:
