Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
infa.docx
Скачиваний:
5
Добавлен:
28.04.2019
Размер:
28.24 Кб
Скачать

1) Принципы фон Неймана

Любая ЭВМ работает под управлением программы – совокупности команд. Каждая команда осуществляет единичный такт преобразования данных.Все разновидности команд заложенные в ЭВМ называются системой команд ЭВМ данного типа.

Принципы фон Неймана

• Использование двоичной системы счисления в вычислительных машинах. Преимущество перед десятичной системой счисления заключается в том, что устройства можно делать достаточно простыми, арифметические и логические операции в двоичной системе счисления также выполняются достаточно просто.

• Программное управление ЭВМ. Работа ЭВМ контролируется программой, состоящей из набора команд. Команды выполняются последовательно друг за другом. Созданием машины с хранимой в памяти программой было положено начало тому, что мы сегодня называем программированием.

• Память компьютера используется не только для хранения данных, но и программ. При этом и команды программы и данные кодируются в двоичной системе счисления, т.е. их способ записи одинаков. Поэтому в определенных ситуациях над командами можно выполнять те же действия, что и над данными.

• Ячейки памяти ЭВМ имеют адреса, которые последовательно пронумерованы. В любой момент можно обратиться к любой ячейке памяти по ее адресу. Этот принцип открыл возможность использовать переменные в программировании.

• Возможность условного перехода в процессе выполнения программы. Не смотря на то, что команды выполняются последовательно, в программах можно реализовать возможность перехода к любому участку кода.

2) Общая схема устройства компьютера

Функции памяти:

• приём информации из других устройств;

• запоминание информации;

• выдача информации по запросу в другие устройства машины.

Функции процессора:

• обработка данных по заданной программе путем выполнения арифметических и логических операций;

• программное управление работой устройств компьютера.

5) Структура программы на Паскале. Используемые в языке символы. Идентификаторы, ключевые слова, комментарии.

• Структура программы на Паскале

Programm <имя>;

<…> параметр команды

{раздел описаний}

Uses <имя библиотеки>;

Label <список меток>;

Const <список консант>;

Type описание пользовательских типов данных

Var описание переменных программ

Описание подпрограммы

Procedure – заголовок подпрограммы

Label - для локальной метки

Const –локальные константы

Type - …

Var - …

Begin { тело подпрограммы перечень исполн. Операторов }

End;

Begin { тело программы т. е. перечень исполняемых операторов }

End.

Паскаль не чувствителен в верхнему регистру

{…} комментарий

Операторы разделяются знаком ;

КЛЮЧЕВЫЕ СЛОВА ЯЗЫКА ПАСКАЛЬ.

and (энд) - И

Логическая операция И (конъюнкция). if (A>B) and (B<="" td="">

array (эрей) - массив

Тип данных - массив. Bi : array [1..78] of integer;

begin (бегин) - начало

Составные операторы заключаются  в операторные скобки begin....end.

case (кейс) - вариант

Оператор выбора. case X of 1 : ch:='один'; 2 : ch:='два'; 3 : ch:='три'; end;

const (конст) - константа

Определение констант: const PI=3.14159; KLmin=1; KLmax=18; LINE='0123456789abcdef';

div (див) - разделить

Деление целых чисел. R := A div B; S := R div 3;

do (ду) - выполнить

Служебное слово в операторах for, while, with. for I:=1 to 12 do writeln(I);

downto (даунту)- уменьшая до

Служебное слово в операторе for. for I:=11 downto 1 do read(A[i]);

else (элс) - иначе

Служебное слово в опереторе if. if A>0 then X:=1 else X:=-1;

end (энд) - конец

Конец действия группы операторов.

file (файл) - файл

Описание данных файлового типа. type KOI7 = file of char;

for (фo) - для

Оператор цикла. for J:=N to M do writeln (J);

function (фанкшн)- функция

Заголовок функции. function INTERVAL(A,B:real):real;

go to (гоу ту)- переход на

Оператор перехода к метке.  goto 22;

if (иф) - если

Условный оператор. if TIME>23 then write('good-bye') else write('good-day');

in (ин) - в

Операция определения принадлежности элемента некоторому множеству. if (K in [1..7]) or (C in ['&','*']) then A:=1;

label (лейбл) - метка

Описание метки (целое от 0 до 9999) Label 1,2,3,0027,34;

mod (мод) - модуль

Остаток от деления целых чисел.  A:=B mod 2;

nil (нил) - нуль

Kонстанта-указатель для пометки концацепи.  top:=NIL;

not (нот) - не

Логическое отрицание.  if not(A>B) then FL:=1;

of (оф) - из

Служебное слово в описаниях данных: W: array of real; TV: set of 0..6;

or (ор) - или

Логическая функция дизъюнкции.  if A<6 or B=1 then FL:=2;

packed (пэкт) - упаковать

Указатель упаковки данных.SM:  packed array [1..200] of char;

procedure() - процедура

Заголовок процедуры: procedure Code(C:char,var N:real);

program (програм) - программа

Заголовок программы:  program MaxSum;

readln (pид-э-лайн) - ввод

Пpоцедуpа чтения данных с клавиатуpы. readln(A,B,I,J);

record (рикод) - запись

Запись: DATE=record day : 1..31; month : array [1..3] of char; year : 1990..2000; end;

repeat (рипит) - повторять

Оператор цикла с послеусловием. repeat read(Ch); write(Ch) until Ch=chr(32);

set (сет) - множество

Описание данных множественного типа: VOWEL : set of 'A','E','I','U','Y'; NUMBER : set of 0..9;

then (зен) - то

Служебное слово в операторах 'for' и 'if'.

to (ту) - увеличивая до

Служебное слово в операторе 'for'.

type (тайп) - тип

Обозначение типа данных: type COLOR=(red,blue,green); type NAME = array[1..15] of char;

until (антил) - до

Служебное слово в операторе 'repeat'.

var (вар) - переменная

Заголовок описания переменных: var SUMMA : integer; RU,RT : real; REMARK : array [1..20] of char;

while (вайл) - пока

Оператор цикла с предусловием: while A<16 do A:=A+1;

with (вис) - с

Оператор присоединения для переменных типа 'record' - 'запись'. with DATA do DAY:=15;

writeln (pайт-э-лайн) - вывод

Пpоцедуpа вывода данных на зкpан. writeln('Gamma = ',RU:6:2,'N = ',N); writeln('Data = ',24*T-12*M);

Требования к идентификаторам:

• Идентификатор состоит из латинских букв и цифр (заглавные и строчные буквы не различаются).

• Идентификатора должен начинаться обязательно с буквы {"а1", а не "1а"}.

• Идентификатор может состоять из любого количества символов, но распознаются только первые 63 .

• Служебные слова запрещается использовать в качестве идентификаторов.

• При написании идентификатора нельзя использовать пробелы.

6 Структура программы на С. Используемые в языке символы. Идентификаторы, ключевые слова, комментарии.

#include <имя библиотеки>;

#define <имя><значение>;

Main ()

{

Return 0;

}

11) Операторы ветвления. Оператор ветвления применяется в случаях, когда выполнение или невыполнение некоторого набора команд должно зависеть от выполнения или невыполнения некоторого условия. Ветвление — одна из трёх (наряду с последовательным исполнением команд и циклом) базовых конструкций структурного программирования.

