Скачать презентацию LOGO Языки программирования Составитель Рудакова Е А Скачать презентацию LOGO Языки программирования Составитель Рудакова Е А

Языки программирования 11.pptx

  • Количество слайдов: 41

LOGO Языки программирования Составитель: Рудакова Е. А. , к. п. н. , доц. каф. LOGO Языки программирования Составитель: Рудакова Е. А. , к. п. н. , доц. каф. информатики и дискретной математики НГПУ

Программирование - vраздел информатики, изучающий методы и приемы составления программ; vподготовка задачи к решению Программирование - vраздел информатики, изучающий методы и приемы составления программ; vподготовка задачи к решению ее на компьютере; vсоставление последовательности команд, которая необходима для решения поставленной задачи.

Программа конечная последовательность предписаний с указанием порядка их выполнения. Программа конечная последовательность предписаний с указанием порядка их выполнения.

Требования к программе 1. Минимальные требования к компьютеру, на котором работает программа. 2. Ясность Требования к программе 1. Минимальные требования к компьютеру, на котором работает программа. 2. Ясность входных и выходных данных и простота программы. 3. Минимальное время создания программы и простота ее изменения. 4. Минимальное время работы программы, минимум занимаемой памяти и минимум использованных в программе операторов.

Свойства программ: v выполнимость, v мобильность, v правильность, v эффективность. Свойства программ: v выполнимость, v мобильность, v правильность, v эффективность.

v. Выполнимость - возможность выполнения программы на данном типе компьютеров. v. Мобильность - возможность v. Выполнимость - возможность выполнения программы на данном типе компьютеров. v. Мобильность - возможность переноса программы на другой тип компьютеров.

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

Языки программирования - vискусственные языки, предназначенные для записи программ; vсовокупность средств и правил представления Языки программирования - vискусственные языки, предназначенные для записи программ; vсовокупность средств и правил представления алгоритма в виде, приемлемом для исполнителя (компьютера).

v. Алгоритмический язык - это формальный язык, предназначенный для записи алгоритмов. v. Системы программирования v. Алгоритмический язык - это формальный язык, предназначенный для записи алгоритмов. v. Системы программирования - это набор средств ввода, редактирования, трансляции и выполнения программ на ЭВМ.

Языки программирования Языки низкого уровня Машинные Машинноориентированные Языки высокого уровня Процедурноориентированные Проблемноориентированные Языки программирования Языки низкого уровня Машинные Машинноориентированные Языки высокого уровня Процедурноориентированные Проблемноориентированные

Языки низкого уровня v машинный и близкие к машинному языки; v требуют указания мелких Языки низкого уровня v машинный и близкие к машинному языки; v требуют указания мелких деталей процесса обработки данных; v позволяют эффективнее использовать ресурсы компьютера.

Машинный язык (код) v. Система команд, которые центральное процессорное устройство компьютера может выполнять сразу, Машинный язык (код) v. Система команд, которые центральное процессорное устройство компьютера может выполнять сразу, без перевода.

Машинный язык (код) v. Команды машинного кода написаны на двоичном языке. v. У каждого Машинный язык (код) v. Команды машинного кода написаны на двоичном языке. v. У каждого типа процессора свой машинный код.

Машинно-ориентированные языки – vэто языки, наборы операторов и изобразительные средства которых существенно зависят от Машинно-ориентированные языки – vэто языки, наборы операторов и изобразительные средства которых существенно зависят от особенностей ЭВМ (внутреннего языка, структуры памяти и т. д. ).

Машинноориентированные языки Языки Символического Кодирования Автокоды Макросы Машинноориентированные языки Языки Символического Кодирования Автокоды Макросы

Языки Символического Кодирования v так же, как и машинный язык, являются командными; vдвоичные или Языки Символического Кодирования v так же, как и машинный язык, являются командными; vдвоичные или восьмеричные коды операций и адреса заменены на символы (идентификаторы), форма написания которых помогает программисту легче запоминать смысловое содержание операции.

Автокоды v. Включают в себя все возможности ЯСК, посредством расширенного введения макрокоманд. v. Развитые Автокоды v. Включают в себя все возможности ЯСК, посредством расширенного введения макрокоманд. v. Развитые автокоды получили название Ассемблеры. Сервисные программы и пр. , как правило, составлены на языках типа Ассемблер.

Язык ассемблера v. Разновидность языка низкого уровня, используемая в компьютерном программировании. v. Каждая команда Язык ассемблера v. Разновидность языка низкого уровня, используемая в компьютерном программировании. v. Каждая команда состоит из короткой записи ("напоминателя"), которой описывается подлежащая выполнению машиной операция.

Ассемблер v. Служебная программа, переводящая исходный код программы, записанный с помощью специальных условных обозначений Ассемблер v. Служебная программа, переводящая исходный код программы, записанный с помощью специальных условных обозначений (мнемоник), в машинный код. v. MOV AL, FE – загрузить в регистр AL процессора число # FE (254 в 16 рич. СС)

Макрос (средство замены) v. Язык, являющийся средством для замены последовательности символов описывающих выполнение требуемых Макрос (средство замены) v. Язык, являющийся средством для замены последовательности символов описывающих выполнение требуемых действий ЭВМ, на более сжатую форму. v. Предназначен для того, чтобы сократить запись исходной программы.

