1.3апустить на выполнение файл «WlnAVR-20100110-install.exe» (29 Мбайт), находящийся на прилагаемом компакт-диске. Этот файл при необходимости можно свободно скачать из Интернета . Инсталлировать WlnAVR по умолчанию в папку C:\WinAVR-20100110\.
2. Открыть редактор PN2: «Пуск - Программы - WinAVR-20100110 - Programmers Notepad ». Включить нумерацию строк: «Tools - Options - General - Default - <поставить «галочку» возле «Show Line Numbers»> - ОК».
3. Создать в редакторе PN2 новый Си-файл: «File - New - С/С++». Ввести с клавиатуры текст программы и сохранить его на жёстком диске: «File - Save As… - <ввести путь и имя файла, например, для однозначности C:\1001\demol.c> - ОК».
Здесь и далее снимки экранов (скриншоты) для экономии места будут показываться только в самых важных точках действий. Остальные скриншоты в пошаговом режиме можно посмотреть на видеоуроках в прилагаемом компакт-диске.
Пояснения к листингу.
Строка 1 начинается с комментариев, которые ограничиваются слева двумя наклонными линиями «прямой слеш». Весь текст после знаков «//» может быть о чём угодно, на любом языке, с любыми вольностями и сокращениями. Это произвольная информация, которую программист пишет для самого себя, любимого, чтобы через месяц-другой вспомнить, о чём, собственно, шла речь. Обычно указывается краткое название программы и авторство.
Строка 2 тоже содержит комментарии, но уже технического плана. Здесь расписана электрическая схема подключения индикатора HL1 и кнопки SB1 к конкретным линиям портов MK. Названия сигналов соответствуют раскладке из дашита на MHKpocxeMyATmega48A
uses crt;
var
a:array[1..7,1..10] of integer;
b,i,j:integer;
begin
clrscr;
randomize();
//заполнение массива случайными числами
for i:=1 to 7 do
for j:=1 to 10 do
begin
a[i,j]:=random(10);
end;
//вывод массива
for i:=1 to 7 do
begin
for j:=1 to 10 do
write(a[i,j]:3,' ');
writeln();
writeln();
end;
//удаляем строку 6 и меняем 5 и 2 строки местами
for j:=1 to 10 do
begin
a[6,j]:=a[7,j];
a[7,j]:=0;
b:=a[5,j];
a[5,j]:=a[2,j];
a[2,j]:=b;
end;
writeln('Отредактированный массив');
//выводим отредактированный массив
for i:=1 to 6 do
begin
for j:=1 to 10 do
write(a[i,j]:3,' ');
writeln();
writeln();
end;
readln();
end.
begin
write('n='); readln(n);
k:=0;
if n div 100 = 1 then k:=k+1;
if n div 10 mod 10 = 1 then k:=k+1;
if n mod 10 = 1 then k:=k+1;
writeln('k=',k);
end.
Пример:
n=191
k=2