Если знать язык программирования то можно составить рабочую программу

Основная задача программирования – комплексная задача проектирования системы решения задачи обработки информации.

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

Современные представления о технологиях программирования ушли далеко вперед от простого описания алгоритма на конкретном ЯП.

Однако Языки программирования нужно знать

Языки программирования как формальные языки описания алгоритмов.

Языки программирования высокого уровня играют роль средства связи между программистом и компьютером, а также между программистами. Это обстоя­­тельство накладывает на язык многие обязательства:

1.Языкдолжен быть близок к тем фрагментам естественных языков, кото­рые обеспечивают конкретную предметную область деятельности человека;

(Язык, ориентированный на деловые сферы применений, должен содержать понятия, используемые в этом виде деятельности: документ, счет, база данных и т.п.).

Без Математики Мне Не Стать Программистом

2.Все средства языка должны быть формализованы в такой степени, чтобы их можно было реализовать как машинные программы;

(например, предложение “Найти документ X в базе Y“ должно породить программу в машинном языке, осуществляющую требуемый поиск).

3.Язык программирования не только поддерживает предметно-ориентирован­ную деятель­ность, но и стимулирует ее развитие

(понятие базы данных, вычислительной сети привело к революции в деловой деятельности).

4.Язык программирования — нечто большее, чем средство описания алгорит­мов: он несет в себе систему понятий, на основе которых человек может обдумы­вать свои задачи, и нотацию, с помощью которой он может выразить свои сообра­жения по поводу решения задачи.

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

Краткая история развития языков программирования

Идея языка программирования появилась так же давно, как и универсальные вычислительные машины — на рубеже 40-50 годов. Уже на первых шагах их эксплуатации выяснились недостатки использования машинного кода, определились методы устранения или уменьшения этих недостатков: использование библиотек стандартных подпрограмм, имен вместо адресов, предварительного распределения памяти и т.д.

Большое влияние на последующие разработки оказал язык Fortran, созданный в IBM под руководством Дж. Бэкуса (1954-57гг.) В то же время М.Г.Хоппер (Ramington-Rand Univac) и ее группа разработали язык обработки коммерческой информации Flow-Matic. М.Г.Хоппер принадлежит термин “компилятор”. Так называлась ее первая транслирующая программа.

Первые производственные языки программирования появились на рубеже 50-60 годов, знаменуя собой новую эпоху в развитии вычислительных машин и методов обработки информации. Эти языки высокого уровня были реализованы на первых ЭВМ 2-го поколения.

Как бы я изучал программирование (если бы начал заново)

Вот некоторые даты:

1957 г. Fortran США, IBM, Дж. Бэкус: по существу, первый широко применяемый язык, ориентированный на научно-инженерные и численные задачи.

1960 г. Cobol США, Объединенный комитет производителей и пользова­телей ЭВМ: язык для коммерческих задач.

1960 г. Algol-60 Улучшенный вариант языка Algol-58, Европа, США, международная рабочая группа: универсальный язык, прародитель Pascal-я и многих других языков европейского стиля.

1965 г. BASIC Дж. Кемени, Т.Куртц, США, Дартмутский колледж: язык для начинающих.

1969 г. Logo С.Пейперт, США, Массачусетский технологический институт: язык для детей.

1966 г. PL-1 группа IBM,США: Многоцелевой язык для систем коллективного пользования.

1968 г. Algol-68 Европа, международная рабочая группа: европейский ответ на PL-1.

1970 г. Pascal Н.Вирт, Швейцария, федеральный институт технологии, Цюрих: язык для обучения специалистов в области информатики.

1959 г. Lisp Дж.Маккарти, США, Массачусетский технологический институт: язык функционального программирования.

1972 г. Prolog А.Колмероэ и его коллеги из лаборатории Искусственного интеллекта, Марсельский университет, Франция: язык логического программирования, завоевавший широкую известность как язык для задач обработки баз знаний.

1972-75гг. С и его развитие С++. Д. Керниган, Д. Ричи, Б. Страустрап, AT

* Развитие декларативных языков программирования, ори­ен­ти­рованных на задачи искус­ственного интеллекта;

* Развитие объектно-ориентированных языков, в которых иерархия абстракций позволяет наращивать средства языка, одновременно меняя архитек­ту­ру ЭВМ применительно к рассмат­риваемому классу проблем.

Изучение языка программирования заключается в изучении его синтаксиса и семантики

Средства определения языка

В отличие от естественных языков, ЯП, как и другие формальные языки, должны быть определены самым точным и недвусмысленным образом.

Для формального опре­деления языковых конструкций используют т.н. метаязыки (фор­маль­ные языки описания формальных языков).