Языки высокого уровня vих задача состоит в обслуживании потребностей программиста; v написанные на этих Языки высокого уровня vих задача состоит в обслуживании потребностей программиста; v написанные на этих языках программы следует перекодировать - перевести на машинный язык (machine code), так, чтобы до запуска программ компьютер мог их понять.

Процедурноориентированные Языки высокого уровня Проблемноориентированные Процедурноориентированные Языки высокого уровня Проблемноориентированные

Процедурноориентированный язык v в основу положен принцип описания (последовательности) действий, позволяющей решить поставленную задачу; Процедурноориентированный язык v в основу положен принцип описания (последовательности) действий, позволяющей решить поставленную задачу; v задают программы как совокупности процедур или подпрограмм.

Процедурно – ориентированные языки v Фортран, Алгол – языки, созданные для решения математических задач; Процедурно – ориентированные языки v Фортран, Алгол – языки, созданные для решения математических задач; v Simula, Слэнг - для моделирования; v. Лисп, Снобол – для работы со списочными структурами; v. Кобол- для автоматической обработки данных (массивов).

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

Проблемно – ориентированные языки v. Язык STRESS - для описания задач конструирования. v. Генераторы Проблемно – ориентированные языки v. Язык STRESS - для описания задач конструирования. v. Генераторы отчетов (система РПГ) - входит в программное обеспечение ЭВМ. v. Язык таблиц принятия решений (ТПР) - задает исходную информацию в задачах принятия решений в виде таблиц.

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

Языки высокого уровня: v. Фортран, v. Алгол, v. Бейсик (Basic), v. Паскаль (Pascal), v. Языки высокого уровня: v. Фортран, v. Алгол, v. Бейсик (Basic), v. Паскаль (Pascal), v. Си++, v. Пролог, v. Лисп и др.

Язык компьютерного программирования (ФОРТРАН) v Первый алгоритмический язык высокого уровня, получивший широкое признание в Язык компьютерного программирования (ФОРТРАН) v Первый алгоритмический язык высокого уровня, получивший широкое признание в математических и научных работах; доминировал в этой сфере с 1950 -х гг. v На языке ФОРТРАН создан большой массив программ, благодаря чему его популярность обеспечена и сегодня, несмотря на прогресс в развитии языка программирования.

BASIC v. Универсальный символьный программный код для начинающих. v. Язык высокого уровня. Создан в BASIC v. Универсальный символьный программный код для начинающих. v. Язык высокого уровня. Создан в 1964 г. преп. Дортмундского колледжа Дж. Кеммени и Т. Курц.

а Бейсике ограмма н Пр DIM A(N) N = а Бейсике ограмма н Пр DIM A(N) N = "; N : INPUT " I = 1 TO N FOR ("; I; ") ="; PRINT "A INPUT A(I) NEXT I S = 0 = 1 TO N FOR I = S + A(I) S NEXT I мма ="; S PRINT "Су END

Паскаль v Язык высокого уровня, разработан в конце 60 -х годов проф. Н. Виртом Паскаль v Язык высокого уровня, разработан в конце 60 -х годов проф. Н. Виртом (Цюрих) как язык обучения студентов программированию. Назван в часть французского математика Блеза Паскаля. v Достоинства: гибкость, надёжность, простота, ясность конструкций, лёгкость реализации на ЭВМ. v Возможность контроля на этапе компиляции и во время выполнения.

v В Паскале программист должен всегда явно указывать, с какими конкретными переменными он желает v В Паскале программист должен всегда явно указывать, с какими конкретными переменными он желает работать и каковы типы этих переменных. Программа на Паскале Program Summa; Type Mas = Array [1. . 100] of Real; Var A : Mas; i, n: Integer; S : Real; BEGIN Write('n = '); Read. Ln(n); For i : = 1 to n do begin Write('A[', i, '] = '); Read. Ln(A[i]); end; S : = 0; For i : = 1 to n do S : = S + A[i]; Write. Ln('S = ', S: 8: 2);

Язык Си Програ мма на СИ # includ e <stdio. h> # includ e Язык Си Програ мма на СИ # includ e # includ e main() разработан Деннисом { Ритчи в 1972 г. как float a [100], s ; int i, n clrscr() язык, пригодный ; ; printf( "n="); scanf(" %i", &n для ); for (i = 1 программирования prin ; i <= n; i++) { tf("a[%i ]=", i); scan новой f("%f", &a[i]); } s=0; операционной for (i = 1 ; i <= n; системы UNIX. i++) s = s + a[i]; printf("s = % f n", s); return 0 ; }

Все системы (языки) программирования имеют свой транслятор: компилятор транслятор интерпретатор Все системы (языки) программирования имеют свой транслятор: компилятор транслятор интерпретатор

v. Транслятор – (англ. translator — переводчик) это комплекс программ, обеспечивающий перевод программы, написанной v. Транслятор – (англ. translator — переводчик) это комплекс программ, обеспечивающий перевод программы, написанной на символическом языке, в совокупность машинных команд.

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

v Интерпретатор – (англ. interpreter — истолкователь, устный переводчик) это транслятор, обеспечивающий перевод каждой v Интерпретатор – (англ. interpreter — истолкователь, устный переводчик) это транслятор, обеспечивающий перевод каждой конструкции алгоритмического языка в машинные команды и одновременное выполнение этой конструкции в компьютере (последовательно транслирует операторы программы и также по частям её выполняет).

v. Откомпилированные программы работают быстрее, v но интерпретируемые проще исправлять и изменять. v. Откомпилированные программы работают быстрее, v но интерпретируемые проще исправлять и изменять.