Программные структуры в командном интерпретаторе shell
Знакомство с программными структурами shell (циклы, функции), получение начальных навыков работы с циклами. Условия проверки файлов и строк, сравнения целых чисел. Оператор цикла с истинным условием ("while"). Оператор цикла с ложным условием ("until").
Рубрика | Программирование, компьютеры и кибернетика |
Вид | лекция |
Язык | русский |
Дата добавления | 27.11.2013 |
Размер файла | 3,5 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Занятие
Программные структуры в командном интерпретаторе shell
Содержание занятия
- 1. Теоретическая часть
- Команда test (" [] ")
- Оператор цикла с истинным условием ("while")
- Оператор цикла с ложным условием ("until")
- Пустой оператор
- Функции в shell
- 2. Практическая часть
- 3. Методические указания к выполнению лабораторной работы
- 4. Контрольные вопросы
1. Теоретическая часть
Программные структуры
Цель работы: знакомство с программными структурами shell (циклы, функции), получение начальных навыков работы с циклами.
Как во всяком языке программирования в тексте на языке shell могут быть комментарии. Для этого используется символ "#". Все, что находится в строке (в командном файле) левее этого символа, воспринимается интерпретатором как комментарий. Например,
# строка комментариев
Как во всяком процедурном языке программирования в языке shell есть операторы. Ряд операторов позволяет управлять последовательностью выполнения команд. В таких операторах часто необходима проверка условия, которая и определяет направление продолжения вычислений.
Команда test (" [] ")
Команда test проверяет выполнение некоторого условия. С использованием этой (встроенной) команды формируются операторы выбора и цикла языка shell.
Два возможных формата команды:
test условие
или
[условие]
мы будем пользоваться вторым вариантом, т.е. вместо того, чтобы писать перед условием слово "test", будем заключать условие в скобки, что более привычно для программистов.
На самом деле shell будет распознавать эту команду по открывающей скобке " [", как слову (!), соответствующему команде "test". Уже этого достаточно, чтобы предупредить о распространенной ошибке начинающих: Между скобками и содержащимся в них условием обязательно должны быть пробелы.
Пробелы должны быть и между значениями и символом сравнения или операции (как, кстати, и в команде "expr"). Не путать с противоположным требованием для присваивания значений переменным.
В shell используются условия различных "типов".
УСЛОВИЯ ПРОВЕРКИ ФАЙЛОВ:
f fileфайл "file" является обычным файлом;
d fileфайл "file" - каталог;
с fileфайл "file" - специальный файл;
r fileимеется разрешение на чтение файла "file";
w fileимеется разрешение на запись в файл "file";
s fileфайл "file" не пустой.
Примеры. Вводя с клавиатуры командные строки в первом случае получим подтверждение (код завершения "0"), а во втором - опровержение (код завершения "1"). "specific" - имя существующего файла.
[-f specific]; echo $?
0
[-d specific]; echo $?
1
УСЛОВИЯ ПРОВЕРКИ СТРОК:
str1 = str2строки "str1" и "str2" совпадают;
str1! = str2строки "str1" и "str2" не совпадают;
n str1строка "str1" существует (непустая);
z str1строка "str1" не существует (пустая).
УСЛОВИЯ СРАВНЕНИЯ ЦЕЛЫХ ЧИСЕЛ:
x - eq y "x" равно "y"
x - ne y "x" не равно "y"
x - gt y "x" больше "y"
x - ge y "x" больше или равно "y"
x - lt y "x" меньше "y"
x - le y "x" меньше или равно "y"
СЛОЖНЫЕ УСЛОВИЯ:
Реализуются с помощью типовых логических операций:
! (not) инвертирует значение кода завершения. - o (or) соответствует логическому "ИЛИ". - a (and) соответствует логическому "И".
ПРЕДУПРЕЖДЕНИЕ. Не забывайте о пробелах.
Примеры.
[! privet]; echo $?
1 x=privet; export x; ["$x" - a - f specific]; echo $? 0
x=""; export x; ["$x" - a - f specific]; echo $? 1
x=""; export x; ["$x" - a - f specific - o privet]; echo $? 0
x=""; export x; ["$x" - a - f specific - o! privet]; echo $? 1
СОВЕТ. Не злоупотреблять сложными условиями.
Условный оператор "if"
В общем случае оператор "if" имеет структуру
if условие
then список
[elif условие
then список]
[else список]
fi
Здесь "elif" сокращенный вариант от "else if" может быть использован наряду с полным, т.е. допускается вложение произвольного числа операторов "if" (как и других операторов). Разумеется "список" в каждом случае должен быть осмысленный и допустимый в данном контексте.
Конструкции
[elif условие then список]
и
[else список]
не являются обязательными (в данном случае для указания на необязательность конструкций использованы квадратные скобки - не путать с квадратными скобками команды "test"!).
Самая усеченная структура этого оператора if условие
then список fi
если выполнено условие (как правило это ком получен код завершения "0", то выполняется "список", иначе он пропускается.
Обратите внимание, что структура обязательно завершается служебным словом "fi". Число "fi", естественно, всегда должно соответствовать числу "if".
Примеры.
Пусть написан расчет "if-1"
if [$1 - gt $2]
then pwd
else echo $0: Hello! Fi
Тогда вызов расчета if-1 12 11
даст
/home/sae/STUDY/SHELL
а
if-1 12 13
даст
if-1: Hello!
Возможно использовать в условии то свойство shell, что команды могут выдавать различный код завершения. Это напоминает приемы программирования на Си. Пусть расчет "if-2" будет
if a=`expr "$1": "$2"`
then echo then a=$a code=$?
else echo else a=$a code=$? Fi
тогда вызов
if-2 by by
даст
then a=2 code=0
а
if-2 by be
даст
else a=0 code=1
Еще пример на вложенность
###
#if-3: Оценка достижений
echo - n " А какую оценку получил на экзамене?: " read z
if [$z = 5]
then echo Молодец!
elif [$z = 4]
then echo Все равно молодец!
elif [$z = 3]
then echo Все равно!
elif [$z = 2]
then echo Все! else echo! fi
Можно обратить внимание на то, что желательно использовать сдвиги при записи программ, чтобы лучше выделить вложенность структур.
Оператор вызова ("case")
Оператор выбора "case" имеет структуру:
case строка in
шаблон) список команд;;
шаблон) список команд;;. esac
Здесь "case" "in" и "esac" - служебные слова. "Строка" (это может быть и один символ) сравнивается с "шаблоном". Затем выполняется "список команд" выбранной строки. Непривычным будет служебное слово "esac", но оно необходимо для завершения структуры.
Пример.
###
#case-1: Структура "case".
Уже рассматривавшийся в связи со
структурой "if" пример проще и
нагляднее можно реализовать с
помощью структуры "case".
echo - n " А какую оценку получил на экзамене?: " read z
case $z in
1) echo Молодец!
2) echo Все равно молодец!
3) echo Все равно!
4) echo Все!
*) echo!
esac
Непривычно выглядят в конце строк выбора ";;", но написать здесь "; " было бы ошибкой. Для каждой альтернативы может быть выполнено несколько команд. Если эти команды
будут записаны в одну строку, то символ "; " будет использоваться как разделитель команд.
Обычно последняя строка выбора имеет шаблон "*", что в структуре "case" означает "любое значение". Эта строка выбирается, если не произошло совпадение значения переменной (здесь $z) ни с одним из ранее записанных шаблонов, ограниченных скобкой ")". Значения просматриваются в порядке записи.
###
#case-2: Справочник.
Для различных фирм по имени выдается
название холдинга, в который она входит case $1 in
ONE|TWO|THREE) echo Холдинг: ZERO;;
MMM|WWW) echo Холдинг: Not-Net;; Hi|Hello|Howdoing) echo Холдинг: Привет!;;
*) echo Нет такой фирмы;;
esac
При вызове "case-2 Hello" на экран будет выведено: Холдинг: Привет!
А при вызове "case-2 HELLO" на экран будет выведено: Нет такой фирмы
Оператор цикла с перечислением ("for")
Оператор цикла "for" имеет структуру:
for имя [in список значений] do
список команд done
где "for" - служебное слово определяющее тип цикла, "do" и "done" - служебные слова, выделяющие тело цикла. Не забывайте про "done"! Фрагмент "in список значений" может отсутствовать.
Пусть команда "lsort" представлена командным файлом
for i in f1 f2 f3 do
proc-sort $i done
В этом примере имя "i" играет роль параметра цикла. Это имя можно рассматривать как shell-переменную, которой последовательно присваиваются перечисленные значения (i=f1, i=f2, i=f3), и выполняется в цикле команда "procsort".
Часто используется форма "for i in *", означающая "для всех файлов текущего каталога".
Пусть "proc-sort" в свою очередь представляется командным файлом cat $1 | sort | tee /dev/lp > ${1}_sorted
т.е. последовательно сортируются указанные файлы, результаты сортировки выводятся на печать ("/dev/lp") и направляются в файлы f1_sorted f2_sorted и f3_sorted
Можно сделать более универсальной команду "lsort", если не фиксировать перечень файлов в команде, а передавать произвольное их число параметрами.
Тогда головная программа будет следующей:
for i
proc-sort $i done
Здесь отсутствие после "i" служебного слова "in" с перечислением имен говорит о том, что список поступает через параметры команды. Результат предыдущего примера можно получить, набрав
lsort f1 f2 f3
Усложним ранее рассматривавшуюся задачу (под именем "case-2") определения холдинга фирмы. Теперь можно при вызове указывать произвольное количество фирм. При отсутствии в структуре оператора "for" фрагмента "in список значений", значения берутся из параметров вызывающей команды.
#holding: Справочник.
Для различных фирм по имени выдается
название холдинга, в который она входит for i
do
case $i in
ONE|TWO|THREE) echo Холдинг: ZERO;;
MMM|WWW) echo Холдинг: Not-Net;;
Hi|Hello|Howdoing) echo Холдинг: Привет!;;
*) echo Нет такой фирмы;;
esac
done
При вызове "holding Hello HELLO ONE" на экране будет:
Холдинг: Привет! Нет такой фирмы Холдинг: Not-Net
Еще пример.
#subdir: Выдает имена всех поддиректориев
#директория с именем $dir for i in $dir/*
if [-d $i] then echo $i
done
Следующий расчет иллюстрирует полезный, хотя и с долей трюкачества, способ повторения одних и тех же действий несколько раз. Переменная "i" принимает здесь пять значений: 1, 2, 3, 4, 5, но внутри цикла эта переменная отсутствует и поэтому ее значение никакой роли не играет и ни чего не меняет. С таким же успехом переменная "i" могла
принимать значения, скажем ф о к у с, а в результате точно также было бы пять раз повторено одно и то же вычисление содержимого цикла без изменений.
###
#print-5: Организации пятикратного выполнения команды for i in 1 2 3 4 5
do
cat file-22 > /dev/lp done
Расчет "print-n" иллюстрирует еще одну полезную возможность в использовании цикла "for". Здесь, после "for i.", отсутствуют "in." и перечень имен, т.е. перечнем имен для "i" становится перечень параметров, а следовательно количество печатаемых экземпляров можно менять.
###
#print-n: Задание числа копий
#через параметры
for i
do
cat file-22 > /dev/lp done
Смысл не изменится, если первую строку расчета записать как for i in $*
поскольку значение "$*" - есть список значений параметров.
Отметим различие в специальных переменных "$*" и "$@", представляющих перечень параметров. Первый представляет параметры, как строку, а второй, как совокупность слов.
Пусть командный файл "cmp" имеет вид:
for i in "$*" do
echo $i done echo
for i in "$@" do
echo $i done
Оператор цикла с истинным условием ("while")
Структура "while", также обеспечивающая выполнение расчетов, предпочтительнее тогда, когда неизвестен заранее точный список значений параметров или этот список должен быть получен в результате вычислений в цикле.
Оператор цикла "while" имеет структуру:
while условие
do
список команд
done
где "while" - служебное слово определяющее тип цикла с истинным условием. Список команд в теле цикла (между "do" и "done") повторяется до тех пор, пока сохраняется истинность условия (т.е. код завершения последней команды в теле цикла равен "0") или цикл не будет прерван изнутри специальными командами ("break", "continue" или "exit").
Как и вообще в жизни, можно реализовать то же самое и сложнее. Расчет "рr-br" приведен для иллюстрации бесконечного цикла и использования команды "break", которая обеспечивает прекращение цикла.
###
#рr-br: Структура "while" c "break"
Расчет позволяет напечатать 50
экземпляров файла "file-22" n=0
while true do
if [$n - lt 50] # если n < 50
then n=`expr $n + 1` else break fi
cat file-22 > /dev/lp done
Команда "break [n] " позволяет выходить из цикла. Если "n" отсутствует, то это эквивалентно "break 1". "n" указывает число вложенных циклов, из которых надо выйти, например, "break 3" - выход из трех вложенных циклов.
В отличие от команды "break" команда "continue [n] " лишь прекращает выполнение текущего цикла и возвращает на НАЧАЛО цикла. Она также может быть с параметром. Например, "continue 2" означает выход на начало второго (если считать из глубины) вложенного цикла.
Команда "exit [n] " позволяет выйти вообще из процедуры с кодом возврата "0" или "n" (если параметр "n" указан). Эта команда может использоваться не только в циклах. Даже в линейной последовательности команд она может быть полезна при отладке, чтобы прекратит выполнение (текущего) расчета в заданной точке.
Оператор цикла с ложным условием ("until")
Оператор цикла "until" имеет структуру:
until условие do
список команд done
где "until" - служебное слово определяющее тип цикла с ложным условием. Список команд в теле цикла (между "do" и "done") повторяется до тех пор, пока сохраняется ложность условия или цикл не будет прерван изнутри специальными командами ("break", "continue" или "exit"). При первом входе в цикл условие не должно выполняться.
Отличие от оператора "while" состоит в том, что условие цикла проверяется на ложность (на ненулевой код завершения последней команды тела цикла) проверяется ПОСЛЕ каждого (в том числе и первого!) выполнения команд тела цикла.
Программистов, знакомых с операторами "until" в других языках может вначале сбивать такая семантика этого оператора.
Пустой оператор
Пустой оператор имеет формат:
Ничего не делает. Возвращает значение "0". Например, в конструкции "while: " или ставить в начале командного файла, чтобы гарантировать, что файл не будет принят за выполняемый файл для "csh".
Функции в shell
Функция позволяет подготовить список команд shell для последующего выполнения.
Описание функции имеет вид:
имя ()
{
список команд
}
после чего обращение к функции происходит по имени. При выполнении функции не создается нового процесса. Она выполняется в среде соответствующего процесса. Аргументы функции становятся ее позиционными параметрами; имя функции - ее нулевой параметр. Прервать выполнение функции можно оператором "return [n]", где (необязательное)"n" - код возврата.
Бывает необходимо защитить выполнение программы от прерывания.
Наиболее часто приходится встречаться со следующими прерываниями, соответствующими сигналам:
выход из интерпретатора,
отбой (отключение удаленного абонента),
прерывание от <Del>,
9 уничтожение (не перехватывается),
15 окончание выполнения.
Для защиты от прерываний существует команда "trap", имеющая формат:
trap 'список команд' сигналы
Если в системе возникнут прерывания, чьи сигналы перечислены через пробел в "сигналы", то будет выполнен "список команд", после чего (если в списке команд не была выполнена команда "exit") управление вернется в точку прерывания и продолжится выполнение командного файла.
Например, если перед прекращением по прерываниям выполнения какого то командного файла необходимо удалить файлы в "/tmp", то это может быть выполнено командой "trap":
tarp 'rm /tmp/*; exit 1' 1 2 15
которая предшествует прочим командам файла. Здесь, после удаления файлов будет осуществлен выход "exit" из командного файла.
Команда "trap" позволяет и просто игнорировать прерывания, если "список команд" пустой. Так например, если команда "cmd" выполняется очень долго, а пользователь
решил отключиться от системы, то для продолжения выполнения этой команды можно написать, запустив команду в фоновом режиме:
(trap '' 1; cmd) &
командный интерпретатор оператор цикл
2. Практическая часть
Задание на лабораторную работу:
Реализовать программу, которая считает квадраты чисел от 1 до 20, заносит результаты в некий файл, а затем выводит информацию на экран в виде списка. (С использованием цикла while и if)
Реализовать программу, которая загадывает некоторое определённое заранее число и запрашивает у пользователя ввод чисел до тех пор, пока число не будет угадано. (Реализовать программу 2 способами: 1-ый способ - с помощью цикла if; 2-ой - с помощью цикла case)
Реализовать программу, которая выводит на экран содержимое некоторого файла и 2 его копии (с помощью цикла for).
По аналогии с примером, разобранным в методических указаниях реализовать программу, которая выдаёт соответствие между оценкой по 5-бальной шкале и её значимостью. (5 - "отлично", 4 - "хорошо", 3 - "удовлетворительно", 2 - "неудовлетворительно", в остальных случаях - "нет такой оценки")
3. Методические указания к выполнению лабораторной работы
1. Рассмотрим на примере работу циклов if и while. Реализуем программу, содержащую счётчик и выводящую значение счётчика на экран. Программа выводит значение счётчика от 1 до 10 и прерывается, когда значение счётчика становится больше 10.
Цикл while в данном случае отвечает за проверку истинности условия и за многократное повторение вложенного цикла if, который отвечает за вывод значений счётчика на экран.
Выполняем командный файл "a", содержащий данный код и получаем следующий результат:
2. Рассмотрим на примере, показанном в теоретической части, работу циклов if и case. Запрашивается ввод оценки, её значение считывается с помощью команды read и на экран выводится фраза о том, какая это оценка.
1-ый способ - с использованием цикла if.
Исходный командный файл "oczenka":
Результат выполнения командного файла "oczenka":
2-ой способ - с использованием цикла case. Исходный командный файл "oczenka":
Результат выполнения командного файла "oczenka" аналогичен предыдущему.
3. Рассмотрим простой пример использования цикла for. Пусть необходимо возвести в квадрат три числа: 10, 11,12 и результаты вывести на экран.
В данном примере список значений, которые принимает параметр цикла i задаётся в теле цикла, но он может отсутствовать - в этом случае они передаются в качестве параметров файла с командной строки.
Командный файл "kvadrat" и результат его выполнения:
4. Рассмотрим случай, когда значения параметра цикла передаются в качестве параметров командного файла с командной строки.
Например, реализуем программу, которая запрашивает ввод определённых городов и выдаёт названия стран, столицами которых они являются.
Исходный командный файл "gorod":
Результаты выполнения командного файла "gorod" с разными параметрами:
4. Контрольные вопросы
1. Какую функцию выполняет команда test? Какие существуют условия проверки строк, файлов, сравнения целых чисел?
2. В каких случаях используется условный оператор if? Какая конструкция этого оператора не является обязательной?
3. Какую структуру имеют оператор вызова case и оператор цикла с перечислением for? В каких случаях они используются? Каким образом может быть передано значение параметра в цикле оператора for?
4. В каких случаях используется оператор цикла с истинным условием while и какова его структура? Какие команды используются для остановки выполнения цикла? Какую функцию выполняет каждая из них?
5. Какова структура оператора цикла с ложным условием until? В чём его отличие от оператора while?
6. Какова роль функций в shell, и какой они имеют вид? Какой командой можно прервать выполнение функции? Какая команда используется для защиты от прерываний?
Размещено на Allbest.ru
...Подобные документы
Операторы цикла, присутствующие в языках программирования. Простой арифметический оператор цикла Паскаля, управление циклом с помощью переменной порядкового типа. Арифметический оператор цикла Паскаля с произвольным шагом, оператор цикла с предусловием.
реферат [59,5 K], добавлен 01.04.2010Система программирования Турбо Паскаль. Главные особенности языка С++. Составной и условный оператор в Паскале, алгоритм работы. Метка в Турбо Паскале. Счетный оператор цикла FOR. Описание логической структуры. Свойства функции PieSlice и initgraph.
курсовая работа [20,8 K], добавлен 23.12.2010Применение циклической управляющией структуры для организации многократного выполнения некоторого оператора. Конструкция цикла: заголовок и тело, и алгоритм выполнения операторов while, do while и for. Отличия циклов с постусловием и предусловием.
контрольная работа [65,8 K], добавлен 30.12.2010Характеристики операторов языка Си. Операторы безусловного и условного перехода: if, if-else, if-else if. Оператор переключатель switch. Оператор цикла с предусловием while, постусловием do-while. Упрощение логических выражений, взаимозаменяемость циклов.
лабораторная работа [30,0 K], добавлен 06.07.2009Принцип работы основных операторов языка программирования Turbo-Paskal: оператор присваивания, выбора Case, безусловного перехода, цикла, уловный, составной. Формальное описание и вызов функции и процедуры. Требования к списку фактических параметров.
реферат [261,8 K], добавлен 09.02.2011Изучение циклических операторов: оператора цикла, управляемого счетчиком, оператора цикла с предусловием и постусловием. Минимизированные функции, текст программы. Алгоритм работы приложения по нахождению функции с помощью операторов break и continue.
лабораторная работа [474,2 K], добавлен 23.11.2014Изучение приемов использования операторов ветвления и операторов циклов в С. Управляющие структуры или операторы управления: их значение для управления последовательностью вычислений в программе. Блоки и составные операторы. Универсальный оператор цикла.
лабораторная работа [17,7 K], добавлен 06.08.2010Решение задач, прямо связанных с применением циклов и массивов. Условия применения различных видов циклической структуры. Операторы цикла с предусловием while, постусловием do-while и for. Особенности работы с одномерными и двумерными массивами.
курсовая работа [1,1 M], добавлен 31.08.2019Базовые инструменты Linux Shell и Make. Скриптовый язык Shell. Make как утилита, автоматизирующая процесс преобразования файлов из одной формы в другую. Встраиваемые системы Buildroot и OpenWrt на базе Linux. Переменные и блоки define BuildPackage.
курсовая работа [27,4 K], добавлен 19.01.2016Предназначение цикла for - оформление циклов (набора действий) с заданным количеством повторений. Пример программы, выводящей на экран все целые числа от 0 до 99. Решение задачи с помощью двух алгоритмов, используя известные функции ввода-вывода.
лабораторная работа [35,1 K], добавлен 15.07.2009Структура программы PL/SQL. Секция заголовка блока. Элементы, объявленные в секции объявлений базового блока. Приоритет операций выражения. Управление выполнением программы. Конструкция и синтаксис цикла LOOP. Оператор GOTO и метки, пример использования.
лекция [356,3 K], добавлен 14.02.2014Эволюция развития персональных компьютеров и программного обеспечения. Переменные и подстановка их значений. Синтаксис языка shell. Подстановка результатов выполнения команд. Структура реестра Windows NT/2000. MS-DOS: ввод информации с клавиатуры.
контрольная работа [377,9 K], добавлен 22.11.2013Общая форма записи условного оператора, его назначение и синтаксис. Случаи использования сокращенных вариантов записи при программировании на С++. Вложенные операторы условия и условия их правильной работы. Составные логические выражения и их применение.
лабораторная работа [25,2 K], добавлен 15.07.2009Рассмотрение принципов работы операторов, реализующих циклические алгоритмы: while (выполнение условия, пока заданное выражение истинное), do-while, for, break (прекращение работы из-за обнаружения ошибки), continue (пропуск "оставшейся" части итерации).
лабораторная работа [54,2 K], добавлен 15.07.2010Конструкции языка программирования С++, составление простых программ, использyющих оператор if, оператор if else и оператор switch. Работа оператора switch. Создание программы, которая по дате определяет день недели , на который эта дата приходится.
лабораторная работа [3,1 M], добавлен 03.02.2008Написание программы для вычисления функции f(x), изображенной на графике, используя оператор if. Построение графика функции. Составление программы, вычисляющей сумму 101 из последовательно расположенных нечетных чисел. Нахождение корней системы уравнений.
контрольная работа [694,4 K], добавлен 07.08.2013Разновидности управляющей конструкции в высокоуровневых языках программирования. Организация многократного исполнения набора инструкций. Основные виды циклических конструкций. Арифметический оператор цикла Pascal с произвольным шагом и с постусловием.
курсовая работа [38,4 K], добавлен 18.03.2013Создание кнопки панели инструментов для выполнения макроса. Практический пример создания таблицы значений функций. Использование оператора Select Case. Создание процедуры с использованием операторов цикла For/Next и Do/Loop. Оператор InputBox, массив.
контрольная работа [501,8 K], добавлен 06.12.2013Изучение строкового типа данных, построение классов обработки строк. Описание программы, выводящей слова, состоящие только из гласных латинских букв (a, e, i, o, u). Операторы для проверки корректности вводимых значений c помощью условного оператора if.
контрольная работа [12,7 K], добавлен 26.05.2016Простейшая программа на языке С++. Вывод данных на экран. Реализация функций в тексте программы. Создание программ для выполнения в среде MS DOS, Windows. Знакомство с операторами языка. Оператор цикла в форме for. Одномерные и многомерные массивы.
курс лекций [264,8 K], добавлен 27.07.2010