Описание языка программирования на метаязыке – составная часть т.н. спецификаций транслятора ЯП.

Нужный уровень строгости, достигаемый формализмом метаязыка, необходим для его изучения.

(К сожалению, принятый во многих современных книгах по програм­ми­рованию уровень строгости изложения заимствован скорее из книг по кулинарии).

Язык формул Бэкуса-Наура

Каждый язык, в том числе и формальный, имеет свой понятийный аппарат (Слово, знак препинания, предложение, … — понятия (языковые конструкции), исполь­зу­е­мые для описания естественных языков).

Читайте также:
К файловым менеджерам относятся программы

Вместе с тем каждый язык использует и некоторый алфавит (буквы, знаки препинания, и т.д.) так, что текст в этом языке представляет собой последовательность элементов алфавита (лексем). В соответствии с этим мы будем пользоваться терминами Понятие языка и лексема.

Заметим, что сами эти термины представляют новый (третий) уровень абстракции в описании языка. Определим теперь язык Бэкуса-Наура.

Понятие языка — это (метаязыковое) имя определяемой языковой конст­рукции. Имя конструкции в определении языка играет роль символа, который назы­ва­ется метасимволом (нетерминальным символом).

Определяемый язык представлен в виде конечного набора метасимволов (метасловаря) языка.

Метасловарь пред­став­ляет понятийный аппарат языка программирования.

С формальной точки зрения мета­сло­варь удобно считать алфавитом нетерминальных символов (метаалфавитом)

Вместе с метаалфавитом ЯП определяется и лексический словарь ЯП – конечный набор лексем.

С формальной точки зрения лекси­чес­кий словарь также удобно считать алфавитом терминальных символов.

Лексема — это ато­ма­р­ный объект языка.

Синтаксические диаграммы

Синтаксические диаграммы – наглядный способ изображения формул Бэкуса-Наура.

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

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

Лексемы заключаются в овалы

Нетерми­наль­ные символы — в прямоугольники.

Направление движения вдоль диаграм­мы (обхода) указы­вают стрелки, соединяющие объекты.

Описание языка программирования на языке синтаксических диаграмм представляет собой набор диаграмм, каждая из которых определяет одно из понятий языка.

В синтаксически правильной программе все ее объекты удов­летворяют соответствующим диаграммам.

Синтаксические диаграммы использовались автором языка Паскаль Н. Виртом при его описании.

В заключение приведем определение блока как на языке Бэкуса-Наура, так и на языке синтаксических диаграмм.

Алфавит языка

В языке используются:

Данные

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

В языке Паскаль представляются числа и строки.

Целые числа записываются в десятичной системе счисления: 137, -56, +26.

Вещественные числа используют также десятичную нотацию, причем целая часть отделяется от дробной не запятой, а точкой. Для обозначения порядка числа в качестве разделителя используется буква Е. Например, -5.1Е14 означает -5.1, умноженное на 10 в степени 14 (-5,1*10 14 ). Степени чисел могут быть и отрицательными: 6.74Е-8, -56.89Е-10.

Последовательности символов, заключенные в одиночные кавычки, называются строками. Если в строку нужно включить кавычку, то вместо нее записывают две кавычки:

‘ строка из символов ‘, ‘ апостроф ‘’ в слове ‘

Имена

Именем в языке называется последовательность (латинских) букв, знака подчеркивания ‘_’ и цифр, начинающаяся с буквы либо со знака подчеркивания. Хотя имена могут быть сколь угодно длинными, в реализации количество значащих символов в имени может быть ограничено. В стандарте языка имена различаются по первым восьми символам.

Это означает, что имена VeryLongNumber, VeryLongCardinal в стандарте языка обозначают (именуют) один и тот же объект. Кроме того, язык не различает больших и маленьких букв. Поэтому имена Sin, SIN, sin неразличимы.

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

Pi, Сonstant — имена констант; x, y1, y2, Counter — имена переменных;

Integral, MaxMin — имена процедур; Man, Color, WeekDay — имена типов;

Некоторые имена предопределены заранее. Например:

Sin — имя для обозначения функции синус; Read — имя для обозначения процедуры чтения;

Они называются стандартными. Все другие имена выбираются программистом по его усмотрению. Однако в целях улучшения читаемости программы рекомендуется выбирать имена, несущие информацию о поименованном объекте.

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

Структура программы

Рис.1

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

Основная задача программирования

Основная задача программирования – комплексная задача проектирования системы решения задачи обработки информации.

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

Современные представления о технологиях программирования ушли далеко вперед от простого описания алгоритма на конкретном ЯП.

Прокрутить вверх

Живите по правилу: МАЛО ЛИ ЧТО НА СВЕТЕ СУЩЕСТВУЕТ? Я неслучайно подчеркиваю, что место в голове ограничено, а информации вокруг много, и что ваше право.

