
- •А.М. Ковальчук
- •Введение
- •Лабораторная работа №1 Построение блок-схем алгоритмов вычислительных процессов
- •Построение блок-схем алгоритмов циклических вычислительных процессов
- •Построение блок-схем алгоритмов итерационных процессов
- •Порядок выполнения работы
- •Варианты заданий
- •Лабораторная работа №2
- •Операторы и знаки пунктуации
- •Простые типы
- •Инициализация
- •Преобразование типов
- •Функции ввода/вывода
- •Операторы if и if_else
- •Структура простой программы
- •Порядок выполнения работы
- •Варианты заданий
- •Лабораторная работа №3
- •Оператор do_while
- •Операторы передачи управления Оператор switch
- •Оператор break
- •Оператор continue
- •Порядок выполнения работы
- •Варианты заданий
- •Лабораторная работа №4 Работа с массивами. Одномерные массивы
- •Теоретические сведения
- •Порядок выполнения работы
- •Лабораторная работа №5 Работа с массивами. Двухмерные массивы
- •Теоретические сведения
- •Порядок выполнения работы
- •Лабораторная работа №6 Указатели. Динамическое распределение памяти
- •Порядок выполнения работы
- •Варианты заданий
- •Лабораторная работа №7 Указатель на указатель для работы с многомерными массивами
- •Порядок выполнения работы
- •Варианты заданий
- •Лабораторная работа №8 Символьные строки
- •Функции для работы со строками
- •Порядок выполнения работы
- •Варианты заданий
- •Лабораторная работа №9 Массивы символьных строк
- •Порядок выполнения работы
- •Варианты заданий
- •Лабораторная работа №10 Функции
- •Порядок выполнения работы
- •Варианты заданий
- •Лабораторная работа №11 Указатели на функции. Рекурсия.
- •Теоретические сведения
- •Рекурсия
- •Порядок выполнения работы
- •Варианты заданий
- •Литература
- •Содержание
- •Лабораторный практикум
- •Часть 1
- •220013, Минск, п. Бровки, 6
Оператор continue
Оператор continue заставляет прекратить текущую итерацию цикла и начать следующую.
// вычисление суммы положительных чисел
int i;
float x, sum=0;
for(i=0; i < 10; i++)
{
printf(“\nВведите число\n”);
scanf(“%f”,&x);
if( x< 0.0 ) continue;
sum+=x;
}
Порядок выполнения работы
Изучить краткие теоретические сведения.
Составить блок-схему алгоритма.
По разработанной блок-схеме алгоритма написать программу.
Отладить и выполнить программу.
Варианты заданий
1. Даны натуральное число n и целые числа a1,…an . Вычислить количество и сумму тех членов данной последовательности, которые делятся на 5 и не делятся на 7.
2. Используя
оператор цикла,
написать
программу, в которой вычисляется
наибольшее положительное целое число
n,
удовлетворяющее условию:
.
Значение переменнойn
вывести
на печать.
3. Даны натуральное число n и целые числа a1,…an . Вычислить количество и сумму положительных, отрицательных и равных нулю членов данной последовательности.
4. Получить все шестизначные счастливые номера. Про целое число n, удовлетворяющее условию 0 <= n <= 999999, говорят, что оно представляет собой счастливый номер, если сумма трех его первых цифр равна сумме трех его последних цифр; если в числе меньше шести цифр, то недостающие начальные цифры считаются нулями.
5. Дано натуральное число n (n <= 99). Получить все способы выплаты суммы с помощью монет достоинством 1, 5, 10 и 20 коп.
6. Дано натуральное число n. Как наименьшим количеством монет можно выплатить n копеек? Предполагается, что в достаточно большом количестве имеются монеты в 1, 2, 3, 5, 10, 15, 20 и 50 коп.
7. День Учителя ежегодно отмечается в первое воскресенье октября. Дано натуральное число n, означающее номер года. Определить число, на которое в октябре указанного года приходится День Учителя.
8. Рассмотрим некоторое натуральное n (n > 1). Если оно четно, то разделим его на 2, иначе умножим на 3 и прибавим 1. Если полученное число не равно 1, то повторяется тоже действие и т.д., пока не получится 1. До настоящего времени неизвестно, завершается ли этот процесс для любого n > 1. Даны натуральные числа k, n, m (1 < k <n). Поверить, верно ли, что для любого натурального n из диапазона от k до n процесс завершается не позднее, чем после m таких действий.
9. Написать программу, которая выдает все способы представления числа n в виде суммы n=b1 + … +bk, где k, b1,…,bk > 0.
10. Даны натуральные числа a, b, c и a1, b1, c1, где a, a1 – означают день, b, b1 – месяц, c, c1 – год. Вычислить количество дней прошедших между двумя датами и количество полных лет.
Лабораторная работа №4 Работа с массивами. Одномерные массивы
Цель работы: Ознакомиться со структурой массивов. Понять, как объявлять одномерный массив и обращаться к отдельным элементам массива.
Теоретические сведения
Массив - это тип данных, который используется для представления последовательности однородных значений. Массив представляет собой группу элементов одного типа. Объявляется массив следующим образом:
int temp[20];
Квадратные скобки ([]) говоря о том, что temp – имя массива, а число, заключенное в скобки, указывает количество элементов массива. Нумерация элементов массива начинается с нуля, поэтому temp[0] является первым, а temp[19] последним элементом массива. Отдельный элемент массива определяется при помощи его номера или индекса. Элементы массива размещаются в памяти последовательно, друг за другом. Имя массива является указателем на первый элемент массива.
float mas[10]; // массив mas содержит 10 элементов типа float
int mas1[20]; // массив mas1 содержит 20 элементов типа int
int n=5;
int mm[n]; // ошибка, переменная не может задавать размер массива
При объявлении массивы можно инициализировать. Для этого при объявлении указывается список начальных значений элементов, заключенных в фигурные скобки:
int mas[5]={1,2,3,4,5};
Количество элементов в фигурных скобках не должно превышать размерность массива. Инициализировать можно не все элементы, а любое количество первых элементов:
int mas[10]={1,2,3,4,5,6};
Все остальные четыре элемента будут проинициализированы нулями.
Инициализировать массив можно следующим образом:
int mas[]={11,22,33,44,55}; // массив из пяти элементов
В этом случае число элементов массива определяется по списку инициализации.
Пример: Ввести массив чисел и вычислить сумму положительных значений
#include<stdio.h>
#include<conio.h>
#define N 100
void main(void)
{
int mas[N]; // массив чисел
int summa=0; // сумма положительных значений
int n; // количество чисел
int i;
printf(“\nВведите количество чисел не более %3d”,N-1);
scanf(“%d”,&n);
printf(“\nВведите %3d элементов массива”,n);
for(i=0; i < n; i++) // цикл по элементам массива
scanf(“%d”, &mas[i]); // ввод i-го элемента массива
for(i=0; i < n; i++)
{
if(mas[i]>0) // если i-ый элемент массива положительный
summa+=mas[i]; // суммируются положительные элементы
}
printf(“\n сумма положительных значений равна %3d”,summa);
}