Условный оператор реализует выполнение определённых команд при условии, что некоторое логическое выражение (условие) принимает значение «истина» true. В большинстве языков программирования условный оператор начинается с ключевого слова if.

Pascal

Паскаль унаследовал от Алгола-60 синтаксис, согласно которому в ветвях условного оператора может быть помещена только одна команда. Поэтому для размещения там большего количества команд они группируются в составной оператор с помощью пары ключевых слов begin и end. Ветвь else необязательна. begin и end необходимы, только если операторов несколько (например, из соображений единообразия оформления кода). В примере — оператор выбора в Паскале:

If условие

then

begin

операторы;

end

else

begin

операторы;

end;

C, C++ и их потомки

C и C++ (а вслед за ними и Java, C#, PHP и множество других языков) имеют условный оператор, структурно аналогичный Паскалю. Отличие состоит в том, что условие должно быть записано в круглых скобках, а вместо ключевых слов begin и end используются фигурные скобки {} :

if (<условие>)

{

<операторы>

}

else

{

<операторы>

}

Переключатель

Конструкция переключателя имеет несколько (две или более) ветвей. Переключатель выполняет одну заданную ветвь в зависимости от значения вычисляемого ключевого выражения. Принципиальным отличием этой инструкции от условного оператора является то, что выражение, определяющее выбор исполняемой ветви, возвращает не логическое, а целое значение, либо значение, тип которого может быть приведён к целому. В некоторых языках допускается использовать в переключателе выражения некоторых типов, не приводимых к целому (например, текстовые строки).

Прототипом современной синтаксической конструкции была используемая в старых языках программирования команда перехода по вычисляемой метке. В этой команде указывалось выражение-селектор, возвращающее целое значение, и набор меток. При выполнении команды вычислялось выражение, а его значение использовалось как номер метки (в списке команды), на которую производился переход. Такие конструкции были, например, в языках программирования Фортран («вычисляемый GOTO») и Бейсик. Привлекательной стороной конструкции является её достаточно высокая эффективность: для определения нужной ветви (метки перехода) не требуется последовательно сравнивать результат выражения-селектора со многими занчениями, достаточно записать в память массив команд безусловного перехода с нужными адресами, чтобы при выполнении команды вычислять нужный элемент непосредственно из значения выражения. При этом скорость выполнения команды не зависит от количества меток. В современных языках реализация оператора-переключателя также часто выполняется в виде таблицы перехода, состоящей из команд безусловного перехода на соответствующие фрагменты кода. Вычисляемое выражение преобразовывается в значение сдвига по таблице перехода, определяющее выполняемую команду. В языках, где выражение-селектор может иметь нецелое значение, напрямую вычислить нужную ветвь конструкции переключателя можно далеко не всегда, поэтому в них используются другие методы оптимизации исполнения.

В современных языках программирования высокого уровня команда-переключатель обычно имеет имя switch либо case. Однако, выбор по вычисляемой метке может сохраняться в современных языках программирования низкого уровня, например, инструкция JL языка программирования STL для программируемых логических контроллеров S7-300 и S7-400, выпускаемых Siemens

Например, в языке Си синтаксис команды следующий:

switch (i)

{

case 0:

case 1: // последовательность операторов

break;

case 2: // последовательность операторов

break;

default:

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]