ЧТО ПРОИСХОДИТ, КОГДА МЫ ССОРИМСЯ Не понимая различий, существующих между мужчинами и женщинами, очень легко довести дело до ссоры.

Что делать, если нет взаимности? А теперь спустимся с небес на землю. Приземлились? Продолжаем разговор.

Система охраняемых территорий в США Изучение особо охраняемых природных территорий(ООПТ) США представляет особый интерес по многим причинам.

Читайте также:
Как открыть открытые программы на Андроид

Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:

Источник: zdamsam.ru

Задания для самостоятельного выполнения

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

  1. Если усложнить схему устройства, то возрастает его производительность, а если использовать новую элементную базу, то увеличится период эксплуатации. Устройство начнут хорошо раскупать только при одновременном росте его производительности и периода эксплуатации. Но устройство не пользуется спросом.
  2. Увеличение денег в обращении влечёт за собой инфляцию. Но рост денежной массы происходит по двум причинам: из-за денежной эмиссии или снижения товарооборота. Снижение товарооборота приводит к безработице и спаду производства. Из-за инфляции падает курс денежной единицы. Рекомендации экономиста Иванова: увеличить денежную эмиссию и поднять производство, тогда избежим безработицы, и курс денежной единицы останется неизменным.
  3. Любой марксист-диалектик, но не всякий диалектик-марксист. Любой марксист-материалист, но не всякий материалист-марксист. Гегель был диалектик, но не материалист. Фейербах был материалист, но не диалектик. Итак, если бы Гегель и Фейербах могли объединиться в один кружок, то Маркс уже не понадобился бы.
  4. Существуют две теории возникновения человека на земле — теория эволюции Дарвина и теория сотворения человека Господом Богом. Если справедлива теория эволюции, то самопроизвольное возникновение человека без соответствующих превращений живых организмов невозможно. Как доказали учёные, такие превращения действительно имели место. По теории же сотворения человек был слеплен из простой глины, а жизнь в него вдохнул господь. Глины всегда было много, а на счёт дыхания Бога тоже сомневаться не приходиться, поскольку есть на то свидетельство Библии. Отсюда вывод – две названные теории друг другу не противоречат.
  5. Из утверждения ”два плюс два равно пяти” следует, что я и папа римский — одно и то же лицо. В самом деле, если от обеих частей указанного равенства отнять по двойке, то будет справедливо равенство ”два равно трём”. Если от обеих частей нового равенства отнять по единице, то будет справедливо равенство — “один равен двум”. Один — это я, а двойка — это я и папа римский. Поскольку верно, что ”один равен двум”, то я есть папа римский.
  6. Сегодня посмотрю футбол, если трамвай не задержится. Трамвай не опоздал, но случилась другая беда: у меня не оказалось денег на билет. Рискну доехать «зайцем». В салоне оказался контролер, и я лихорадочно стал рыться по карманам. К моему счастью, нашелся один неиспользованный трамвайный талон. До компостера я добрался вовремя, хотя футбольный матч я так и не увидел: вместе с деньгами я дома оставил и билет на матч.
  7. Если в оном месте что-то убудет, то в другом месте что-то прибудет – это истина, не требующая доказательства. Но есть такая теория, которая утверждает: где-то в далеком космосе существуют «черные дыры», куда все проваливается, но оттуда ничего не появляется. Эта теория ничего не говорит о существовании «белых дыр», которые действовали бы противоположно «черным». Один иностранный астрономический журнал сообщил координаты «черной дыры». Российский астроном Иванов направил туда мощный телескоп и ничего не обнаружил. «Так-так, — сказал Иванов, — но «белую дыру» я все же открою».
  8. Если в цепи будет большой перепад напряжения, то сгорит предохранитель, что повлечет за собой необходимость его замены. При целом предохранителе телевизор, конечно, будет работать, но только если он включен в сеть питания. Если телевизор работает нормально, то я увижу сегодняшние «Новости». Итак, я смотрю телевизионные «Новости» при условии отсутствия перепада напряжения и подключения телевизора к сети питания.
  9. Уменьшение температуры приводит к снижению давления и уменьшению объема. Увеличение объема приводит к росту скорости потока. Повышение давления приводит к падению уровня, если при этом уменьшать температуру. Снижение скорости приводит к уменьшению давления или росту температуры. Технолог Иванов рассудил так: «Мне надо повысить давление при одновременном снижении скорости потока, поэтому я должен увеличить объем и температуру».
  10. «Если знать язык программирования, то можно составить рабочую программу. Рабочую программу можно также получить при условии наличия знакомого программиста. Овладеть языком программирования можно, обучаясь в институте. Если программа работает, то ее написал выпускник такого института. Но программа не работает. Это говорит о том, что желающий получить правильный результат не знает языка программирования и не имеет знакомых программистов».

21.05.2015 246.96 Кб 2 file_491352.rtf

Ограничение

Для продолжения скачивания необходимо пройти капчу:

Источник: studfile.net

Для выполнения каких задач какой язык программирования подходит?

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

  • Вопрос задан более трёх лет назад
  • 4611 просмотров
Читайте также:
Программа для обновления самсунга через ПК

Комментировать
Решения вопроса 1

Jump

Системный администратор со стажем.

каждый язык сделан под свою группу задач

так и есть.

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

Это так, но с некоторыми оговорками.

Компьютер понимает один язык — машинные коды.
Человеку этот язык крайне неудобен поэтому для удобства делаются языки более-менее понятные человеку после чего программа переводится в машинный код понятный компьютеру.

Например самый низкоуровневый — ассемблер.
Минимум абстракции близок к машинным кодам — язык очень гибкий и сделать на нем можно что угодно, но написать на нем обычный текстовый редактор вроде блокнота — это куча кода и месяцы работы.
Или взять C довольно низкоуровневый язык, позволяет что угодно, но тоже объемный проект очень долго писать, хотя конечно на порядок быстрее чем на ассемблере. Можно написать драйвер на нем.
А вот всякие C#, пайтон — это уже языки более высокого уровня — писать гораздо быстрее, не надо думать о выделении памяти, и вообще пофиг что там и как под капотом. Десяток строк кода и у вас уже работает нейросеть. Но драйвер для устройства на них уже не получится написать.

Ну и есть специализации — например php это язык для серверного бэкэнда для этого он разрабатывался и неплохо себя в этом показывает. Написать на нем обычное десктопное приложение затруднительно, хотя и можно, но это будет набор костылей.
Пайтон — универсальный, подходит для написания бэкэнда, для скриптов администратора, для научных расчетов, на нем можно и десктопные приложения писать.
C# заточен для работы в майкрософтовской инфраструктуре — если нужно написать десктопное приложение идеальный язык.
Java — корпоративный язык.
JS — скрипты администратора, фронтэнд.

Ответ написан более трёх лет назад
Нравится 4 5 комментариев

Adamos

C# заточен для работы в майкрософтовской инфраструктуре — если нужно написать десктопное приложение идеальный язык.

Пропущено «исключительно под Окошки». Как только требуется что-то кроссплатформенное — большая часть достоинств Шарпа превращается в его же недостатки.

Jump

Adamos, Да верно. Именной под майкрософтовскую инфраструктуру. Шаг в сторону и увы.

А ещё пропущено, что есть такая штука как вкус и у каждого человека он разный. Ruby, python и php одинаково хороши и не имеют на деле определенных различий, просто кому что нравится, тот это и использует. Для меня вот допустим идеальный язык для написания десктопного приложения это js.

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

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

mashletov

Adamos, по-моему, когда выбирают C#, речь о кросслатформенности не идет

Adamos

Anton Mashletov, к сожалению, идет — сейчас M$ натужно тянет Core под Линукс. Очевидно, понимая, что на серверном поле Винды уже лишние.
Ну, и Xamarin все-таки используют.

Ответы на вопрос 3

angrySCV

machine learning, programming, startuping

bash, sql, html, mathLab — языки заточенные под определенные задачи, мало подходящие для других задач.
Популярные языки типа python, js, java, scala, с++ -> подходят для любых задач (но с определенными сложностями, необходимы библиотеки, обертки, нужно писать много лишнего кода)

вот например в баше чтоб получить список файлов — нужно ввести ls
чтоб сделать тоже самое на JAVA — необходимо целую программу написать, строк на 10), потом ее скомпилировать, а потом запусить джава машину и передать ей этот код. Довольно геморройное занятие для такой задачи.
—-
но нужно понимать что в томже баше простота для простых задач (типа обработки файлов и текстов), выливается чудовищную сложность для более сложных задач.
П. С.
если работаешь только с одним типом задач — то тебе выгодно использовать заточенный под эту задачу язык.
Если работаешь большим количеством разнообразных задач в разных сферах, то лучше освоить и использовать один инструмент (язык) общего назначения но на высоком уровне — чем 10 специализированных инструментов на посредственном уровне.
Я например на scala — пишу фронтэнд, бэкенд, работаю с БД, пишу скрипты вместо баша, создаю быстрые наброски прототипы (вместо питона), и запускаю теже самые прототипы в продакшен где требуется высокая производительность и многопоточная обработка данных.
Нигде не касаюсь вообще никаких других языков.

Источник: qna.habr.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru